All functions:
  Elements:
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:43,1
    - Dst: fopen
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:46,1
    - Dst: printf
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:48,1
    - Dst: fseek
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:51,1
    - Dst: ftell
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:52,1
    - Dst: fseek
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:55,1
    - Dst: calloc
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:58,1
    - Dst: fread
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:61,1
    - Dst: printf
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:62,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:65,1
    - Dst: printf
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:67,1
    - Dst: free
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:70,1
    - Dst: fprintf
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:75,1
    - Dst: fclose
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:82,1
    - Dst: fprintf
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:88,1
    - Dst: printf
      Src: /src/curl_fuzzer/standalone_fuzz_target_runner.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/curl_fuzzer/standalone_fuzz_target_runner.cc
    functionUses: 0
    functionsReached:
    - fclose
    - calloc
    - ftell
    - fopen
    - fread
    - free
    - fprintf
    - fseek
    - printf
    - LLVMFuzzerTestOneInput
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:49,1
    - Dst: printf
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:49,1
    - Dst: DEBUG
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:54,1
    - Dst: printf
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:54,1
    - Dst: DEBUG
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:61,1
    - Dst: printf
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:61,1
    - Dst: strnlen
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:65,1
    - Dst: DEBUG
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:67,1
    - Dst: printf
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:67,1
    - Dst: DEBUG
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:75,1
    - Dst: printf
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:75,1
    - Dst: strlen
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:85,1
    - Dst: DEBUG
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:86,1
    - Dst: printf
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:86,1
    - Dst: strlen
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:87,1
    - Dst: DEBUG
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:93,1
    - Dst: printf
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:93,1
    - Dst: DEBUG
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:94,1
    - Dst: printf
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:94,1
    - Dst: Curl_fnmatch
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:97,1
    - Dst: DEBUG
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:100,1
    - Dst: printf
      Src: /src/curl_fuzzer/fuzz_fnmatch.cc:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 105
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/curl_fuzzer/fuzz_fnmatch.cc
    functionUses: 1
    functionsReached:
    - strnlen
    - strlen
    - DEBUG
    - Curl_fnmatch
    - printf
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - verbose
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: FV_PRINTF
    functionSourceFile: /src/curl_fuzzer/fuzz_bufq.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FV_PRINTF(verbose, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FUNC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: FTRY
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTRY(FUNC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COND
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: FCHECK
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCHECK(COND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FUZZP
    - ','
    - OPTNAME
    - ','
    - OPTVALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: FSET_OPTION
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSET_OPTION(FUZZP, OPTNAME, OPTVALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FUZZP
    - ','
    - OPTNAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: FCHECK_OPTION_UNSET
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCHECK_OPTION_UNSET(FUZZP, OPTNAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FUZZP
    - ','
    - TLVNAME
    - ','
    - OPTNAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: FSINGLETONTLV
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSINGLETONTLV(FUZZP, TLVNAME, OPTNAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SMAN
    - ','
    - TLVNAME
    - ','
    - INDEX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: FRESPONSETLV
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FRESPONSETLV(SMAN, TLVNAME, INDEX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FUZZP
    - ','
    - TLVNAME
    - ','
    - OPTNAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 528
    functionName: FU32TLV
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FU32TLV(FUZZP, TLVNAME, OPTNAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FUZZP
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: FV_PRINTF
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FV_PRINTF(FUZZP, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    functionName: FUZZ_MAX
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUZZ_MAX(A, B)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/curl_fuzzer/curl_fuzzer.cc:42,1
    - Dst: memset
      Src: /src/curl_fuzzer/curl_fuzzer.cc:45,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:53,1
    - Dst: fuzz_initialize_fuzz_data
      Src: /src/curl_fuzzer/curl_fuzzer.cc:53,1
    - Dst: fuzz_get_first_tlv
      Src: /src/curl_fuzzer/curl_fuzzer.cc:55,1
    - Dst: fuzz_get_next_tlv
      Src: /src/curl_fuzzer/curl_fuzzer.cc:57,1
    - Dst: fuzz_parse_tlv
      Src: /src/curl_fuzzer/curl_fuzzer.cc:60,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:74,1
    - Dst: fuzz_set_easy_options
      Src: /src/curl_fuzzer/curl_fuzzer.cc:74,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:85,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:89,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:93,1
    - Dst: fuzz_handle_transfer
      Src: /src/curl_fuzzer/curl_fuzzer.cc:97,1
    - Dst: fuzz_terminate_fuzz_data
      Src: /src/curl_fuzzer/curl_fuzzer.cc:101,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 105
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 1
    functionsReached:
    - fuzz_get_first_tlv
    - FTRY
    - fuzz_parse_tlv
    - fuzz_terminate_fuzz_data
    - fuzz_handle_transfer
    - fuzz_get_next_tlv
    - memset
    - fuzz_initialize_fuzz_data
    - curl_easy_setopt
    - signal
    - fuzz_set_easy_options
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: to_u32
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t to_u32(const uint8_t b[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: to_u16
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t to_u16(const uint8_t b[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl_fuzzer/curl_fuzzer.cc:138,1
    - Dst: curl_easy_init
      Src: /src/curl_fuzzer/curl_fuzzer.cc:142,1
    - Dst: FCHECK
      Src: /src/curl_fuzzer/curl_fuzzer.cc:143,1
    - Dst: getenv
      Src: /src/curl_fuzzer/curl_fuzzer.cc:156,1
    - Dst: FCHECK
      Src: /src/curl_fuzzer/curl_fuzzer.cc:158,1
    - Dst: setenv
      Src: /src/curl_fuzzer/curl_fuzzer.cc:158,1
    - Dst: FCHECK
      Src: /src/curl_fuzzer/curl_fuzzer.cc:159,1
    - Dst: setenv
      Src: /src/curl_fuzzer/curl_fuzzer.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - fuzz
    - data
    - data_len
    argTypes:
    - FUZZ_DATA*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: fuzz_initialize_fuzz_data
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 1
    functionsReached:
    - getenv
    - FCHECK
    - setenv
    - memset
    - curl_easy_init
    linkageType: ''
    returnType: int
    signature: "int fuzz_initialize_fuzz_data(FUZZ_DATA *fuzz,\n                              const
      uint8_t *data,\n                              size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:176,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:176,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:179,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:179,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:182,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:182,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:187,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:187,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:190,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:190,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:193,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:193,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:196,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:196,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:199,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:199,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:202,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:202,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:205,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:205,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:208,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:208,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:211,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:211,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:214,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:214,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:217,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:217,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:218,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:218,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:222,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:222,1
    - Dst: curl_slist_append
      Src: /src/curl_fuzzer/curl_fuzzer.cc:226,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:227,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:227,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:230,1
    - Dst: fuzz_set_allowed_protocols
      Src: /src/curl_fuzzer/curl_fuzzer.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - fuzz
    argTypes:
    - FUZZ_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 235
    functionName: fuzz_set_easy_options
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 1
    functionsReached:
    - curl_slist_append
    - curl_easy_setopt
    - fuzz_set_allowed_protocols
    - FTRY
    linkageType: ''
    returnType: int
    signature: int fuzz_set_easy_options(FUZZ_DATA *fuzz)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_free
      Src: /src/curl_fuzzer/curl_fuzzer.cc:244,1
    - Dst: close
      Src: /src/curl_fuzzer/curl_fuzzer.cc:248,1
    - Dst: curl_slist_free_all
      Src: /src/curl_fuzzer/curl_fuzzer.cc:254,1
    - Dst: curl_slist_free_all
      Src: /src/curl_fuzzer/curl_fuzzer.cc:259,1
    - Dst: curl_slist_free_all
      Src: /src/curl_fuzzer/curl_fuzzer.cc:264,1
    - Dst: curl_mime_free
      Src: /src/curl_fuzzer/curl_fuzzer.cc:269,1
    - Dst: curl_easy_cleanup
      Src: /src/curl_fuzzer/curl_fuzzer.cc:274,1
    - Dst: curl_formfree
      Src: /src/curl_fuzzer/curl_fuzzer.cc:283,1
    - Dst: fuzz_free
      Src: /src/curl_fuzzer/curl_fuzzer.cc:289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - fuzz
    argTypes:
    - FUZZ_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 291
    functionName: fuzz_terminate_fuzz_data
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 1
    functionsReached:
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_formfree
    - curl_mime_free
    - close
    - fuzz_free
    linkageType: ''
    returnType: void
    signature: void fuzz_terminate_fuzz_data(FUZZ_DATA *fuzz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl_fuzzer/curl_fuzzer.cc:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: fuzz_free
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fuzz_free(void **ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_init
      Src: /src/curl_fuzzer/curl_fuzzer.cc:335,1
    - Dst: curl_multi_add_handle
      Src: /src/curl_fuzzer/curl_fuzzer.cc:338,1
    - Dst: curl_multi_perform
      Src: /src/curl_fuzzer/curl_fuzzer.cc:341,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer.cc:342,1
    - Dst: FD_ZERO
      Src: /src/curl_fuzzer/curl_fuzzer.cc:348,1
    - Dst: FD_ZERO
      Src: /src/curl_fuzzer/curl_fuzzer.cc:349,1
    - Dst: FD_ZERO
      Src: /src/curl_fuzzer/curl_fuzzer.cc:350,1
    - Dst: curl_multi_fdset
      Src: /src/curl_fuzzer/curl_fuzzer.cc:359,1
    - Dst: fprintf
      Src: /src/curl_fuzzer/curl_fuzzer.cc:361,1
    - Dst: FD_SET
      Src: /src/curl_fuzzer/curl_fuzzer.cc:369,1
    - Dst: FUZZ_MAX
      Src: /src/curl_fuzzer/curl_fuzzer.cc:373,1
    - Dst: fuzz_select
      Src: /src/curl_fuzzer/curl_fuzzer.cc:378,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer.cc:382,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer.cc:386,1
    - Dst: FD_ISSET
      Src: /src/curl_fuzzer/curl_fuzzer.cc:410,1
    - Dst: fuzz_send_next_response
      Src: /src/curl_fuzzer/curl_fuzzer.cc:411,1
    - Dst: curl_multi_perform
      Src: /src/curl_fuzzer/curl_fuzzer.cc:419,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl_fuzzer/curl_fuzzer.cc:423,1
    - Dst: curl_multi_cleanup
      Src: /src/curl_fuzzer/curl_fuzzer.cc:427,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 1
    argNames:
    - fuzz
    argTypes:
    - FUZZ_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 430
    functionName: fuzz_handle_transfer
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_multi_remove_handle
    - FD_SET
    - FD_ZERO
    - FV_PRINTF
    - fuzz_select
    - fprintf
    - curl_multi_cleanup
    - FD_ISSET
    - fuzz_send_next_response
    - FUZZ_MAX
    - curl_multi_add_handle
    - curl_multi_init
    - curl_multi_fdset
    linkageType: ''
    returnType: int
    signature: int fuzz_handle_transfer(FUZZ_DATA *fuzz)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/curl_fuzzer/curl_fuzzer.cc:448,1
    - Dst: printf
      Src: /src/curl_fuzzer/curl_fuzzer.cc:450,1
    - Dst: fwrite
      Src: /src/curl_fuzzer/curl_fuzzer.cc:451,1
    - Dst: printf
      Src: /src/curl_fuzzer/curl_fuzzer.cc:452,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer.cc:457,1
    - Dst: write
      Src: /src/curl_fuzzer/curl_fuzzer.cc:465,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer.cc:478,1
    - Dst: shutdown
      Src: /src/curl_fuzzer/curl_fuzzer.cc:482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - fuzz
    - sman
    argTypes:
    - FUZZ_DATA*
    - FUZZ_SOCKET_MANAGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 487
    functionName: fuzz_send_next_response
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 1
    functionsReached:
    - write
    - fwrite
    - read
    - FV_PRINTF
    - shutdown
    - printf
    linkageType: ''
    returnType: int
    signature: int fuzz_send_next_response(FUZZ_DATA *fuzz, FUZZ_SOCKET_MANAGER *sman)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select
      Src: /src/curl_fuzzer/curl_fuzzer.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - nfds
    - readfds
    - writefds
    - exceptfds
    - timeout
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: fuzz_select
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 1
    functionsReached:
    - select
    linkageType: ''
    returnType: int
    signature: "int fuzz_select(int nfds,\n                fd_set *readfds,\n                fd_set
      *writefds,\n                fd_set *exceptfds,\n                struct timeval
      *timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:576,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:576,1
    - Dst: FTRY
      Src: /src/curl_fuzzer/curl_fuzzer.cc:579,1
    - Dst: curl_easy_setopt
      Src: /src/curl_fuzzer/curl_fuzzer.cc:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - fuzz
    argTypes:
    - FUZZ_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 584
    functionName: fuzz_set_allowed_protocols
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer.cc
    functionUses: 1
    functionsReached:
    - curl_easy_setopt
    - FTRY
    linkageType: ''
    returnType: int
    signature: int fuzz_set_allowed_protocols(FUZZ_DATA *fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: FUZZ_VALID_SOCK
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_callback.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUZZ_VALID_SOCK(s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:65,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:68,1
    - Dst: socketpair
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:72,1
    - Dst: FUZZ_VALID_SOCK
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:77,1
    - Dst: FUZZ_VALID_SOCK
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:77,1
    - Dst: printf
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:81,1
    - Dst: close
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:88,1
    - Dst: close
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:89,1
    - Dst: fcntl
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:95,1
    - Dst: fcntl
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:96,1
    - Dst: close
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:100,1
    - Dst: close
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:101,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:117,1
    - Dst: write
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:119,1
    - Dst: close
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:121,1
    - Dst: close
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:124,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:133,1
    - Dst: shutdown
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - ptr
    - purpose
    - address
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 143
    functionName: fuzz_open_socket
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_callback.cc
    functionUses: 0
    functionsReached:
    - fcntl
    - write
    - FUZZ_VALID_SOCK
    - FV_PRINTF
    - shutdown
    - printf
    - socketpair
    - close
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t fuzz_open_socket(void *ptr,\n                               curlsocktype
      purpose,\n                               struct curl_sockaddr *address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: fuzz_sockopt_callback
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_callback.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzz_sockopt_callback(void *ptr,\n                          curl_socket_t
      curlfd,\n                          curlsocktype purpose)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:187,1
    - Dst: memcpy
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - ptr
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 202
    functionName: fuzz_read_callback
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_callback.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - FV_PRINTF
    linkageType: ''
    returnType: size_t
    signature: "size_t fuzz_read_callback(char *buffer,\n                          size_t
      size,\n                          size_t nitems,\n                          void
      *ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:223,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_callback.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - ptr
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 237
    functionName: fuzz_write_callback
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_callback.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - FV_PRINTF
    linkageType: ''
    returnType: size_t
    signature: "size_t fuzz_write_callback(void *contents,\n                           size_t
      size,\n                           size_t nmemb,\n                           void
      *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/curl_fuzzer/fuzz_bufq.cc:47,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:48,1
    - Dst: mprotect
      Src: /src/curl_fuzzer/fuzz_bufq.cc:56,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (buf != (unsigned char *)-1)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (err == 0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: allocate_template_buffer
    functionSourceFile: /src/curl_fuzzer/fuzz_bufq.cc
    functionUses: 0
    functionsReached:
    - mmap
    - mprotect
    - assert
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *allocate_template_buffer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - next_byte
    - buf
    argTypes:
    - unsigned char
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: compute_buffer
    functionSourceFile: /src/curl_fuzzer/fuzz_bufq.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *compute_buffer(unsigned char next_byte, unsigned char
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:89,1
    - Dst: compute_buffer
      Src: /src/curl_fuzzer/fuzz_bufq.cc:93,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:94,1
    - Dst: memcmp
      Src: /src/curl_fuzzer/fuzz_bufq.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - writer_ctx
    - buf
    - len
    - pnwritten
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts:
    - condition: (memcmp(buf, compare, *pnwritten) == 0)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: bufq_writer_cb
    functionSourceFile: /src/curl_fuzzer/fuzz_bufq.cc
    functionUses: 0
    functionsReached:
    - compute_buffer
    - assert
    - FV_PRINTF
    - memcmp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bufq_writer_cb(void *writer_ctx,\n                       const
      unsigned char *buf, size_t len,\n                       size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:121,1
    - Dst: compute_buffer
      Src: /src/curl_fuzzer/fuzz_bufq.cc:125,1
    - Dst: memcpy
      Src: /src/curl_fuzzer/fuzz_bufq.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - reader_ctx
    - buf
    - len
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: bufq_reader_cb
    functionSourceFile: /src/curl_fuzzer/fuzz_bufq.cc
    functionUses: 0
    functionsReached:
    - memcpy
    - compute_buffer
    - FV_PRINTF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bufq_reader_cb(void *reader_ctx,\n                              unsigned
      char *buf, size_t len,\n                              size_t *pnread)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl_fuzzer/fuzz_bufq.cc:138,1
    - Dst: allocate_template_buffer
      Src: /src/curl_fuzzer/fuzz_bufq.cc:139,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:145,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:146,1
    - Dst: FuzzedDataProvider*::ConsumeBool
      Src: /src/curl_fuzzer/fuzz_bufq.cc:147,1
    - Dst: FuzzedDataProvider*::ConsumeBool
      Src: /src/curl_fuzzer/fuzz_bufq.cc:148,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:149,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:151,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:154,1
    - Dst: Curl_bufcp_init
      Src: /src/curl_fuzzer/fuzz_bufq.cc:155,1
    - Dst: Curl_bufq_initp
      Src: /src/curl_fuzzer/fuzz_bufq.cc:156,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:158,1
    - Dst: Curl_bufq_init
      Src: /src/curl_fuzzer/fuzz_bufq.cc:159,1
    - Dst: FuzzedDataProvider*::remaining_bytes
      Src: /src/curl_fuzzer/fuzz_bufq.cc:165,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:167,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:169,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl_fuzzer/fuzz_bufq.cc:169,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:170,1
    - Dst: Curl_bufq_len
      Src: /src/curl_fuzzer/fuzz_bufq.cc:170,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:174,1
    - Dst: Curl_bufq_reset
      Src: /src/curl_fuzzer/fuzz_bufq.cc:175,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:182,1
    - Dst: Curl_bufq_peek
      Src: /src/curl_fuzzer/fuzz_bufq.cc:185,1
    - Dst: compute_buffer
      Src: /src/curl_fuzzer/fuzz_bufq.cc:187,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:188,1
    - Dst: memcmp
      Src: /src/curl_fuzzer/fuzz_bufq.cc:188,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:190,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:196,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:197,1
    - Dst: Curl_bufq_peek_at
      Src: /src/curl_fuzzer/fuzz_bufq.cc:200,1
    - Dst: compute_buffer
      Src: /src/curl_fuzzer/fuzz_bufq.cc:202,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:203,1
    - Dst: memcmp
      Src: /src/curl_fuzzer/fuzz_bufq.cc:203,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:205,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:211,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:212,1
    - Dst: malloc
      Src: /src/curl_fuzzer/fuzz_bufq.cc:213,1
    - Dst: Curl_bufq_read
      Src: /src/curl_fuzzer/fuzz_bufq.cc:215,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:217,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:219,1
    - Dst: compute_buffer
      Src: /src/curl_fuzzer/fuzz_bufq.cc:220,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:222,1
    - Dst: memcmp
      Src: /src/curl_fuzzer/fuzz_bufq.cc:222,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:224,1
    - Dst: free
      Src: /src/curl_fuzzer/fuzz_bufq.cc:226,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:231,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:232,1
    - Dst: Curl_bufq_slurp
      Src: /src/curl_fuzzer/fuzz_bufq.cc:235,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:237,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:240,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:244,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:250,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:251,1
    - Dst: Curl_bufq_sipn
      Src: /src/curl_fuzzer/fuzz_bufq.cc:254,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:256,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:258,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:261,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:267,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:268,1
    - Dst: Curl_bufq_pass
      Src: /src/curl_fuzzer/fuzz_bufq.cc:271,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:273,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:276,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:280,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:286,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:287,1
    - Dst: Curl_bufq_skip
      Src: /src/curl_fuzzer/fuzz_bufq.cc:288,1
    - Dst: FuzzedDataProvider*::ConsumeIntegralInRange
      Src: /src/curl_fuzzer/fuzz_bufq.cc:296,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:297,1
    - Dst: compute_buffer
      Src: /src/curl_fuzzer/fuzz_bufq.cc:298,1
    - Dst: Curl_bufq_write
      Src: /src/curl_fuzzer/fuzz_bufq.cc:300,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:302,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:305,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/fuzz_bufq.cc:307,1
    - Dst: assert
      Src: /src/curl_fuzzer/fuzz_bufq.cc:314,1
    - Dst: Curl_bufq_free
      Src: /src/curl_fuzzer/fuzz_bufq.cc:319,1
    - Dst: Curl_bufcp_free
      Src: /src/curl_fuzzer/fuzz_bufq.cc:322,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 120
    argCount: 1
    argNames:
    - fuzz
    argTypes:
    - FuzzedDataProvider*
    assertStmts:
    - condition: (Curl_bufq_len(&q) == buffer_bytes)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (buffer_bytes >= 0)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (buffer_bytes >= 0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (buffer_bytes <= chunk_size * max_chunks)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (buffer_bytes <= chunk_size * max_chunks)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (memcmp(pbuf, compare, plen) == 0)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (false)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (Curl_bufq_is_empty(&q) == !buffer_bytes)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (memcmp(pbuf, compare, plen) == 0)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (memcmp(buf, compare, read) == 0)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - condition: (buffer_bytes <= chunk_size * max_chunks)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    constantsTouched: []
    func_position:
      end: 326
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 326
    functionName: fuzz_handle_bufq
    functionSourceFile: /src/curl_fuzzer/fuzz_bufq.cc
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider*::ConsumeBool
    - getenv
    - Curl_bufq_len
    - Curl_bufq_slurp
    - Curl_bufcp_free
    - compute_buffer
    - Curl_bufq_reset
    - FuzzedDataProvider*::remaining_bytes
    - Curl_bufq_pass
    - Curl_bufq_is_empty
    - Curl_bufq_init
    - Curl_bufq_read
    - Curl_bufq_skip
    - Curl_bufq_peek_at
    - Curl_bufcp_init
    - Curl_bufq_sipn
    - FV_PRINTF
    - Curl_bufq_write
    - free
    - assert
    - FuzzedDataProvider*::ConsumeIntegralInRange
    - Curl_bufq_free
    - malloc
    - Curl_bufq_initp
    - allocate_template_buffer
    - memcmp
    - Curl_bufq_peek
    linkageType: ''
    returnType: int
    signature: int fuzz_handle_bufq(FuzzedDataProvider *fuzz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/curl_fuzzer/fuzz_bufq.cc:338,1
    - Dst: fuzz_handle_bufq
      Src: /src/curl_fuzzer/fuzz_bufq.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/curl_fuzzer/fuzz_bufq.cc
    functionUses: 1
    functionsReached:
    - signal
    - fuzz_handle_bufq
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl_fuzzer/fuzz_url.cc:38,1
    - Dst: malloc
      Src: /src/curl_fuzzer/fuzz_url.cc:42,1
    - Dst: memcpy
      Src: /src/curl_fuzzer/fuzz_url.cc:44,1
    - Dst: curl_url_set
      Src: /src/curl_fuzzer/fuzz_url.cc:47,1
    - Dst: free
      Src: /src/curl_fuzzer/fuzz_url.cc:48,1
    - Dst: curl_url_cleanup
      Src: /src/curl_fuzzer/fuzz_url.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/curl_fuzzer/fuzz_url.cc
    functionUses: 1
    functionsReached:
    - curl_url_set
    - malloc
    - curl_url
    - memcpy
    - free
    - curl_url_cleanup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_get_tlv_comn
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fuzz
    - tlv
    argTypes:
    - FUZZ_DATA*
    - TLV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: fuzz_get_first_tlv
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_tlv.cc
    functionUses: 1
    functionsReached:
    - fuzz_get_tlv_comn
    linkageType: ''
    returnType: int
    signature: "int fuzz_get_first_tlv(FUZZ_DATA *fuzz,\n                       TLV
      *tlv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_get_tlv_comn
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fuzz
    - tlv
    argTypes:
    - FUZZ_DATA*
    - TLV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: fuzz_get_next_tlv
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_tlv.cc
    functionUses: 1
    functionsReached:
    - fuzz_get_tlv_comn
    linkageType: ''
    returnType: int
    signature: "int fuzz_get_next_tlv(FUZZ_DATA *fuzz,\n                      TLV
      *tlv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: to_u16
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:71,1
    - Dst: to_u32
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:72,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:75,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:83,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:84,1
    - Dst: FV_PRINTF
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - fuzz
    - tlv
    argTypes:
    - FUZZ_DATA*
    - TLV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 93
    functionName: fuzz_get_tlv_comn
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_tlv.cc
    functionUses: 2
    functionsReached:
    - to_u16
    - to_u32
    - FV_PRINTF
    linkageType: ''
    returnType: int
    signature: "int fuzz_get_tlv_comn(FUZZ_DATA *fuzz,\n                      TLV
      *tlv)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:108,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:109,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:110,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:111,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:112,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:113,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:114,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:115,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:116,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:117,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:118,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:120,1
    - Dst: FRESPONSETLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:121,1
    - Dst: FCHECK_OPTION_UNSET
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:127,1
    - Dst: FSET_OPTION
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:132,1
    - Dst: FSET_OPTION
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:133,1
    - Dst: fuzz_tlv_to_string
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:146,1
    - Dst: curl_slist_append
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:151,1
    - Dst: fuzz_tlv_to_string
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:166,1
    - Dst: curl_slist_append
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:171,1
    - Dst: curl_mime_init
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:180,1
    - Dst: curl_mime_addpart
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:183,1
    - Dst: fuzz_add_mime_part
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:186,1
    - Dst: FCHECK_OPTION_UNSET
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:191,1
    - Dst: fuzz_tlv_to_string
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:192,1
    - Dst: FSET_OPTION
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:193,1
    - Dst: FCHECK_OPTION_UNSET
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:197,1
    - Dst: fuzz_setup_http_post
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:198,1
    - Dst: FSET_OPTION
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:199,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:203,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:204,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:205,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:206,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:207,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:208,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:209,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:210,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:211,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:212,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:213,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:214,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:215,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:216,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:217,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:218,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:219,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:220,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:221,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:222,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:223,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:224,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:225,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:226,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:227,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:229,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:230,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:231,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:232,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:233,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:234,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:235,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:236,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:237,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:238,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:239,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:240,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:241,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:242,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:243,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:244,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:245,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:246,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:247,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:248,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:249,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:250,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:251,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:252,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:253,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:254,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:255,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:256,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:257,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:258,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:259,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:260,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:261,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:262,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:263,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:264,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:265,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:266,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:267,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:268,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:269,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:270,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:271,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:272,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:273,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:274,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:275,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:276,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:277,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:278,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:279,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:280,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:281,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:282,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:283,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:284,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:285,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:286,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:287,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:288,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:289,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:290,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:291,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:292,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:293,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:294,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:295,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:296,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:297,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:298,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:299,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:300,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:301,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:302,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:303,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:304,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:305,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:306,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:307,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:308,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:309,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:310,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:311,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:312,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:313,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:314,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:315,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:316,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:317,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:318,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:319,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:320,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:321,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:322,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:323,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:324,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:326,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:327,1
    - Dst: FU32TLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:328,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:332,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:333,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:334,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:335,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:336,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:337,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:338,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:339,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:340,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:341,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:342,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:343,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:344,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:345,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:346,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:347,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:348,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:349,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:350,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:351,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:352,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:353,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:354,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:355,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:356,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:357,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:358,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:359,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:360,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:361,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:362,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:363,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:364,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:365,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:366,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:367,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:368,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:369,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:370,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:371,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:372,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:373,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:374,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:375,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:376,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:377,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:378,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:379,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:380,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:381,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:382,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:383,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:384,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:385,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:386,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:387,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:388,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:389,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:390,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:391,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:392,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:393,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:394,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:395,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:396,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:397,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:398,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:399,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:400,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:401,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:402,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:403,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:404,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:405,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:406,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:407,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:408,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:409,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:410,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:411,1
    - Dst: FSINGLETONTLV
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:412,1
    - Dst: fuzz_free
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:425,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 288
    argCount: 2
    argNames:
    - fuzz
    - tlv
    argTypes:
    - FUZZ_DATA*
    - TLV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 428
    functionName: fuzz_parse_tlv
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_tlv.cc
    functionUses: 1
    functionsReached:
    - fuzz_tlv_to_string
    - curl_mime_init
    - FCHECK_OPTION_UNSET
    - curl_mime_addpart
    - FU32TLV
    - FSINGLETONTLV
    - FRESPONSETLV
    - curl_slist_append
    - fuzz_setup_http_post
    - FSET_OPTION
    - fuzz_add_mime_part
    - fuzz_free
    linkageType: ''
    returnType: int
    signature: int fuzz_parse_tlv(FUZZ_DATA *fuzz, TLV *tlv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:438,1
    - Dst: memcpy
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - TLV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 446
    functionName: fuzz_tlv_to_string
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_tlv.cc
    functionUses: 1
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: char *fuzz_tlv_to_string(TLV *tlv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_tlv_to_string
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:455,1
    - Dst: curl_formadd
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:464,1
    - Dst: strlen
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - fuzz
    - tlv
    argTypes:
    - FUZZ_DATA*
    - TLV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 475
    functionName: fuzz_setup_http_post
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_tlv.cc
    functionUses: 1
    functionsReached:
    - fuzz_tlv_to_string
    - curl_formadd
    - strlen
    linkageType: ''
    returnType: void
    signature: void fuzz_setup_http_post(FUZZ_DATA *fuzz, TLV *tlv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:487,1
    - Dst: fuzz_get_first_tlv
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:498,1
    - Dst: fuzz_get_next_tlv
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:500,1
    - Dst: fuzz_parse_mime_tlv
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - src_tlv
    - part
    argTypes:
    - TLV*
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 519
    functionName: fuzz_add_mime_part
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_tlv.cc
    functionUses: 1
    functionsReached:
    - fuzz_parse_mime_tlv
    - fuzz_get_first_tlv
    - fuzz_get_next_tlv
    - memset
    linkageType: ''
    returnType: int
    signature: int fuzz_add_mime_part(TLV *src_tlv, curl_mimepart *part)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_tlv_to_string
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:531,1
    - Dst: curl_mime_name
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:532,1
    - Dst: fuzz_free
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:533,1
    - Dst: curl_mime_data
      Src: /src/curl_fuzzer/curl_fuzzer_tlv.cc:537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - part
    - tlv
    argTypes:
    - curl_mimepart*
    - TLV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 553
    functionName: fuzz_parse_mime_tlv
    functionSourceFile: /src/curl_fuzzer/curl_fuzzer_tlv.cc
    functionUses: 1
    functionsReached:
    - fuzz_tlv_to_string
    - curl_mime_name
    - curl_mime_data
    - fuzz_free
    linkageType: ''
    returnType: int
    signature: int fuzz_parse_mime_tlv(curl_mimepart *part, TLV *tlv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/tests/cmake/test.c:31,1
    - Dst: curl_version
      Src: /src/curl/tests/cmake/test.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/curl/tests/cmake/test.c
    functionUses: 0
    functionsReached:
    - printf
    - curl_version
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_pool_userdata_get
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:67,1
    - Dst: apr_pool_userdata_set
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - p
    - plog
    - ptemp
    - s
    argTypes:
    - apr_pool_t*
    - apr_pool_t*
    - apr_pool_t*
    - server_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: curltest_post_config
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - apr_pool_userdata_set
    - apr_pool_userdata_get
    linkageType: ''
    returnType: int
    signature: "int curltest_post_config(apr_pool_t *p, apr_pool_t *plog,\n                                apr_pool_t
      *ptemp, server_rec *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ap_log_perror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:82,1
    - Dst: ap_hook_post_config
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:86,1
    - Dst: ap_hook_handler
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:89,1
    - Dst: ap_hook_handler
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:90,1
    - Dst: ap_hook_handler
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:91,1
    - Dst: ap_hook_handler
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:92,1
    - Dst: ap_hook_handler
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - apr_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: curltest_hooks
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_log_perror
    - ap_hook_handler
    - ap_hook_post_config
    linkageType: ''
    returnType: void
    signature: void curltest_hooks(apr_pool_t *pool)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtoi64
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:105,1
    - Dst: apr_time_from_sec
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:123,1
    - Dst: apr_time_from_sec
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:127,1
    - Dst: apr_time_from_sec
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:132,1
    - Dst: apr_time_from_sec
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:145,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 3
    argNames:
    - ptimeout
    - value
    - def_unit
    argTypes:
    - apr_interval_time_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 167
    functionName: duration_parse
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - apr_time_from_sec
    - apr_strtoi64
    linkageType: ''
    returnType: apr_status_t
    signature: "apr_status_t duration_parse(apr_interval_time_t *ptimeout,\n                                   const
      char *value, const char *def_unit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:171,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - pstatus
    argTypes:
    - char*
    - apr_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: status_from_str
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int status_from_str(const char *s, apr_status_t *pstatus)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:194,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:201,1
    - Dst: apr_cstr_split
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:205,1
    - Dst: APR_ARRAY_IDX
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:207,1
    - Dst: strchr
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:208,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:212,1
    - Dst: apr_atoi64
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:213,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:216,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:220,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:229,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:232,1
    - Dst: apr_table_set
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:241,1
    - Dst: apr_ltoa
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:242,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:247,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:250,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:251,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:252,1
    - Dst: apr_table_get
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:254,1
    - Dst: ap_set_content_type
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:255,1
    - Dst: apr_table_get
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:257,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:258,1
    - Dst: apr_table_get
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:259,1
    - Dst: apr_brigade_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:261,1
    - Dst: ap_setup_client_block
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:263,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:267,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:270,1
    - Dst: ap_should_client_block
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:274,1
    - Dst: ap_get_client_block
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:275,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:278,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:281,1
    - Dst: ap_remove_output_filter_byhandle
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:282,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:286,1
    - Dst: apr_brigade_write
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:288,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:291,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:294,1
    - Dst: apr_bucket_eos_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:299,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:300,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:301,1
    - Dst: apr_is_empty_table
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:303,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:304,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:306,1
    - Dst: apr_itoa
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:307,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:310,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:316,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:321,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 104
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 325
    functionName: curltest_echo_handler
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_pass_brigade
    - apr_cstr_split
    - apr_brigade_write
    - apr_bucket_eos_create
    - apr_ltoa
    - ap_setup_client_block
    - APR_BRIGADE_INSERT_TAIL
    - apr_atoi64
    - strchr
    - ap_get_client_block
    - ap_should_client_block
    - ap_log_rerror
    - apr_table_unset
    - apr_table_set
    - apr_itoa
    - apr_is_empty_table
    - strcmp
    - APR_ARRAY_IDX
    - apr_table_setn
    - ap_remove_output_filter_byhandle
    - ap_set_content_type
    - apr_brigade_create
    linkageType: ''
    returnType: int
    signature: int curltest_echo_handler(request_rec *r)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:344,1
    - Dst: apr_cstr_split
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:356,1
    - Dst: APR_ARRAY_IDX
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:358,1
    - Dst: strchr
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:359,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:363,1
    - Dst: apr_atoi64
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:364,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:369,1
    - Dst: apr_atoi64
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:370,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:375,1
    - Dst: apr_atoi64
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:376,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:379,1
    - Dst: ap_die
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:381,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:387,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:392,1
    - Dst: status_from_str
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:393,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:397,1
    - Dst: apr_atoi64
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:398,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:403,1
    - Dst: status_from_str
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:404,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:408,1
    - Dst: duration_parse
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:409,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:414,1
    - Dst: duration_parse
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:415,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:420,1
    - Dst: duration_parse
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:421,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:426,1
    - Dst: apr_atoi64
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:427,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:430,1
    - Dst: apr_atoi64
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:431,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:435,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:440,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:444,1
    - Dst: ap_die
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:447,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:452,1
    - Dst: HTTP_VERSION
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:456,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:457,1
    - Dst: apr_table_set
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:459,1
    - Dst: apr_ltoa
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:460,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:463,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:465,1
    - Dst: apr_palloc
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:469,1
    - Dst: memset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:470,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:473,1
    - Dst: apr_psprintf
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:474,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:478,1
    - Dst: apr_psprintf
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:479,1
    - Dst: apr_palloc
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:483,1
    - Dst: memset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:484,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:486,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:489,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:490,1
    - Dst: ap_set_content_type
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:491,1
    - Dst: apr_brigade_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:492,1
    - Dst: apr_sleep
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:495,1
    - Dst: ap_map_http_request_error
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:498,1
    - Dst: apr_bucket_flush_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:501,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:502,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:503,1
    - Dst: memset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:507,1
    - Dst: apr_sleep
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:510,1
    - Dst: apr_brigade_write
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:512,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:515,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:518,1
    - Dst: apr_bucket_eos_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:527,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:528,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:529,1
    - Dst: apr_brigade_cleanup
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:530,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:531,1
    - Dst: apr_bucket_flush_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:537,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:538,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:539,1
    - Dst: apr_brigade_cleanup
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:540,1
    - Dst: apr_sleep
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:541,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:545,1
    - Dst: ap_map_http_request_error
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:552,1
    - Dst: ap_bucket_error_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:553,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:554,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:557,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:558,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 192
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 561
    functionName: curltest_tweak_handler
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_pass_brigade
    - apr_cstr_split
    - apr_brigade_write
    - apr_bucket_eos_create
    - apr_ltoa
    - duration_parse
    - APR_BRIGADE_INSERT_TAIL
    - apr_brigade_cleanup
    - apr_bucket_flush_create
    - apr_atoi64
    - strchr
    - apr_sleep
    - apr_psprintf
    - ap_log_rerror
    - apr_table_unset
    - apr_table_set
    - strcmp
    - ap_die
    - APR_ARRAY_IDX
    - apr_table_setn
    - apr_palloc
    - ap_map_http_request_error
    - status_from_str
    - ap_set_content_type
    - apr_brigade_create
    - ap_bucket_error_create
    - HTTP_VERSION
    - memset
    linkageType: ''
    returnType: int
    signature: int curltest_tweak_handler(request_rec *r)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:580,1
    - Dst: apr_cstr_split
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:588,1
    - Dst: APR_ARRAY_IDX
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:590,1
    - Dst: strchr
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:591,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:595,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:600,1
    - Dst: duration_parse
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:601,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:606,1
    - Dst: duration_parse
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:607,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:612,1
    - Dst: apr_atoi64
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:613,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:617,1
    - Dst: ap_die
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:620,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:625,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:629,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:631,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:632,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:633,1
    - Dst: apr_table_get
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:635,1
    - Dst: ap_set_content_type
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:636,1
    - Dst: apr_sleep
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:639,1
    - Dst: apr_brigade_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:641,1
    - Dst: ap_setup_client_block
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:643,1
    - Dst: ap_should_client_block
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:646,1
    - Dst: ap_get_client_block
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:647,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:648,1
    - Dst: apr_sleep
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:651,1
    - Dst: apr_psprintf
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:661,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:662,1
    - Dst: apr_brigade_puts
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:663,1
    - Dst: apr_bucket_eos_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:666,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:667,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:668,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:670,1
    - Dst: apr_sleep
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:673,1
    - Dst: apr_time_from_sec
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:673,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:680,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:685,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 689
    functionName: curltest_put_handler
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - ap_pass_brigade
    - apr_cstr_split
    - apr_brigade_puts
    - apr_bucket_eos_create
    - apr_time_from_sec
    - ap_setup_client_block
    - duration_parse
    - APR_BRIGADE_INSERT_TAIL
    - apr_atoi64
    - strchr
    - ap_get_client_block
    - apr_sleep
    - ap_should_client_block
    - apr_psprintf
    - ap_log_rerror
    - apr_table_unset
    - strcmp
    - ap_die
    - APR_ARRAY_IDX
    - apr_table_setn
    - ap_set_content_type
    - apr_brigade_create
    linkageType: ''
    returnType: int
    signature: int curltest_put_handler(request_rec *r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:705,1
    - Dst: HTTP_VERSION_MAJOR
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:709,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:710,1
    - Dst: ap_die
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:711,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:715,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:719,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:721,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:722,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:723,1
    - Dst: apr_table_get
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:725,1
    - Dst: ap_set_content_type
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:726,1
    - Dst: apr_brigade_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:728,1
    - Dst: apr_bucket_flush_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:730,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:731,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:732,1
    - Dst: apr_brigade_printf
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:737,1
    - Dst: apr_bucket_eos_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:740,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:741,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:742,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:744,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:750,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:755,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 759
    functionName: curltest_1_1_required
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_table_get
    - apr_bucket_flush_create
    - apr_brigade_printf
    - HTTP_VERSION_MAJOR
    - apr_table_unset
    - ap_pass_brigade
    - ap_set_content_type
    - apr_brigade_create
    - apr_bucket_eos_create
    - strcmp
    - ap_die
    - apr_table_setn
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int curltest_1_1_required(request_rec *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: apr_table_get
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:765,1
    - Dst: apr_brigade_printf
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - bb
    - name
    argTypes:
    - request_rec*
    - apr_bucket_brigade*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 769
    functionName: brigade_env_var
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - apr_table_get
    - apr_brigade_printf
    linkageType: ''
    returnType: int
    signature: "int brigade_env_var(request_rec *r, apr_bucket_brigade *bb,\n                           const
      char *name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:783,1
    - Dst: apr_cstr_split
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:791,1
    - Dst: APR_ARRAY_IDX
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:793,1
    - Dst: strchr
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:794,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:798,1
    - Dst: strcmp
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:804,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:809,1
    - Dst: ap_die
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:812,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:817,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:821,1
    - Dst: apr_table_unset
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:823,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:824,1
    - Dst: apr_table_setn
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:825,1
    - Dst: ap_set_content_type
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:827,1
    - Dst: apr_brigade_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:829,1
    - Dst: apr_brigade_puts
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:831,1
    - Dst: brigade_env_var
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:832,1
    - Dst: brigade_env_var
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:833,1
    - Dst: brigade_env_var
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:834,1
    - Dst: brigade_env_var
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:835,1
    - Dst: brigade_env_var
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:836,1
    - Dst: brigade_env_var
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:837,1
    - Dst: brigade_env_var
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:838,1
    - Dst: brigade_env_var
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:839,1
    - Dst: apr_brigade_puts
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:840,1
    - Dst: apr_bucket_flush_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:843,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:844,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:845,1
    - Dst: apr_bucket_eos_create
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:850,1
    - Dst: APR_BRIGADE_INSERT_TAIL
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:851,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:852,1
    - Dst: ap_pass_brigade
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:854,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:862,1
    - Dst: ap_log_rerror
      Src: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c:867,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 1
    argNames:
    - r
    argTypes:
    - request_rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 871
    functionName: curltest_sslinfo_handler
    functionSourceFile: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
    functionUses: 0
    functionsReached:
    - ap_log_rerror
    - apr_bucket_flush_create
    - apr_table_unset
    - ap_pass_brigade
    - ap_set_content_type
    - apr_cstr_split
    - apr_brigade_puts
    - strchr
    - apr_brigade_create
    - brigade_env_var
    - apr_bucket_eos_create
    - strcmp
    - ap_die
    - APR_ARRAY_IDX
    - apr_table_setn
    - APR_BRIGADE_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: int curltest_sslinfo_handler(request_rec *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - outstream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: t1518_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib1518.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t t1518_write_cb(char *buffer, size_t size, size_t nitems,\n
      \                            void *outstream)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1518.c:49,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1518.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1518.c:52,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1518.c:58,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1518.c:60,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1518.c:64,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1518.c:65,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1518.c:68,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1518.c:70,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1518.c:74,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1518.c:78,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1518.c:79,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1518.c:80,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1518.c:81,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1518.c:82,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1518.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1518.c:98,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1518.c:99,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1518.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: test_lib1518
    functionSourceFile: /src/curl/tests/libtest/lib1518.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_url
    - curl_global_cleanup
    - curl_easy_getinfo
    - curl_mprintf
    - test_setopt
    - curl_url_cleanup
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1518(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib574.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - pattern
    - string
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: new_fnmatch
    functionSourceFile: /src/curl/tests/libtest/lib574.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int new_fnmatch(void *ptr,\n                       const char *pattern,
      const char *string)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib574.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib574.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib574.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib574.c:49,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib574.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib574.c:54,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib574.c:55,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib574.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib574.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib574.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib574.c:61,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib574.c:64,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib574.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib574.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib574.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 74
    functionName: test_lib574
    functionSourceFile: /src/curl/tests/libtest/lib574.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib574(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib500.c:37,1
    - Dst: CURL_SOCKET
      Src: /src/curl/tests/libtest/lib500.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - clientp
    - purpose
    - addr
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: tst_opensocket
    functionSourceFile: /src/curl/tests/libtest/lib500.c
    functionUses: 0
    functionsReached:
    - CURL_SOCKET
    - curl_mprintf
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t tst_opensocket(void *clientp,\n                                    curlsocktype
      purpose,\n                                    struct curl_sockaddr *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib500.c:44,1
    - Dst: sclose
      Src: /src/curl/tests/libtest/lib500.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - clientp
    - sock
    argTypes:
    - void*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: tst_closesocket
    functionSourceFile: /src/curl/tests/libtest/lib500.c
    functionUses: 0
    functionsReached:
    - sclose
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: int tst_closesocket(void *clientp, curl_socket_t sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib500.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib500.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: setupcallbacks
    functionSourceFile: /src/curl/tests/libtest/lib500.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void setupcallbacks(CURL *curl)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib500.c:61,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib500.c:62,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib500.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib500.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib500.c:69,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib500.c:73,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib500.c:74,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib500.c:78,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib500.c:79,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib500.c:80,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib500.c:82,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib500.c:83,1
    - Dst: setupcallbacks
      Src: /src/curl/tests/libtest/lib500.c:86,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib500.c:88,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib500.c:91,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib500.c:93,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib500.c:101,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib500.c:102,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib500.c:103,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib500.c:104,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib500.c:106,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib500.c:108,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib500.c:110,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib500.c:115,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib500.c:123,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib500.c:132,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib500.c:141,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib500.c:150,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib500.c:158,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib500.c:166,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib500.c:173,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib500.c:174,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 177
    functionName: test_lib500
    functionSourceFile: /src/curl/tests/libtest/lib500.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fopen
    - strcmp
    - curl_global_init
    - curl_easy_getinfo
    - test_setopt
    - curl_easy_init
    - setupcallbacks
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib500(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib573.c:47,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib573.c:49,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib573.c:51,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib573.c:53,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib573.c:54,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib573.c:58,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib573.c:59,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib573.c:60,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib573.c:62,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib573.c:64,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib573.c:74,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib573.c:76,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib573.c:81,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib573.c:82,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib573.c:83,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib573.c:85,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib573.c:89,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib573.c:91,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib573.c:94,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib573.c:96,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib573.c:105,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib573.c:106,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib573.c:107,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib573.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 111
    functionName: test_lib573
    functionSourceFile: /src/curl/tests/libtest/lib573.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - select_test
    - curl_mfprintf
    - curl_multi_remove_handle
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_perform
    - curl_easy_getinfo
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib573(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1956.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1956.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1956.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1956.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1956.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1956.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1956.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1956.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1956.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1956.c:51,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1956.c:52,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1956.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1956.c:58,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1956.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1956.c:61,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1956.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1956.c:67,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1956.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1956.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1956.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 73
    functionName: test_lib1956
    functionSourceFile: /src/curl/tests/libtest/lib1956.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1956(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3010.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib3010.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3010.c:39,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3010.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3010.c:42,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib3010.c:44,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib3010.c:47,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib3010.c:48,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3010.c:49,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3010.c:50,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3010.c:51,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3010.c:53,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib3010.c:55,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib3010.c:59,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib3010.c:60,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3010.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3010.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3010.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib3010
    functionSourceFile: /src/curl/tests/libtest/lib3010.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_reset
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_getinfo
    - curl_mprintf
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3010(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_SOCKERRNO
      Src: /src/curl/tests/libtest/first.c:36,1
    - Dst: Sleep
      Src: /src/curl/tests/libtest/first.c:46,1
    - Dst: curlx_tvtoms
      Src: /src/curl/tests/libtest/first.c:46,1
    - Dst: select
      Src: /src/curl/tests/libtest/first.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - nfds
    - rd
    - wr
    - exc
    - tv
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: select_wrapper
    functionSourceFile: /src/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - Sleep
    - select
    - SET_SOCKERRNO
    - curlx_tvtoms
    linkageType: ''
    returnType: int
    signature: "int select_wrapper(int nfds, fd_set *rd, fd_set *wr, fd_set *exc,\n
      \                  struct timeval *tv)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/libtest/first.c:79,1
    - Dst: strchr
      Src: /src/curl/tests/libtest/first.c:87,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 125
    functionName: cgetopt
    functionSourceFile: /src/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strchr
    linkageType: ''
    returnType: int
    signature: int cgetopt(int argc, const char * const argv[], const char *optstring)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/tests/libtest/first.c:132,1
    - Dst: curl_dbg_memdebug
      Src: /src/curl/tests/libtest/first.c:135,1
    - Dst: getenv
      Src: /src/curl/tests/libtest/first.c:138,1
    - Dst: atol
      Src: /src/curl/tests/libtest/first.c:140,1
    - Dst: curl_dbg_memlimit
      Src: /src/curl/tests/libtest/first.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: memory_tracking_init
    functionSourceFile: /src/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - curl_dbg_memlimit
    - curl_dbg_memdebug
    - atol
    - getenv
    linkageType: ''
    returnType: void
    signature: void memory_tracking_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: memory_tracking_init
    functionSourceFile: /src/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_tracking_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/first.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: hexdump
    functionSourceFile: /src/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *hexdump(const unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/curl/tests/libtest/first.c:166,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/first.c:166,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curl
    - send_payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: ws_send_ping
    functionSourceFile: /src/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strlen
    - curl_ws_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ws_send_ping(CURL *curl, const char *send_payload)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/curl/tests/libtest/first.c:178,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:180,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:186,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:191,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/first.c:192,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/first.c:193,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:194,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - curl
    - expected_payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: ws_recv_pong
    functionSourceFile: /src/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_ws_recv
    - strlen
    - memcmp
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ws_recv_pong(CURL *curl, const char *expected_payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/curl/tests/libtest/first.c:205,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: ws_close
    functionSourceFile: /src/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_ws_send
    linkageType: ''
    returnType: void
    signature: void ws_close(CURL *curl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/libtest/first.c:221,1
    - Dst: memory_tracking_init
      Src: /src/curl/tests/libtest/first.c:223,1
    - Dst: curlx_now_init
      Src: /src/curl/tests/libtest/first.c:225,1
    - Dst: setlocale
      Src: /src/curl/tests/libtest/first.c:234,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:241,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/first.c:249,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:256,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:262,1
    - Dst: getenv
      Src: /src/curl/tests/libtest/first.c:274,1
    - Dst: atoi
      Src: /src/curl/tests/libtest/first.c:276,1
    - Dst: entry_func
      Src: /src/curl/tests/libtest/first.c:280,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/first.c:281,1
    - Dst: _flushall
      Src: /src/curl/tests/libtest/first.c:285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 291
    functionName: main
    functionSourceFile: /src/curl/tests/libtest/first.c
    functionUses: 0
    functionsReached:
    - curlx_now_init
    - memory_tracking_init
    - getenv
    - curl_mfprintf
    - _flushall
    - setlocale
    - strcmp
    - entry_func
    - CURLX_SET_BINMODE
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib2502.c:44,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2502.c:46,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib2502.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2502.c:49,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib2502.c:53,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2502.c:55,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib2502.c:57,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib2502.c:59,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib2502.c:62,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib2502.c:64,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib2502.c:66,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2502.c:70,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2502.c:72,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2502.c:73,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2502.c:74,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2502.c:76,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib2502.c:80,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2502.c:81,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2502.c:82,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2502.c:84,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2502.c:86,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2502.c:89,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib2502.c:91,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib2502.c:93,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib2502.c:103,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib2502.c:105,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2502.c:110,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2502.c:111,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2502.c:112,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib2502.c:114,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib2502.c:118,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib2502.c:120,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib2502.c:122,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib2502.c:129,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib2502.c:130,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2502.c:131,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib2502.c:134,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib2502.c:136,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2502.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 140
    functionName: test_lib2502
    functionSourceFile: /src/curl/tests/libtest/lib2502.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_add_handle
    - curl_slist_free_all
    - multi_perform
    - curl_mprintf
    - test_setopt
    - easy_setopt
    - abort_on_test_timeout
    - curlx_wait_ms
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - curl_slist_append
    - global_init
    - start_test_timing
    - curl_msnprintf
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - select_test
    - easy_init
    - FD_ZERO
    - multi_setopt
    - curl_multi_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2502(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1955.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1955.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1955.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1955.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1955.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1955.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1955.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1955.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1955.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1955.c:51,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1955.c:52,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1955.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1955.c:58,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1955.c:59,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1955.c:65,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1955.c:70,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1955.c:74,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1955.c:76,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1955.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1955.c:78,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1955.c:80,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1955.c:84,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1955.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1955.c:86,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1955.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 90
    functionName: test_lib1955
    functionSourceFile: /src/curl/tests/libtest/lib1955.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1955(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1939.c:34,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/lib1939.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1939.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1939.c:44,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1939.c:47,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/lib1939.c:53,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/lib1939.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1939.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1939.c:65,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1939.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1939.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 71
    functionName: test_lib1939
    functionSourceFile: /src/curl/tests/libtest/lib1939.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - curl_multi_add_handle
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1939(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: RTP_PKT_CHANNEL
    functionSourceFile: /src/curl/tests/libtest/lib571.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTP_PKT_CHANNEL(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: RTP_PKT_LENGTH
    functionSourceFile: /src/curl/tests/libtest/lib571.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTP_PKT_LENGTH(p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTP_PKT_CHANNEL
      Src: /src/curl/tests/libtest/lib571.c:52,1
    - Dst: RTP_PKT_LENGTH
      Src: /src/curl/tests/libtest/lib571.c:54,1
    - Dst: curlx_uztosi
      Src: /src/curl/tests/libtest/lib571.c:59,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib571.c:61,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib571.c:63,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib571.c:71,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib571.c:72,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib571.c:77,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib571.c:78,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib571.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - data
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 89
    functionName: rtp_write
    functionSourceFile: /src/curl/tests/libtest/lib571.c
    functionUses: 0
    functionsReached:
    - curlx_uztosi
    - RTP_PKT_CHANNEL
    - curl_mfprintf
    - RTP_PKT_LENGTH
    - curl_mprintf
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: size_t rtp_write(char *data, size_t size, size_t nmemb, void *stream)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib571.c:98,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib571.c:100,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib571.c:104,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib571.c:105,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib571.c:106,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib571.c:110,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib571.c:112,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib571.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib571.c:114,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:117,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib571.c:119,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:124,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib571.c:125,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:128,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:129,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:130,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:131,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:133,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:134,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib571.c:136,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib571.c:141,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:146,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib571.c:147,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:149,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib571.c:151,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib571.c:156,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:161,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib571.c:162,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:164,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib571.c:166,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib571.c:170,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:175,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib571.c:176,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:178,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib571.c:180,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib571.c:184,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib571.c:188,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib571.c:189,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib571.c:190,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib571.c:194,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib571.c:197,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib571.c:199,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib571.c:200,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 93
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 203
    functionName: test_lib571
    functionSourceFile: /src/curl/tests/libtest/lib571.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - tutil_suburl
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fopen
    - curl_free
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib571(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: test_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_setopt(A,B,C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: test_multi_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_multi_setopt(A,B,C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: exe_easy_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_easy_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: res_easy_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_easy_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: chk_easy_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_easy_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: easy_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easy_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: exe_multi_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: res_multi_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: chk_multi_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: multi_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: exe_easy_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_easy_setopt(A,B,C,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: res_easy_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_easy_setopt(A, B, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: chk_easy_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_easy_setopt(A, B, C, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: easy_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easy_setopt(A, B, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: exe_multi_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_setopt(A, B, C, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: res_multi_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_setopt(A,B,C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: chk_multi_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_setopt(A,B,C,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: multi_setopt
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_setopt(A,B,C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: exe_multi_add_handle
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_add_handle(A,B,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: res_multi_add_handle
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_add_handle(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: chk_multi_add_handle
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_add_handle(A, B, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: multi_add_handle
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_add_handle(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: exe_multi_remove_handle
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_remove_handle(A,B,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: res_multi_remove_handle
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_remove_handle(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: chk_multi_remove_handle
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_remove_handle(A, B, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: multi_remove_handle
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_remove_handle(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: exe_multi_perform
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_perform(A,B,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: res_multi_perform
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_perform(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: chk_multi_perform
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_perform(A, B, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: multi_perform
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_perform(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: exe_multi_fdset
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_fdset(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: res_multi_fdset
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_fdset(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: chk_multi_fdset
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_fdset(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: multi_fdset
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_fdset(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 361
    functionName: exe_multi_timeout
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_timeout(A,B,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: res_multi_timeout
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_timeout(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: chk_multi_timeout
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_timeout(A, B, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: multi_timeout
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_timeout(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 391
    functionName: exe_multi_poll
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_poll(A,B,C,D,E,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: res_multi_poll
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_poll(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: chk_multi_poll
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_poll(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: multi_poll
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_poll(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: exe_multi_wakeup
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_multi_wakeup(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: res_multi_wakeup
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_multi_wakeup(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: chk_multi_wakeup
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_multi_wakeup(A, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: multi_wakeup
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_wakeup(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 442
    functionName: exe_select_test
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_select_test(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: res_select_test
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_select_test(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: chk_select_test
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_select_test(A, B, C, D, E, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: select_test
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: select_test(A, B, C, D, E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: start_test_timing
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: start_test_timing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - T
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: exe_test_timedout
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_test_timedout(T,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: res_test_timedout
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_test_timedout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: res_test_timedout_custom
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_test_timedout_custom(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - T
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 484
    functionName: chk_test_timedout
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_test_timedout(T, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: abort_on_test_timeout
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abort_on_test_timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: abort_on_test_timeout_custom
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abort_on_test_timeout_custom(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 502
    functionName: exe_global_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exe_global_init(A,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: res_global_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: res_global_init(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 511
    functionName: chk_global_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chk_global_init(A, Y, Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: global_init
    functionSourceFile: /src/curl/tests/libtest/first.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: global_init(A)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib562.c:41,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib562.c:42,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib562.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib562.c:49,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib562.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib562.c:55,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib562.c:58,1
    - Dst: atol
      Src: /src/curl/tests/libtest/lib562.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib562.c:61,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib562.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib562.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib562.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 72
    functionName: test_lib562
    functionSourceFile: /src/curl/tests/libtest/lib562.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - atol
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib562(const char *URL)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib661.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib661.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib661.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib661.c:42,1
    - Dst: curl_maprintf
      Src: /src/curl/tests/libtest/lib661.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:53,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib661.c:54,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib661.c:58,1
    - Dst: curl_maprintf
      Src: /src/curl/tests/libtest/lib661.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib661.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib661.c:67,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib661.c:68,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib661.c:70,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib661.c:75,1
    - Dst: curl_maprintf
      Src: /src/curl/tests/libtest/lib661.c:76,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:78,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:79,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:80,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib661.c:81,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib661.c:86,1
    - Dst: curl_maprintf
      Src: /src/curl/tests/libtest/lib661.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:88,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:89,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib661.c:90,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib661.c:94,1
    - Dst: curl_maprintf
      Src: /src/curl/tests/libtest/lib661.c:95,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:96,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:97,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib661.c:98,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib661.c:104,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib661.c:105,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib661.c:107,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib661.c:112,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib661.c:114,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:119,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:120,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:121,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:122,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:123,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib661.c:124,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib661.c:130,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib661.c:131,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib661.c:133,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:138,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:139,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:140,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:141,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:142,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib661.c:143,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib661.c:150,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:151,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:152,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:153,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:154,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib661.c:155,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib661.c:156,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib661.c:161,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib661.c:162,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib661.c:163,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib661.c:164,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib661.c:165,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 119
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 168
    functionName: test_lib661
    functionSourceFile: /src/curl/tests/libtest/lib661.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_reset
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_free
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib661(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: descr_flags
    functionSourceFile: /src/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char *descr_flags(int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/curl/tests/libtest/lib2700.c:53,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:56,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2700.c:60,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib2700.c:61,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:62,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - curl
    - flags
    - size
    argTypes:
    - CURL*
    - int
    - size_t
    assertStmts:
    - condition: (nsent == 0)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (nsent == 0)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (nsent == 0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: send_header
    functionSourceFile: /src/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - assert
    - curl_ws_send
    - curl_easy_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode send_header(CURL *curl, int flags, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/curl/tests/libtest/lib2700.c:83,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:85,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2700.c:89,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib2700.c:90,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:91,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:95,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:96,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:97,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:98,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2700.c:104,1
    - Dst: descr_flags
      Src: /src/curl/tests/libtest/lib2700.c:104,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2700.c:108,1
    - Dst: send_header
      Src: /src/curl/tests/libtest/lib2700.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - curl
    - flags
    - offset
    - bytesleft
    argTypes:
    - CURL*
    - int*
    - curl_off_t*
    - curl_off_t*
    assertStmts:
    - condition: (nread == 0)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (nread == 0)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (nread == 0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (meta != NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (meta->flags)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (meta->offset == 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 115
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 115
    functionName: recv_header
    functionSourceFile: /src/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - curl_mfprintf
    - descr_flags
    - curl_ws_recv
    - assert
    - send_header
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_header(CURL *curl, int *flags, curl_off_t *offset,\n
      \                           curl_off_t *bytesleft)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/curl/tests/libtest/lib2700.c:124,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:127,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2700.c:131,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib2700.c:132,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:133,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - curl
    - flags
    - buffer
    - size
    - offset
    argTypes:
    - CURL*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts:
    - condition: (nsent == 0)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (nsent == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (nsent <= size - *offset)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: send_chunk
    functionSourceFile: /src/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - assert
    - curl_ws_send
    - curl_easy_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_chunk(CURL *curl, int flags, const char *buffer,\n                           size_t
      size, size_t *offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/curl/tests/libtest/lib2700.c:154,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:156,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2700.c:160,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib2700.c:161,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:162,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:166,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:167,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:168,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:169,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib2700.c:170,1
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib2700.c:175,1
    - Dst: send_chunk
      Src: /src/curl/tests/libtest/lib2700.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - curl
    - flags
    - offset
    - bytesleft
    argTypes:
    - CURL*
    - int
    - curl_off_t*
    - curl_off_t*
    assertStmts:
    - condition: (nread == 0)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (nread == 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (nread <= sizeof(buffer))
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (meta != NULL)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (meta->flags == flags)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (meta->offset == *offset)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/curl/tests/libtest/lib2700.c
    - condition: (meta->bytesleft == (*bytesleft - (curl_off_t)nread))
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/curl/tests/libtest/lib2700.c
    constantsTouched: []
    func_position:
      end: 184
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 184
    functionName: recv_chunk
    functionSourceFile: /src/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - fwrite
    - send_chunk
    - curl_mfprintf
    - curl_ws_recv
    - assert
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_chunk(CURL *curl, int flags, curl_off_t *offset,\n                           curl_off_t
      *bytesleft)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: recv_header
      Src: /src/curl/tests/libtest/lib2700.c:193,1
    - Dst: recv_chunk
      Src: /src/curl/tests/libtest/lib2700.c:198,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2700.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - curl
    - stop
    argTypes:
    - CURL*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: recv_frame
    functionSourceFile: /src/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - recv_header
    - curl_mfprintf
    - recv_chunk
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode recv_frame(CURL *curl, bool *stop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2700.c:219,1
    - Dst: curl_global_trace
      Src: /src/curl/tests/libtest/lib2700.c:220,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib2700.c:221,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2700.c:223,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2700.c:224,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2700.c:227,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2700.c:228,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2700.c:229,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2700.c:230,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2700.c:232,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2700.c:234,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2700.c:236,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib2700.c:238,1
    - Dst: recv_frame
      Src: /src/curl/tests/libtest/lib2700.c:243,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2700.c:249,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2700.c:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 255
    functionName: test_lib2700
    functionSourceFile: /src/curl/tests/libtest/lib2700.c
    functionUses: 0
    functionsReached:
    - recv_frame
    - curl_easy_perform
    - curl_easy_strerror
    - curl_global_trace
    - curl_mfprintf
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2700(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1937.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1937.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1937.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1937.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1937.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1937.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1937.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1937.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1937.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1937.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1937.c:52,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1937.c:54,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1937.c:56,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1937.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1937.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1937.c:59,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1937.c:61,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1937.c:65,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1937.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1937.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1937.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 71
    functionName: test_lib1937
    functionSourceFile: /src/curl/tests/libtest/lib1937.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1937(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: header
    functionSourceFile: /src/curl/tests/libtest/lib1556.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t header(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1556.c:52,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1556.c:54,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1556.c:56,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1556.c:57,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1556.c:58,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1556.c:59,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1556.c:61,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1556.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1556.c:65,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1556.c:70,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1556.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1556.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: test_lib1556
    functionSourceFile: /src/curl/tests/libtest/lib1556.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mprintf
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1556(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1906.c:32,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1906.c:36,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1906.c:38,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1906.c:39,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1906.c:40,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1906.c:41,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1906.c:43,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1906.c:45,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1906.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1906.c:48,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1906.c:50,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1906.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1906.c:59,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1906.c:60,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1906.c:64,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1906.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1906.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1906.c:70,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1906.c:73,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1906.c:74,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1906.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1906.c:78,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1906.c:79,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1906.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 83
    functionName: test_lib1906
    functionSourceFile: /src/curl/tests/libtest/lib1906.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - easy_init
    - curl_url_get
    - curl_url
    - curl_easy_cleanup
    - curl_free
    - curl_global_cleanup
    - easy_setopt
    - curl_url_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1906(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2082.c:40,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2082.c:41,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2082.c:44,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2082.c:45,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2082.c:48,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2082.c:49,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2082.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - clientp
    - conn_primary_ip
    - conn_local_ip
    - conn_primary_port
    - conn_local_port
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: prereq_callback
    functionSourceFile: /src/curl/tests/libtest/lib2082.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: "int prereq_callback(void *clientp,\n                           char
      *conn_primary_ip,\n                           char *conn_local_ip,\n                           int
      conn_primary_port,\n                           int conn_local_port)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib2082.c:63,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib2082.c:64,1
    - Dst: strstr
      Src: /src/curl/tests/libtest/lib2082.c:67,1
    - Dst: strstr
      Src: /src/curl/tests/libtest/lib2082.c:71,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2082.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2082.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2082.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2082.c:79,1
    - Dst: strstr
      Src: /src/curl/tests/libtest/lib2082.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2082.c:83,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2082.c:86,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2082.c:88,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib2082.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2082.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2082.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 100
    functionName: test_lib2082
    functionSourceFile: /src/curl/tests/libtest/lib2082.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - strstr
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2082(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib560.c:46,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib560.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib560.c:55,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib560.c:56,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib560.c:57,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib560.c:58,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib560.c:61,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib560.c:64,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib560.c:67,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib560.c:69,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib560.c:79,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib560.c:80,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib560.c:81,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib560.c:88,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib560.c:92,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib560.c:94,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib560.c:97,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib560.c:99,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib560.c:106,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib560.c:107,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib560.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 111
    functionName: test_lib560
    functionSourceFile: /src/curl/tests/libtest/lib560.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - select_test
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib560(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: t667_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib667.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t667_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib667.c:69,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib667.c:70,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib667.c:74,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib667.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib667.c:80,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib667.c:83,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib667.c:87,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib667.c:90,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib667.c:91,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib667.c:92,1
    - Dst: curl_mime_encoder
      Src: /src/curl/tests/libtest/lib667.c:93,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib667.c:95,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib667.c:99,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib667.c:102,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib667.c:104,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib667.c:108,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib667.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib667.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 112
    functionName: test_lib667
    functionSourceFile: /src/curl/tests/libtest/lib667.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - strlen
    - curl_mime_addpart
    - curl_easy_perform
    - curl_mime_data_cb
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mime_encoder
    - curl_mime_name
    - curl_global_init
    - test_setopt
    - curl_mime_free
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib667(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib658.c:39,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib658.c:40,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib658.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib658.c:45,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib658.c:49,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib658.c:51,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib658.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib658.c:57,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib658.c:59,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib658.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib658.c:62,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib658.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib658.c:67,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib658.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib658.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib658.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 78
    functionName: test_lib658
    functionSourceFile: /src/curl/tests/libtest/lib658.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - easy_init
    - curl_easy_cleanup
    - curl_url
    - curl_global_cleanup
    - easy_setopt
    - curl_url_cleanup
    - global_init
    - curl_url_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib658(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib567.c:37,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib567.c:38,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib567.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib567.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib567.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib567.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib567.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib567.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib567.c:54,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib567.c:55,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib567.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib567.c:57,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib567.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib567.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib567.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib567.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib567.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib567.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 72
    functionName: test_lib567
    functionSourceFile: /src/curl/tests/libtest/lib567.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib567(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib1517.c:40,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1517.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: t1517_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1517.c
    functionUses: 0
    functionsReached:
    - memcpy
    - curlx_wait_ms
    linkageType: ''
    returnType: size_t
    signature: size_t t1517_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1517.c:65,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1517.c:67,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1517.c:68,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1517.c:72,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1517.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1517.c:75,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1517.c:80,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1517.c:83,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1517.c:86,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1517.c:89,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1517.c:92,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1517.c:95,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1517.c:98,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1517.c:105,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1517.c:110,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1517.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 114
    functionName: test_lib1517
    functionSourceFile: /src/curl/tests/libtest/lib1517.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1517(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1902.c:33,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1902.c:35,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1902.c:37,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1902.c:38,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1902.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1902.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: test_lib1902
    functionSourceFile: /src/curl/tests/libtest/lib1902.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - easy_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1902(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib543.c:41,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib543.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib543.c:44,1
    - Dst: curl_easy_escape
      Src: /src/curl/tests/libtest/lib543.c:49,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib543.c:52,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib543.c:53,1
    - Dst: curl_easy_escape
      Src: /src/curl/tests/libtest/lib543.c:56,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib543.c:58,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib543.c:59,1
    - Dst: curl_easy_escape
      Src: /src/curl/tests/libtest/lib543.c:61,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib543.c:63,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib543.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib543.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib543.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 72
    functionName: test_lib543
    functionSourceFile: /src/curl/tests/libtest/lib543.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_escape
    - curl_free
    - curl_mprintf
    - curl_easy_init
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib543(const char *URL)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1911.c:41,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1911.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1911.c:44,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1911.c:49,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1911.c:52,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1911.c:52,1
    - Dst: curl_easy_option_next
      Src: /src/curl/tests/libtest/lib1911.c:54,1
    - Dst: curl_easy_option_next
      Src: /src/curl/tests/libtest/lib1911.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1911.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1911.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1911.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1911.c:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 94
    functionName: test_lib1911
    functionSourceFile: /src/curl/tests/libtest/lib1911.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_option_next
    - curl_global_init
    - curl_mprintf
    - memset
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1911(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: KN
    functionSourceFile: /src/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KN(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1541.c:39,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1541.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - val
    - lineno
    argTypes:
    - char*
    - CURLcode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: t1541_geterr
    functionSourceFile: /src/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - curl_easy_strerror
    linkageType: ''
    returnType: void
    signature: void t1541_geterr(const char *name, CURLcode val, int lineno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1541.c:47,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1541.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - key
    - where
    - time
    - ok
    argTypes:
    - char*
    - char*
    - curl_off_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: report_time
    functionSourceFile: /src/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: "void report_time(const char *key, const char *where, curl_off_t time,\n
      \                       bool ok)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1541.c:57,1
    - Dst: t1541_geterr
      Src: /src/curl/tests/libtest/lib1541.c:59,1
    - Dst: report_time
      Src: /src/curl/tests/libtest/lib1541.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - easy
    - key
    - name
    - where
    argTypes:
    - CURL*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: check_time
    functionSourceFile: /src/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - t1541_geterr
    - curl_easy_getinfo
    - report_time
    linkageType: ''
    returnType: void
    signature: "void check_time(CURL *easy, int key, const char *name,\n                       const
      char *where)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1541.c:69,1
    - Dst: t1541_geterr
      Src: /src/curl/tests/libtest/lib1541.c:71,1
    - Dst: report_time
      Src: /src/curl/tests/libtest/lib1541.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - easy
    - key
    - name
    - where
    argTypes:
    - CURL*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: check_time0
    functionSourceFile: /src/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - t1541_geterr
    - curl_easy_getinfo
    - report_time
    linkageType: ''
    returnType: void
    signature: "void check_time0(CURL *easy, int key, const char *name,\n                        const
      char *where)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:86,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:86,1
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:87,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:87,1
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:88,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:88,1
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:90,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:90,1
    - Dst: check_time0
      Src: /src/curl/tests/libtest/lib1541.c:92,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:92,1
    - Dst: check_time0
      Src: /src/curl/tests/libtest/lib1541.c:94,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:94,1
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib1541.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: t1541_header_callback
    functionSourceFile: /src/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - KN
    - check_time0
    - fwrite
    - check_time
    linkageType: ''
    returnType: size_t
    signature: "size_t t1541_header_callback(char *ptr, size_t size, size_t nmemb,\n
      \                                   void *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib1541.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: t1541_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t t1541_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1541.c:116,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1541.c:118,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1541.c:120,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1541.c:122,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1541.c:125,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1541.c:126,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1541.c:127,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1541.c:128,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1541.c:129,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1541.c:131,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1541.c:133,1
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:135,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:135,1
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:136,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:136,1
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:137,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:137,1
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:138,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:138,1
    - Dst: check_time0
      Src: /src/curl/tests/libtest/lib1541.c:140,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:140,1
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:141,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:141,1
    - Dst: check_time
      Src: /src/curl/tests/libtest/lib1541.c:142,1
    - Dst: KN
      Src: /src/curl/tests/libtest/lib1541.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1541.c:146,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1541.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 150
    functionName: test_lib1541
    functionSourceFile: /src/curl/tests/libtest/lib1541.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - check_time
    - KN
    - easy_init
    - check_time0
    - curl_easy_cleanup
    - curl_global_cleanup
    - memset
    - easy_setopt
    - global_init
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1541(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1977.c:31,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1977.c:32,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1977.c:36,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1977.c:37,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1977.c:40,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1977.c:41,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1977.c:43,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1977.c:48,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1977.c:51,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1977.c:55,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1977.c:56,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1977.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1977.c:59,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1977.c:64,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1977.c:67,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1977.c:74,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1977.c:76,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1977.c:81,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1977.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1977.c:88,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1977.c:89,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1977.c:90,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1977.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 94
    functionName: test_lib1977
    functionSourceFile: /src/curl/tests/libtest/lib1977.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_url
    - curl_global_cleanup
    - curl_easy_getinfo
    - curl_mprintf
    - easy_setopt
    - curl_url_cleanup
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1977(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1500.c:37,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1500.c:39,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1500.c:41,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1500.c:43,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1500.c:45,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1500.c:46,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1500.c:48,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1500.c:50,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1500.c:52,1
    - Dst: curl_multi_wait
      Src: /src/curl/tests/libtest/lib1500.c:57,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1500.c:59,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1500.c:64,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1500.c:66,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1500.c:68,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib1500.c:71,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1500.c:81,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1500.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1500.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 89
    functionName: test_lib1500
    functionSourceFile: /src/curl/tests/libtest/lib1500.c
    functionUses: 0
    functionsReached:
    - multi_init
    - curl_multi_info_read
    - easy_init
    - multi_add_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_perform
    - curl_multi_wait
    - curl_mprintf
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1500(const char *URL)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib568.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib568.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib568.c:48,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib568.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib568.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:55,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:58,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib568.c:60,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:65,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib568.c:66,1
    - Dst: curlx_open
      Src: /src/curl/tests/libtest/lib568.c:69,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib568.c:71,1
    - Dst: fstat
      Src: /src/curl/tests/libtest/lib568.c:75,1
    - Dst: close
      Src: /src/curl/tests/libtest/lib568.c:76,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib568.c:78,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib568.c:80,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:84,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:86,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:88,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:89,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib568.c:92,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:96,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib568.c:97,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib568.c:101,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:106,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib568.c:107,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:110,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib568.c:111,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib568.c:117,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:122,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib568.c:123,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib568.c:126,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:132,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:133,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:134,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib568.c:137,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:141,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:142,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib568.c:143,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib568.c:147,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:152,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib568.c:153,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib568.c:156,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib568.c:157,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib568.c:162,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib568.c:164,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib568.c:167,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib568.c:169,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib568.c:170,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 112
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 173
    functionName: test_lib568
    functionSourceFile: /src/curl/tests/libtest/lib568.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - fstat
    - curlx_open
    - tutil_suburl
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fopen
    - curl_free
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - close
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib568(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1662.c:35,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1662.c:41,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1662.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: t1662_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1662.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t1662_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1662.c:59,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1662.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:65,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib1662.c:66,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib1662.c:68,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib1662.c:69,1
    - Dst: curl_mime_filename
      Src: /src/curl/tests/libtest/lib1662.c:70,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib1662.c:71,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1662.c:79,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1662.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1662.c:84,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib1662.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1662.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: test_lib1662
    functionSourceFile: /src/curl/tests/libtest/lib1662.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_mime_data_cb
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mime_name
    - curl_easy_init
    - curl_mime_filename
    - curl_mime_free
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1662(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3103.c:34,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/lib3103.c:36,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib3103.c:37,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib3103.c:39,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3103.c:40,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3103.c:42,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3103.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3103.c:44,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3103.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3103.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3103.c:50,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3103.c:52,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3103.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib3103.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3103.c:61,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib3103.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3103.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: test_lib3103
    functionSourceFile: /src/curl/tests/libtest/lib3103.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_share_init
    - curl_mfprintf
    - curl_share_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - curl_share_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3103(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib3027.c:32,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3027.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib3027.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3027.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3027.c:39,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3027.c:40,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib3027.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3027.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3027.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib3027
    functionSourceFile: /src/curl/tests/libtest/lib3027.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_setopt
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3027(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1598.c:42,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1598.c:44,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1598.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - userdata
    argTypes:
    - struct curl_slist**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: t1598_trailers_callback
    functionSourceFile: /src/curl/tests/libtest/lib1598.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_slist_free_all
    linkageType: ''
    returnType: int
    signature: int t1598_trailers_callback(struct curl_slist **list, void *userdata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1598.c:64,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1598.c:65,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1598.c:69,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1598.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1598.c:72,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1598.c:76,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1598.c:81,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1598.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1598.c:88,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1598.c:89,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1598.c:89,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1598.c:90,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1598.c:91,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1598.c:92,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1598.c:93,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1598.c:95,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1598.c:99,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1598.c:101,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1598.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 106
    functionName: test_lib1598
    functionSourceFile: /src/curl/tests/libtest/lib1598.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1598(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib559.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib559.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib559.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib559.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib559.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib559.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib559.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib559.c:47,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib559.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib559.c:52,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib559.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: test_lib559
    functionSourceFile: /src/curl/tests/libtest/lib559.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib559(const char *URL)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1534.c:36,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1534.c:38,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1534.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:45,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1534.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:51,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1534.c:58,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1534.c:59,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1534.c:61,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1534.c:65,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1534.c:72,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:74,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1534.c:76,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:80,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib1534.c:90,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:92,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1534.c:98,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:100,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1534.c:102,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:106,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib1534.c:116,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1534.c:118,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:120,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1534.c:122,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1534.c:126,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1534.c:134,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1534.c:135,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1534.c:136,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 138
    functionName: test_lib1534
    functionSourceFile: /src/curl/tests/libtest/lib1534.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_reset
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_getinfo
    - curl_easy_duphandle
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1534(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1528.c:36,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1528.c:37,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1528.c:41,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1528.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1528.c:44,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1528.c:48,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1528.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1528.c:55,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1528.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1528.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1528.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1528.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1528.c:60,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1528.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1528.c:62,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1528.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1528.c:68,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1528.c:69,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1528.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1528.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: test_lib1528
    functionSourceFile: /src/curl/tests/libtest/lib1528.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1528(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib547.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib547.c:48,1
    - Dst: strcpy
      Src: /src/curl/tests/libtest/lib547.c:49,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib547.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - clientp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: t547_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib547.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t547_read_cb(char *ptr, size_t size, size_t nmemb, void *clientp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib547.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - cmd
    - clientp
    argTypes:
    - CURL*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: t547_ioctl_callback
    functionSourceFile: /src/curl/tests/libtest/lib547.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: curlioerr
    signature: curlioerr t547_ioctl_callback(CURL *handle, int cmd, void *clientp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib547.c:73,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib547.c:74,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib547.c:78,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib547.c:80,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib547.c:81,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:85,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:86,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:90,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:94,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:95,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:97,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:98,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:101,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:103,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:104,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:105,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib547.c:106,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib547.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib547.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib547.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 117
    functionName: test_lib547
    functionSourceFile: /src/curl/tests/libtest/lib547.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib547(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1513.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - arg
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: progressKiller
    functionSourceFile: /src/curl/tests/libtest/lib1513.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: "int progressKiller(void *arg,\n                          double dltotal,\n
      \                         double dlnow,\n                          double ultotal,\n
      \                         double ulnow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1513.c:55,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1513.c:57,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1513.c:59,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1513.c:60,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1513.c:61,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1513.c:62,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1513.c:63,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1513.c:64,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1513.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1513.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1513.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: test_lib1513
    functionSourceFile: /src/curl/tests/libtest/lib1513.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1513(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1568.c:32,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1568.c:34,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1568.c:35,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1568.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1568.c:37,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1568.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1568.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1568.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1568.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1568.c:42,1
    - Dst: atol
      Src: /src/curl/tests/libtest/lib1568.c:42,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1568.c:44,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1568.c:46,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1568.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: test_lib1568
    functionSourceFile: /src/curl/tests/libtest/lib1568.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    - atol
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1568(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/curl/tests/libtest/lib670.c:49,1
    - Dst: time
      Src: /src/curl/tests/libtest/lib670.c:52,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib670.c:58,1
    - Dst: exit
      Src: /src/curl/tests/libtest/lib670.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 60
    functionName: t670_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib670.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - exit
    - time
    linkageType: ''
    returnType: size_t
    signature: size_t t670_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/curl/tests/libtest/lib670.c:74,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib670.c:77,1
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/lib670.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: t670_xferinfo
    functionSourceFile: /src/curl/tests/libtest/lib670.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_pause
    - time
    linkageType: ''
    returnType: int
    signature: "int t670_xferinfo(void *clientp,\n                         curl_off_t
      dltotal, curl_off_t dlnow,\n                         curl_off_t ultotal, curl_off_t
      ulnow)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib670.c:102,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib670.c:103,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib670.c:109,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib670.c:112,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib670.c:115,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib670.c:118,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib670.c:123,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib670.c:124,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib670.c:125,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib670.c:127,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib670.c:133,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib670.c:138,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib670.c:144,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib670.c:150,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib670.c:155,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib670.c:158,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/lib670.c:165,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/lib670.c:166,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/lib670.c:176,1
    - Dst: time
      Src: /src/curl/tests/libtest/lib670.c:181,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib670.c:184,1
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/lib670.c:190,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib670.c:193,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib670.c:194,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib670.c:195,1
    - Dst: curl_multi_fdset
      Src: /src/curl/tests/libtest/lib670.c:198,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib670.c:203,1
    - Dst: select
      Src: /src/curl/tests/libtest/lib670.c:206,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib670.c:208,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib670.c:217,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib670.c:225,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib670.c:226,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib670.c:230,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib670.c:231,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib670.c:232,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib670.c:233,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib670.c:237,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib670.c:240,1
    - Dst: curl_formfree
      Src: /src/curl/tests/libtest/lib670.c:243,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib670.c:246,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 248
    functionName: test_lib670
    functionSourceFile: /src/curl/tests/libtest/lib670.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_pause
    - curl_formfree
    - curl_multi_add_handle
    - test_setopt
    - curlx_wait_ms
    - curl_mfprintf
    - curl_global_cleanup
    - curl_mime_free
    - curl_formadd
    - curl_multi_fdset
    - curl_mime_init
    - curl_mime_data_cb
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_global_init
    - curl_easy_init
    - time
    - curl_multi_perform
    - curl_mime_addpart
    - FD_ZERO
    - curl_multi_cleanup
    - curl_mime_name
    - select
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib670(const char *URL)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/lib3033.c:38,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3033.c:40,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3033.c:43,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib3033.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3033.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib3033.c:48,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib3033.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib3033.c:50,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/lib3033.c:52,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/lib3033.c:57,1
    - Dst: curl_multi_wait
      Src: /src/curl/tests/libtest/lib3033.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3033.c:60,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib3033.c:68,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3033.c:75,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib3033.c:79,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3033.c:81,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3033.c:86,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib3033.c:95,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - multi
    - easy
    - URL
    - index
    argTypes:
    - CURLM*
    - CURL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 98
    functionName: t3033_req_test
    functionSourceFile: /src/curl/tests/libtest/lib3033.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_easy_reset
    - curl_mfprintf
    - curl_multi_setopt
    - curl_multi_wait
    - curl_multi_add_handle
    - curl_mprintf
    - curl_easy_getinfo
    - easy_setopt
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode t3033_req_test(CURLM *multi, CURL *easy,\n                               const
      char *URL, int index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib3033.c:106,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib3033.c:107,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib3033.c:108,1
    - Dst: t3033_req_test
      Src: /src/curl/tests/libtest/lib3033.c:113,1
    - Dst: t3033_req_test
      Src: /src/curl/tests/libtest/lib3033.c:116,1
    - Dst: t3033_req_test
      Src: /src/curl/tests/libtest/lib3033.c:119,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3033.c:125,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib3033.c:126,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3033.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: test_lib3033
    functionSourceFile: /src/curl/tests/libtest/lib3033.c
    functionUses: 0
    functionsReached:
    - multi_init
    - easy_init
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - t3033_req_test
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3033(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1545.c:33,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1545.c:35,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1545.c:37,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib1545.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1545.c:40,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1545.c:42,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1545.c:43,1
    - Dst: curl_formfree
      Src: /src/curl/tests/libtest/lib1545.c:47,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1545.c:48,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1545.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: test_lib1545
    functionSourceFile: /src/curl/tests/libtest/lib1545.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_setopt
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_formfree
    - easy_setopt
    - global_init
    - curl_formadd
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1545(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib599.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: t599_progress_callback
    functionSourceFile: /src/curl/tests/libtest/lib599.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: "int t599_progress_callback(void *clientp, double dltotal,\n                                  double
      dlnow, double ultotal, double ulnow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib599.c:50,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib599.c:51,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib599.c:55,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib599.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib599.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib599.c:63,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib599.c:66,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib599.c:67,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib599.c:70,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib599.c:73,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib599.c:76,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib599.c:79,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib599.c:83,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib599.c:85,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib599.c:87,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib599.c:88,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib599.c:95,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib599.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 99
    functionName: test_lib599
    functionSourceFile: /src/curl/tests/libtest/lib599.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fopen
    - curl_global_init
    - curl_easy_getinfo
    - test_setopt
    - curl_easy_init
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib599(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib3034.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t3034_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib3034.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t3034_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib3034.c:42,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib3034.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3034.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3034.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3034.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3034.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3034.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3034.c:54,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3034.c:56,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3034.c:58,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib3034.c:60,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib3034.c:65,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3034.c:68,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3034.c:69,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3034.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3034.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3034.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 77
    functionName: test_lib3034
    functionSourceFile: /src/curl/tests/libtest/lib3034.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_reset
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - test_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3034(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1531.c:40,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1531.c:42,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1531.c:45,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/lib1531.c:48,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/lib1531.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1531.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1531.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1531.c:56,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/lib1531.c:59,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1531.c:61,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1531.c:75,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1531.c:76,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1531.c:77,1
    - Dst: curl_multi_timeout
      Src: /src/curl/tests/libtest/lib1531.c:83,1
    - Dst: curlx_mstotv
      Src: /src/curl/tests/libtest/lib1531.c:85,1
    - Dst: curl_multi_fdset
      Src: /src/curl/tests/libtest/lib1531.c:93,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1531.c:96,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib1531.c:107,1
    - Dst: select
      Src: /src/curl/tests/libtest/lib1531.c:112,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/lib1531.c:121,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1531.c:125,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib1531.c:130,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1531.c:132,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1531.c:137,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1531.c:141,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1531.c:144,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1531.c:145,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 148
    functionName: test_lib1531
    functionSourceFile: /src/curl/tests/libtest/lib1531.c
    functionUses: 0
    functionsReached:
    - curl_multi_add_handle
    - curl_mprintf
    - abort_on_test_timeout
    - curlx_wait_ms
    - curl_mfprintf
    - curl_global_cleanup
    - global_init
    - curl_easy_setopt
    - start_test_timing
    - curl_multi_fdset
    - curl_multi_info_read
    - curl_multi_timeout
    - curl_easy_cleanup
    - curlx_mstotv
    - curl_easy_init
    - curl_multi_perform
    - FD_ZERO
    - curl_multi_cleanup
    - select
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1531(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - curl
    argTypes:
    - struct cb_data*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: reset_data
    functionSourceFile: /src/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_data(struct cb_data *data, CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1533.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nitems
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: t1533_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t t1533_read_cb(char *ptr, size_t size, size_t nitems, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/lib1533.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: t1533_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    linkageType: ''
    returnType: size_t
    signature: size_t t1533_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1533.c:101,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1533.c:103,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1533.c:107,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1533.c:109,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1533.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - curl
    - description
    - expected_connections
    argTypes:
    - CURL*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 122
    functionName: perform_and_check_connections
    functionSourceFile: /src/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_perform
    - curl_easy_getinfo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode perform_and_check_connections(CURL *curl,\n                                              const
      char *description,\n                                              long expected_connections)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1533.c:132,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1533.c:133,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1533.c:137,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1533.c:139,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1533.c:140,1
    - Dst: reset_data
      Src: /src/curl/tests/libtest/lib1533.c:144,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1533.c:146,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1533.c:147,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1533.c:148,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1533.c:150,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1533.c:151,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1533.c:152,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1533.c:153,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1533.c:154,1
    - Dst: perform_and_check_connections
      Src: /src/curl/tests/libtest/lib1533.c:156,1
    - Dst: reset_data
      Src: /src/curl/tests/libtest/lib1533.c:163,1
    - Dst: perform_and_check_connections
      Src: /src/curl/tests/libtest/lib1533.c:165,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1533.c:172,1
    - Dst: reset_data
      Src: /src/curl/tests/libtest/lib1533.c:174,1
    - Dst: perform_and_check_connections
      Src: /src/curl/tests/libtest/lib1533.c:176,1
    - Dst: reset_data
      Src: /src/curl/tests/libtest/lib1533.c:183,1
    - Dst: perform_and_check_connections
      Src: /src/curl/tests/libtest/lib1533.c:185,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1533.c:196,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1533.c:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 201
    functionName: test_lib1533
    functionSourceFile: /src/curl/tests/libtest/lib1533.c
    functionUses: 0
    functionsReached:
    - reset_data
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - perform_and_check_connections
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1533(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib537.c:50,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib537.c:53,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib537.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - err
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: t537_store_errmsg
    functionSourceFile: /src/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - curlx_strerror
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void t537_store_errmsg(const char *msg, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/curl/tests/libtest/lib537.c:64,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib537.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: t537_close_file_descriptors
    functionSourceFile: /src/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: void
    signature: void t537_close_file_descriptors(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib537.c:79,1
    - Dst: t537_store_errmsg
      Src: /src/curl/tests/libtest/lib537.c:81,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib537.c:82,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib537.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: t537_fopen_works
    functionSourceFile: /src/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - t537_store_errmsg
    - curlx_fopen
    - curlx_fclose
    linkageType: ''
    returnType: int
    signature: int t537_fopen_works(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib537.c:445,1
    - Dst: t537_test_rlimit
      Src: /src/curl/tests/libtest/lib537.c:447,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib537.c:448,1
    - Dst: t537_test_rlimit
      Src: /src/curl/tests/libtest/lib537.c:454,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib537.c:462,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib537.c:463,1
    - Dst: t537_close_file_descriptors
      Src: /src/curl/tests/libtest/lib537.c:464,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib537.c:468,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib537.c:470,1
    - Dst: t537_close_file_descriptors
      Src: /src/curl/tests/libtest/lib537.c:471,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib537.c:472,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib537.c:476,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib537.c:477,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib537.c:479,1
    - Dst: t537_close_file_descriptors
      Src: /src/curl/tests/libtest/lib537.c:483,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib537.c:484,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib537.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 488
    functionName: test_lib537
    functionSourceFile: /src/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - t537_test_rlimit
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - strcmp
    - curl_global_init
    - t537_close_file_descriptors
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib537(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib537.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: test_lib537
    functionSourceFile: /src/curl/tests/libtest/lib537.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib537(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib3208.c:37,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib3208.c:39,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib3208.c:41,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib3208.c:43,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib3208.c:45,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib3208.c:46,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib3208.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib3208.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib3208.c:50,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3208.c:53,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib3208.c:56,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib3208.c:58,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib3208.c:60,1
    - Dst: curl_multi_wait
      Src: /src/curl/tests/libtest/lib3208.c:65,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3208.c:67,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib3208.c:72,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib3208.c:74,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib3208.c:76,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib3208.c:79,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib3208.c:85,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3208.c:88,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib3208.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3208.c:95,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3208.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 102
    functionName: test_lib3208
    functionSourceFile: /src/curl/tests/libtest/lib3208.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - multi_init
    - curl_multi_info_read
    - curl_multi_remove_handle
    - easy_init
    - multi_add_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_perform
    - curl_multi_wait
    - curl_mprintf
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3208(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1959.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1959.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1959.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1959.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1959.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1959.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1959.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1959.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1959.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1959.c:51,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1959.c:52,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1959.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1959.c:58,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1959.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1959.c:62,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1959.c:64,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1959.c:68,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1959.c:69,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1959.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1959.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: test_lib1959
    functionSourceFile: /src/curl/tests/libtest/lib1959.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1959(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib589.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib589.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib589.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib589.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib589.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib589.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib589.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib589.c:48,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib589.c:51,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib589.c:52,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib589.c:53,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib589.c:54,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib589.c:55,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib589.c:56,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib589.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib589.c:62,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib589.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib589.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib589.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: test_lib589
    functionSourceFile: /src/curl/tests/libtest/lib589.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mime_name
    - curl_mime_data
    - curl_global_init
    - test_setopt
    - curl_mime_free
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib589(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1970.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1970.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1970.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1970.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1970.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1970.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1970.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1970.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1970.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1970.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1970.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1970.c:53,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1970.c:54,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1970.c:57,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1970.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1970.c:61,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1970.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1970.c:67,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1970.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1970.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1970.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 73
    functionName: test_lib1970
    functionSourceFile: /src/curl/tests/libtest/lib1970.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1970(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: res_global_init
      Src: /src/curl/tests/libtest/lib1502.c:48,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1502.c:53,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1502.c:56,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1502.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1502.c:60,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:61,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1502.c:65,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1502.c:67,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1502.c:68,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1502.c:69,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib1502.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:73,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1502.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:79,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1502.c:83,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1502.c:85,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1502.c:87,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1502.c:89,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1502.c:98,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1502.c:99,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1502.c:100,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib1502.c:104,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib1502.c:108,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1502.c:110,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1502.c:112,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1502.c:114,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:123,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:124,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:125,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib1502.c:129,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:130,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:131,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:132,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:136,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:137,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:138,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib1502.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:143,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:144,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1502.c:145,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1502.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 152
    functionName: test_lib1502
    functionSourceFile: /src/curl/tests/libtest/lib1502.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_add_handle
    - curl_slist_free_all
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - curl_slist_append
    - curl_easy_duphandle
    - start_test_timing
    - curl_msnprintf
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - res_global_init
    - select_test
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1502(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib2402.c:43,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2402.c:45,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib2402.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2402.c:48,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib2402.c:52,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2402.c:54,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib2402.c:56,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib2402.c:58,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib2402.c:61,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib2402.c:63,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib2402.c:65,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2402.c:69,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2402.c:71,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2402.c:73,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2402.c:74,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2402.c:76,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2402.c:78,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2402.c:80,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2402.c:82,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2402.c:85,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib2402.c:87,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib2402.c:89,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib2402.c:99,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib2402.c:101,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2402.c:106,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2402.c:107,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2402.c:108,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib2402.c:110,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib2402.c:114,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib2402.c:116,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib2402.c:118,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib2402.c:125,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib2402.c:126,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2402.c:127,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib2402.c:130,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib2402.c:132,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2402.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 136
    functionName: test_lib2402
    functionSourceFile: /src/curl/tests/libtest/lib2402.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_add_handle
    - curl_slist_free_all
    - multi_perform
    - curl_mprintf
    - easy_setopt
    - abort_on_test_timeout
    - curlx_wait_ms
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - curl_slist_append
    - global_init
    - start_test_timing
    - curl_msnprintf
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - select_test
    - easy_init
    - FD_ZERO
    - multi_setopt
    - curl_multi_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2402(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:52,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - frame
    - r_offset
    - nread
    - exp_len
    argTypes:
    - struct curl_ws_frame*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 70
    functionName: test_ws_data_m2_check_recv
    functionSourceFile: /src/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode test_ws_data_m2_check_recv(const struct curl_ws_frame *frame,\n
      \                          size_t r_offset, size_t nread,\n                           size_t
      exp_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/tests/libtest/cli_ws_data.c:86,1
    - Dst: calloc
      Src: /src/curl/tests/libtest/cli_ws_data.c:87,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_ws_data.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:107,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/cli_ws_data.c:108,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:109,1
    - Dst: memset
      Src: /src/curl/tests/libtest/cli_ws_data.c:117,1
    - Dst: curl_ws_send
      Src: /src/curl/tests/libtest/cli_ws_data.c:121,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:124,1
    - Dst: curl_ws_recv
      Src: /src/curl/tests/libtest/cli_ws_data.c:141,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:145,1
    - Dst: test_ws_data_m2_check_recv
      Src: /src/curl/tests/libtest/cli_ws_data.c:148,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:165,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/cli_ws_data.c:166,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/cli_ws_data.c:170,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:171,1
    - Dst: debug_dump
      Src: /src/curl/tests/libtest/cli_ws_data.c:172,1
    - Dst: debug_dump
      Src: /src/curl/tests/libtest/cli_ws_data.c:174,1
    - Dst: ws_close
      Src: /src/curl/tests/libtest/cli_ws_data.c:184,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_ws_data.c:185,1
    - Dst: free
      Src: /src/curl/tests/libtest/cli_ws_data.c:187,1
    - Dst: free
      Src: /src/curl/tests/libtest/cli_ws_data.c:188,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 4
    argNames:
    - url
    - count
    - plen_min
    - plen_max
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 190
    functionName: test_ws_data_m2_echo
    functionSourceFile: /src/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - calloc
    - curl_easy_perform
    - curlx_wait_ms
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_ws_send
    - free
    - test_ws_data_m2_check_recv
    - curl_ws_recv
    - memcmp
    - memset
    - curl_easy_init
    - curl_easy_setopt
    - ws_close
    - debug_dump
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode test_ws_data_m2_echo(const char *url,\n                                     size_t
      count,\n                                     size_t plen_min,\n                                     size_t
      plen_max)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_start_frame
      Src: /src/curl/tests/libtest/cli_ws_data.c:219,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/cli_ws_data.c:227,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:230,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 244
    functionName: test_ws_data_m1_read
    functionSourceFile: /src/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_ws_start_frame
    - curl_mfprintf
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t test_ws_data_m1_read(char *buf, size_t nitems, size_t buflen,\n
      \                                  void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:255,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/cli_ws_data.c:259,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/cli_ws_data.c:263,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:264,1
    - Dst: debug_dump
      Src: /src/curl/tests/libtest/cli_ws_data.c:267,1
    - Dst: debug_dump
      Src: /src/curl/tests/libtest/cli_ws_data.c:269,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 282
    functionName: test_ws_data_m1_write
    functionSourceFile: /src/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - debug_dump
    - memcmp
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t test_ws_data_m1_write(char *buf, size_t nitems, size_t buflen,\n
      \                                   void *userdata)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:294,1
    - Dst: memset
      Src: /src/curl/tests/libtest/cli_ws_data.c:296,1
    - Dst: calloc
      Src: /src/curl/tests/libtest/cli_ws_data.c:297,1
    - Dst: calloc
      Src: /src/curl/tests/libtest/cli_ws_data.c:298,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/cli_ws_data.c:307,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_ws_data.c:313,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:321,1
    - Dst: memset
      Src: /src/curl/tests/libtest/cli_ws_data.c:332,1
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/cli_ws_data.c:333,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/cli_ws_data.c:335,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:336,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:338,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:339,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:341,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:342,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:343,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:344,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:346,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/cli_ws_data.c:348,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/cli_ws_data.c:352,1
    - Dst: curl_multi_poll
      Src: /src/curl/tests/libtest/cli_ws_data.c:360,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_ws_data.c:369,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:373,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:379,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/cli_ws_data.c:388,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_ws_data.c:390,1
    - Dst: free
      Src: /src/curl/tests/libtest/cli_ws_data.c:392,1
    - Dst: free
      Src: /src/curl/tests/libtest/cli_ws_data.c:393,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 3
    argNames:
    - url
    - plen_min
    - plen_max
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 395
    functionName: test_ws_data_m1_echo
    functionSourceFile: /src/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - calloc
    - curl_easy_pause
    - curl_multi_remove_handle
    - curl_mfprintf
    - curl_easy_reset
    - curl_easy_cleanup
    - curl_multi_cleanup
    - free
    - curl_multi_add_handle
    - curl_multi_poll
    - memset
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode test_ws_data_m1_echo(const char *url,\n                                     size_t
      plen_min,\n                                     size_t plen_max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:401,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: test_ws_data_usage
    functionSourceFile: /src/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void test_ws_data_usage(const char *msg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/curl/tests/libtest/cli_ws_data.c:421,1
    - Dst: test_ws_data_usage
      Src: /src/curl/tests/libtest/cli_ws_data.c:430,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_ws_data.c:434,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_ws_data.c:437,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_ws_data.c:440,1
    - Dst: test_ws_data_usage
      Src: /src/curl/tests/libtest/cli_ws_data.c:443,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:455,1
    - Dst: test_ws_data_usage
      Src: /src/curl/tests/libtest/cli_ws_data.c:462,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/cli_ws_data.c:468,1
    - Dst: test_ws_data_m1_echo
      Src: /src/curl/tests/libtest/cli_ws_data.c:471,1
    - Dst: test_ws_data_m2_echo
      Src: /src/curl/tests/libtest/cli_ws_data.c:473,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/cli_ws_data.c:476,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_data.c:481,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 484
    functionName: test_cli_ws_data
    functionSourceFile: /src/curl/tests/libtest/cli_ws_data.c
    functionUses: 0
    functionsReached:
    - test_ws_data_usage
    - test_ws_data_m1_echo
    - curl_mfprintf
    - test_ws_data_m2_echo
    - curl_global_cleanup
    - curl_global_init
    - cgetopt
    - atol
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_ws_data(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1526.c:39,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1526.c:40,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1526.c:43,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1526.c:43,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1526.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: t1526_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1526.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t1526_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1526.c:54,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1526.c:55,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1526.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1526.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1526.c:62,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1526.c:66,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1526.c:67,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1526.c:71,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:78,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:79,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:80,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:81,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:82,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:83,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:84,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:85,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:86,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:88,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:89,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1526.c:90,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1526.c:90,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1526.c:92,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1526.c:96,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1526.c:98,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1526.c:100,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1526.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 105
    functionName: test_lib1526
    functionSourceFile: /src/curl/tests/libtest/lib1526.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1526(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:69,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:75,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - handle
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 82
    functionName: t506_test_lock
    functionSourceFile: /src/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: "void t506_test_lock(CURL *handle, curl_lock_data data,\n                           curl_lock_access
      laccess, void *useptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:105,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:111,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - handle
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 118
    functionName: t506_test_unlock
    functionSourceFile: /src/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void t506_test_unlock(CURL *handle, curl_lock_data data, void *useptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib506.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - headers
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: sethost
    functionSourceFile: /src/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *sethost(struct curl_slist *headers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib506.c:135,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:137,1
    - Dst: sethost
      Src: /src/curl/tests/libtest/lib506.c:141,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib506.c:142,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib506.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib506.c:144,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib506.c:145,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:146,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib506.c:147,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:149,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib506.c:150,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:153,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:157,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib506.c:158,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib506.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: t506_test_fire
    functionSourceFile: /src/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_slist_free_all
    - sethost
    - curl_mprintf
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void *t506_test_fire(void *ptr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:185,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib506.c:186,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:187,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:192,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/lib506.c:193,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:195,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib506.c:196,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:201,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib506.c:202,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:205,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib506.c:206,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:209,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib506.c:210,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:213,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib506.c:214,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:217,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib506.c:218,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:222,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib506.c:223,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib506.c:224,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib506.c:229,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:231,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib506.c:232,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib506.c:233,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:236,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:237,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:238,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:239,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:242,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:243,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:244,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:245,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:246,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:247,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:250,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:251,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:252,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib506.c:253,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib506.c:260,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:264,1
    - Dst: t506_test_fire
      Src: /src/curl/tests/libtest/lib506.c:265,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib506.c:267,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:272,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib506.c:273,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:275,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib506.c:276,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib506.c:277,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib506.c:281,1
    - Dst: sethost
      Src: /src/curl/tests/libtest/lib506.c:282,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:283,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:284,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:285,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:286,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:287,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:288,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:289,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:290,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:292,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib506.c:293,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:295,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib506.c:296,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib506.c:297,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib506.c:298,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib506.c:301,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:303,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib506.c:304,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib506.c:305,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib506.c:308,1
    - Dst: sethost
      Src: /src/curl/tests/libtest/lib506.c:309,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:310,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:311,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:312,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:313,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:314,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:315,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:316,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:317,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:318,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib506.c:319,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib506.c:323,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:325,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:329,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:331,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:335,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:338,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:341,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib506.c:342,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:345,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib506.c:346,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:348,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:352,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:358,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib506.c:359,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib506.c:360,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib506.c:361,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:364,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib506.c:365,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib506.c:367,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib506.c:369,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib506.c:370,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 156
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 373
    functionName: test_lib506
    functionSourceFile: /src/curl/tests/libtest/lib506.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_share_init
    - tutil_suburl
    - curl_mfprintf
    - t506_test_fire
    - curl_share_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_free
    - sethost
    - curl_global_init
    - curl_mprintf
    - test_setopt
    - curl_easy_getinfo
    - curl_easy_init
    - curl_share_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib506(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib598.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib598.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib598.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib598.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib598.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib598.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib598.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib598.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib598.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib598.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib598.c:50,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib598.c:52,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib598.c:54,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib598.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib598.c:60,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib598.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib598.c:62,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib598.c:64,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib598.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib598.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib598.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 74
    functionName: test_lib598
    functionSourceFile: /src/curl/tests/libtest/lib598.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_reset
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib598(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1576.c:33,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1576.c:34,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1576.c:37,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1576.c:37,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1576.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: t1576_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1576.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t1576_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - offset
    - origin
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: t1576_seek_callback
    functionSourceFile: /src/curl/tests/libtest/lib1576.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t1576_seek_callback(void *ptr, curl_off_t offset, int origin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1576.c:56,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1576.c:57,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1576.c:61,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1576.c:63,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1576.c:64,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:68,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:69,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:70,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:71,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:72,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:73,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:74,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1576.c:74,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:76,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:78,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1576.c:81,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1576.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1576.c:86,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1576.c:87,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1576.c:90,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1576.c:91,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1576.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 95
    functionName: test_lib1576
    functionSourceFile: /src/curl/tests/libtest/lib1576.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1576(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1972.c:37,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1972.c:38,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1972.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1972.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1972.c:45,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib1972.c:49,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib1972.c:52,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib1972.c:55,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib1972.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1972.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1972.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1972.c:60,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1972.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1972.c:62,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1972.c:63,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1972.c:64,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1972.c:67,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1972.c:69,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1972.c:71,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1972.c:73,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1972.c:77,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1972.c:78,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1972.c:79,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib1972.c:80,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1972.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 84
    functionName: test_lib1972
    functionSourceFile: /src/curl/tests/libtest/lib1972.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_mime_name
    - curl_mime_data
    - curl_global_init
    - test_setopt
    - curl_mime_free
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1972(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3104.c:34,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/lib3104.c:36,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib3104.c:37,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib3104.c:39,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3104.c:40,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3104.c:42,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3104.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3104.c:44,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3104.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3104.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3104.c:49,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3104.c:52,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3104.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib3104.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3104.c:61,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib3104.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3104.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: test_lib3104
    functionSourceFile: /src/curl/tests/libtest/lib3104.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_share_init
    - curl_mfprintf
    - curl_share_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - curl_share_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3104(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1974.c:34,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1974.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1974.c:39,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1974.c:41,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1974.c:42,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1974.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1974.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1974.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1974.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1974.c:50,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1974.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1974.c:54,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1974.c:56,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1974.c:60,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1974.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1974.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 65
    functionName: test_lib1974
    functionSourceFile: /src/curl/tests/libtest/lib1974.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1974(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib3105.c:36,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib3105.c:38,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib3105.c:40,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib3105.c:42,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib3105.c:44,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib3105.c:46,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib3105.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3105.c:50,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib3105.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3105.c:56,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3105.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 63
    functionName: test_lib3105
    functionSourceFile: /src/curl/tests/libtest/lib3105.c
    functionUses: 0
    functionsReached:
    - multi_init
    - curl_multi_remove_handle
    - curl_mfprintf
    - easy_init
    - multi_add_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3105(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1538.c:38,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/lib1538.c:39,1
    - Dst: curl_share_strerror
      Src: /src/curl/tests/libtest/lib1538.c:40,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1538.c:41,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1538.c:42,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/lib1538.c:43,1
    - Dst: curl_share_strerror
      Src: /src/curl/tests/libtest/lib1538.c:44,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1538.c:45,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1538.c:48,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1538.c:48,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1538.c:52,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/lib1538.c:52,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1538.c:55,1
    - Dst: curl_share_strerror
      Src: /src/curl/tests/libtest/lib1538.c:55,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1538.c:58,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1538.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib1538
    functionSourceFile: /src/curl/tests/libtest/lib1538.c
    functionUses: 0
    functionsReached:
    - curl_share_strerror
    - curl_easy_strerror
    - curl_multi_strerror
    - curl_mprintf
    - curl_url_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1538(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib544.c:41,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib544.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib544.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib544.c:48,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib544.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib544.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib544.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib544.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib544.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib544.c:63,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib544.c:64,1
    - Dst: strcpy
      Src: /src/curl/tests/libtest/lib544.c:67,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib544.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib544.c:72,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib544.c:78,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib544.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib544.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 87
    functionName: test_lib544
    functionSourceFile: /src/curl/tests/libtest/lib544.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_duphandle
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - memcpy
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - strcpy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib544(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1501.c:40,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1501.c:42,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1501.c:44,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1501.c:46,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1501.c:47,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1501.c:49,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1501.c:51,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1501.c:53,1
    - Dst: abort_on_test_timeout_custom
      Src: /src/curl/tests/libtest/lib1501.c:55,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1501.c:70,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1501.c:71,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1501.c:72,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib1501.c:74,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib1501.c:78,1
    - Dst: abort_on_test_timeout_custom
      Src: /src/curl/tests/libtest/lib1501.c:80,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1501.c:82,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1501.c:83,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1501.c:85,1
    - Dst: abort_on_test_timeout_custom
      Src: /src/curl/tests/libtest/lib1501.c:87,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1501.c:89,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/libtest/lib1501.c:90,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1501.c:91,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1501.c:103,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1501.c:104,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1501.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 108
    functionName: test_lib1501
    functionSourceFile: /src/curl/tests/libtest/lib1501.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - select_test
    - curl_mfprintf
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curlx_now
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_perform
    - curlx_timediff
    - curl_global_cleanup
    - easy_setopt
    - global_init
    - abort_on_test_timeout_custom
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1501(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1553.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: t1553_xferinfo
    functionSourceFile: /src/curl/tests/libtest/lib1553.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int t1553_xferinfo(void *p,\n                          curl_off_t
      dltotal, curl_off_t dlnow,\n                          curl_off_t ultotal, curl_off_t
      ulnow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1553.c:53,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1553.c:55,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1553.c:57,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1553.c:59,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib1553.c:61,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib1553.c:62,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib1553.c:63,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib1553.c:64,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1553.c:66,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1553.c:67,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1553.c:68,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1553.c:69,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1553.c:70,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1553.c:71,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1553.c:72,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1553.c:76,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1553.c:77,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1553.c:78,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1553.c:80,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1553.c:82,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1553.c:84,1
    - Dst: curl_multi_wait
      Src: /src/curl/tests/libtest/lib1553.c:89,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1553.c:91,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1553.c:96,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1553.c:98,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1553.c:100,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib1553.c:105,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib1553.c:106,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1553.c:107,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1553.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1553.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 115
    functionName: test_lib1553
    functionSourceFile: /src/curl/tests/libtest/lib1553.c
    functionUses: 0
    functionsReached:
    - multi_add_handle
    - multi_perform
    - curl_mime_data
    - curl_mprintf
    - test_setopt
    - easy_setopt
    - abort_on_test_timeout
    - multi_init
    - curl_global_cleanup
    - curl_mime_free
    - global_init
    - start_test_timing
    - curl_mime_init
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_multi_wait
    - curl_mime_addpart
    - easy_init
    - curl_multi_cleanup
    - curl_mime_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1553(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib526.c:56,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib526.c:59,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib526.c:61,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib526.c:64,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib526.c:65,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib526.c:67,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib526.c:69,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib526.c:72,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib526.c:74,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib526.c:76,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib526.c:86,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib526.c:88,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib526.c:95,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib526.c:98,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib526.c:99,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib526.c:102,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib526.c:106,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib526.c:107,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib526.c:109,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib526.c:112,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib526.c:115,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib526.c:123,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib526.c:124,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib526.c:125,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib526.c:127,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib526.c:131,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib526.c:133,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib526.c:141,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib526.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib526.c:143,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib526.c:145,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib526.c:146,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib526.c:155,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib526.c:156,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib526.c:158,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib526.c:159,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib526.c:165,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib526.c:166,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib526.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib526.c:168,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 172
    functionName: test_lib526
    functionSourceFile: /src/curl/tests/libtest/lib526.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - curl_multi_remove_handle
    - curl_mfprintf
    - curl_easy_reset
    - select_test
    - easy_init
    - multi_add_handle
    - curl_easy_cleanup
    - FD_ZERO
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - CURL_ARRAYSIZE
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib526(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1905.c:35,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/lib1905.c:37,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1905.c:39,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/lib1905.c:42,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib1905.c:46,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib1905.c:47,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1905.c:49,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1905.c:53,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1905.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1905.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1905.c:56,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/lib1905.c:58,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1905.c:67,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1905.c:68,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1905.c:69,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/lib1905.c:70,1
    - Dst: curl_multi_fdset
      Src: /src/curl/tests/libtest/lib1905.c:72,1
    - Dst: curl_multi_timeout
      Src: /src/curl/tests/libtest/lib1905.c:73,1
    - Dst: curlx_mstotv
      Src: /src/curl/tests/libtest/lib1905.c:76,1
    - Dst: select
      Src: /src/curl/tests/libtest/lib1905.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1905.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1905.c:87,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib1905.c:89,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1905.c:91,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib1905.c:92,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1905.c:93,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1905.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 97
    functionName: test_lib1905
    functionSourceFile: /src/curl/tests/libtest/lib1905.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - curl_share_init
    - curl_multi_remove_handle
    - curl_multi_timeout
    - curl_share_setopt
    - curl_easy_cleanup
    - FD_ZERO
    - curl_global_cleanup
    - curl_multi_cleanup
    - curl_share_cleanup
    - select
    - curlx_mstotv
    - curl_multi_add_handle
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    - curl_multi_fdset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1905(const char *URL)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib556.c:34,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib556.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib556.c:39,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib556.c:41,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib556.c:42,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib556.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib556.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib556.c:48,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib556.c:52,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib556.c:60,1
    - Dst: curl_easy_send
      Src: /src/curl/tests/libtest/lib556.c:67,1
    - Dst: curl_easy_recv
      Src: /src/curl/tests/libtest/lib556.c:77,1
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib556.c:82,1
    - Dst: write
      Src: /src/curl/tests/libtest/lib556.c:84,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib556.c:87,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib556.c:88,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib556.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib556.c:110,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 113
    functionName: test_lib556
    functionSourceFile: /src/curl/tests/libtest/lib556.c
    functionUses: 0
    functionsReached:
    - write
    - curl_easy_perform
    - strlen
    - curlx_strerror
    - fwrite
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_recv
    - test_setopt
    - curl_easy_init
    - curl_easy_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib556(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1916.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1916.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1916.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1916.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1916.c:43,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1916.c:46,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1916.c:48,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1916.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1916.c:52,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1916.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: test_lib1916
    functionSourceFile: /src/curl/tests/libtest/lib1916.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_mprintf
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1916(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib536.c:31,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib536.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: proxystat
    functionSourceFile: /src/curl/tests/libtest/lib536.c
    functionUses: 0
    functionsReached:
    - curl_easy_getinfo
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void proxystat(CURL *curl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib536.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib536.c:47,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib536.c:51,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib536.c:53,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib536.c:54,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib536.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib536.c:62,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib536.c:63,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib536.c:64,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib536.c:65,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib536.c:66,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib536.c:68,1
    - Dst: proxystat
      Src: /src/curl/tests/libtest/lib536.c:70,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib536.c:71,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib536.c:72,1
    - Dst: proxystat
      Src: /src/curl/tests/libtest/lib536.c:74,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib536.c:79,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib536.c:80,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib536.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 84
    functionName: test_lib536
    functionSourceFile: /src/curl/tests/libtest/lib536.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - proxystat
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib536(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib502.c:39,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib502.c:41,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib502.c:43,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib502.c:45,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib502.c:47,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib502.c:49,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib502.c:59,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib502.c:61,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib502.c:66,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib502.c:67,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib502.c:68,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib502.c:70,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib502.c:74,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib502.c:76,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib502.c:83,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib502.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib502.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib502.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 89
    functionName: test_lib502
    functionSourceFile: /src/curl/tests/libtest/lib502.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - select_test
    - curl_multi_remove_handle
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib502(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1542.c:43,1
    - Dst: res_easy_init
      Src: /src/curl/tests/libtest/lib1542.c:45,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1542.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1542.c:51,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1542.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1542.c:53,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1542.c:55,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1542.c:59,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib1542.c:65,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1542.c:67,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1542.c:71,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1542.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1542.c:79,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1542.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 83
    functionName: test_lib1542
    functionSourceFile: /src/curl/tests/libtest/lib1542.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_easy_perform
    - curlx_wait_ms
    - curl_easy_cleanup
    - curl_global_cleanup
    - res_easy_init
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1542(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: t508_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib508.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t508_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib508.c:61,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib508.c:63,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib508.c:64,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib508.c:68,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib508.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib508.c:71,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib508.c:76,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib508.c:79,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib508.c:82,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib508.c:85,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib508.c:88,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib508.c:91,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib508.c:94,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib508.c:97,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib508.c:102,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib508.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 106
    functionName: test_lib508
    functionSourceFile: /src/curl/tests/libtest/lib508.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib508(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/curl/tests/libtest/lib3102.c:52,1
    - Dst: strncmp
      Src: /src/curl/tests/libtest/lib3102.c:55,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3102.c:61,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3102.c:62,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3102.c:63,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib3102.c:68,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3102.c:69,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3102.c:72,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3102.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - cert_info
    argTypes:
    - struct curl_certinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 83
    functionName: is_chain_in_order
    functionSourceFile: /src/curl/tests/libtest/lib3102.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strncmp
    - curl_mprintf
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_chain_in_order(struct curl_certinfo *cert_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: wrfu
    functionSourceFile: /src/curl/tests/libtest/lib3102.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wrfu(void *ptr,  size_t  size,  size_t  nmemb,  void *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3102.c:97,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3102.c:98,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib3102.c:102,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3102.c:104,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3102.c:105,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3102.c:110,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3102.c:113,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3102.c:116,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3102.c:119,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3102.c:120,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3102.c:123,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib3102.c:127,1
    - Dst: is_chain_in_order
      Src: /src/curl/tests/libtest/lib3102.c:130,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3102.c:138,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3102.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 142
    functionName: test_lib3102
    functionSourceFile: /src/curl/tests/libtest/lib3102.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - is_chain_in_order
    - curl_global_init
    - curl_easy_getinfo
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3102(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1903.c:32,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1903.c:34,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1903.c:36,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1903.c:37,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1903.c:38,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib1903.c:42,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1903.c:44,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1903.c:45,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1903.c:46,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1903.c:47,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1903.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1903.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib1903
    functionSourceFile: /src/curl/tests/libtest/lib1903.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_reset
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1903(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/testtrace.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/testtrace.c:51,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/testtrace.c:57,1
    - Dst: fputs
      Src: /src/curl/tests/libtest/testtrace.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/testtrace.c:69,1
    - Dst: fputc
      Src: /src/curl/tests/libtest/testtrace.c:79,1
    - Dst: fflush
      Src: /src/curl/tests/libtest/testtrace.c:81,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 6
    argNames:
    - timebuf
    - text
    - stream
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - char*
    - FILE*
    - unsigned char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: debug_dump
    functionSourceFile: /src/curl/tests/libtest/testtrace.c
    functionUses: 2
    functionsReached:
    - curl_mfprintf
    - fputc
    - fputs
    - fflush
    linkageType: ''
    returnType: void
    signature: "void debug_dump(const char *timebuf, const char *text,\n                FILE
      *stream, const unsigned char *ptr,\n                size_t size, bool nohex)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/testtrace.c:101,1
    - Dst: time
      Src: /src/curl/tests/libtest/testtrace.c:103,1
    - Dst: localtime
      Src: /src/curl/tests/libtest/testtrace.c:108,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/testtrace.c:109,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/testtrace.c:115,1
    - Dst: debug_dump
      Src: /src/curl/tests/libtest/testtrace.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 142
    functionName: libtest_debug_cb
    functionSourceFile: /src/curl/tests/libtest/testtrace.c
    functionUses: 0
    functionsReached:
    - localtime
    - curl_msnprintf
    - curl_mfprintf
    - curlx_now
    - debug_dump
    - time
    linkageType: ''
    returnType: int
    signature: "int libtest_debug_cb(CURL *handle, curl_infotype type,\n                     char
      *data, size_t size, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/testtrace.c:154,1
    - Dst: fputs
      Src: /src/curl/tests/libtest/testtrace.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - log
    - idsbuf
    - type
    argTypes:
    - FILE*
    - char*
    - curl_infotype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: log_line_start
    functionSourceFile: /src/curl/tests/libtest/testtrace.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - fputs
    linkageType: ''
    returnType: void
    signature: void log_line_start(FILE *log, const char *idsbuf, curl_infotype type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/testtrace.c:172,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/testtrace.c:173,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/testtrace.c:175,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/testtrace.c:180,1
    - Dst: log_line_start
      Src: /src/curl/tests/libtest/testtrace.c:195,1
    - Dst: fwrite
      Src: /src/curl/tests/libtest/testtrace.c:197,1
    - Dst: log_line_start
      Src: /src/curl/tests/libtest/testtrace.c:203,1
    - Dst: fwrite
      Src: /src/curl/tests/libtest/testtrace.c:204,1
    - Dst: log_line_start
      Src: /src/curl/tests/libtest/testtrace.c:212,1
    - Dst: fwrite
      Src: /src/curl/tests/libtest/testtrace.c:213,1
    - Dst: log_line_start
      Src: /src/curl/tests/libtest/testtrace.c:223,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/testtrace.c:224,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 236
    functionName: cli_debug_cb
    functionSourceFile: /src/curl/tests/libtest/testtrace.c
    functionUses: 0
    functionsReached:
    - log_line_start
    - fwrite
    - curl_mfprintf
    - curl_msnprintf
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: "int cli_debug_cb(CURL *handle, curl_infotype type,\n                 char
      *data, size_t size, void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1935.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1935.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1935.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1935.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1935.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1935.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1935.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1935.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1935.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1935.c:51,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1935.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1935.c:55,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1935.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1935.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1935.c:59,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1935.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1935.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1935.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1935.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib1935
    functionSourceFile: /src/curl/tests/libtest/lib1935.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1935(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib678.c:33,1
    - Dst: fseek
      Src: /src/curl/tests/libtest/lib678.c:37,1
    - Dst: ftell
      Src: /src/curl/tests/libtest/lib678.c:39,1
    - Dst: fseek
      Src: /src/curl/tests/libtest/lib678.c:45,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib678.c:47,1
    - Dst: fread
      Src: /src/curl/tests/libtest/lib678.c:49,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib678.c:51,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib678.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - filename
    - filedata
    - filesize
    argTypes:
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: loadfile
    functionSourceFile: /src/curl/tests/libtest/lib678.c
    functionUses: 0
    functionsReached:
    - malloc
    - ftell
    - curlx_fopen
    - fread
    - free
    - fseek
    - curlx_fclose
    linkageType: ''
    returnType: int
    signature: int loadfile(const char *filename, void **filedata, size_t *filesize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib678.c:72,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib678.c:74,1
    - Dst: loadfile
      Src: /src/curl/tests/libtest/lib678.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib678.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib678.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib678.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib678.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib678.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib678.c:88,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib678.c:89,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib678.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib678.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - url
    - cafile
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 95
    functionName: test_cert_blob
    functionSourceFile: /src/curl/tests/libtest/lib678.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - free
    - loadfile
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cert_blob(const char *url, const char *cafile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib678.c:100,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib678.c:101,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib678.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib678.c:107,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib678.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib678.c:110,1
    - Dst: test_cert_blob
      Src: /src/curl/tests/libtest/lib678.c:115,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib678.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: test_lib678
    functionSourceFile: /src/curl/tests/libtest/lib678.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    - strcmp
    - curl_global_init
    - curl_mprintf
    - curl_easy_init
    - curl_easy_setopt
    - test_cert_blob
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib678(const char *URL)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/libtest/lib652.c:43,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib652.c:45,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib652.c:46,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib652.c:50,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib652.c:52,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib652.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib652.c:60,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib652.c:64,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib652.c:66,1
    - Dst: curl_mime_filename
      Src: /src/curl/tests/libtest/lib652.c:70,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib652.c:72,1
    - Dst: curl_mime_type
      Src: /src/curl/tests/libtest/lib652.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib652.c:77,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib652.c:80,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib652.c:82,1
    - Dst: curl_mime_encoder
      Src: /src/curl/tests/libtest/lib652.c:85,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib652.c:87,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib652.c:92,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib652.c:94,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib652.c:99,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib652.c:102,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib652.c:105,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib652.c:108,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib652.c:111,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib652.c:114,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib652.c:117,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib652.c:122,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib652.c:125,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib652.c:128,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib652.c:130,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 133
    functionName: test_lib652
    functionSourceFile: /src/curl/tests/libtest/lib652.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_mime_filename
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_mime_encoder
    - curl_global_cleanup
    - test_setopt
    - curl_slist_append
    - curl_mime_data
    - curl_global_init
    - memset
    - curl_mime_free
    - curl_easy_init
    - curl_mime_type
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib652(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: t1514_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1514.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1514_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1514.c:64,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1514.c:66,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1514.c:68,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1514.c:69,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1514.c:71,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1514.c:72,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1514.c:76,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1514.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1514.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1514.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: test_lib1514
    functionSourceFile: /src/curl/tests/libtest/lib1514.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1514(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1525.c:40,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1525.c:41,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1525.c:44,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1525.c:44,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1525.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: t1525_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1525.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t1525_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1525.c:55,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1525.c:56,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1525.c:60,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1525.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1525.c:63,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1525.c:67,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:73,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:74,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:75,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:76,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:78,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:79,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:80,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:81,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:82,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:83,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:84,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:85,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1525.c:86,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1525.c:86,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1525.c:88,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1525.c:92,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1525.c:94,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1525.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: test_lib1525
    functionSourceFile: /src/curl/tests/libtest/lib1525.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1525(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1933.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1933.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1933.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1933.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1933.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1933.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1933.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1933.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1933.c:50,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1933.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1933.c:54,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1933.c:55,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1933.c:56,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1933.c:58,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1933.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1933.c:63,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1933.c:64,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1933.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: test_lib1933
    functionSourceFile: /src/curl/tests/libtest/lib1933.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1933(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1532.c:36,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1532.c:38,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1532.c:40,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1532.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1532.c:44,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1532.c:46,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1532.c:50,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1532.c:52,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1532.c:54,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1532.c:58,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib1532.c:65,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1532.c:67,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1532.c:69,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1532.c:71,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1532.c:75,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1532.c:84,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1532.c:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 87
    functionName: test_lib1532
    functionSourceFile: /src/curl/tests/libtest/lib1532.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_reset
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_getinfo
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1532(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1900.c:34,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1900.c:36,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1900.c:37,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1900.c:38,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1900.c:39,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib1900.c:41,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1900.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1900.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1900.c:45,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1900.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1900.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1900.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: test_lib1900
    functionSourceFile: /src/curl/tests/libtest/lib1900.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - easy_init
    - curl_global_cleanup
    - curl_easy_duphandle
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1900(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/curl/tests/libtest/lib2304.c:32,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2304.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: recv_any
    functionSourceFile: /src/curl/tests/libtest/lib2304.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_ws_recv
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode recv_any(CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2304.c:44,1
    - Dst: recv_any
      Src: /src/curl/tests/libtest/lib2304.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2304.c:47,1
    - Dst: ws_send_ping
      Src: /src/curl/tests/libtest/lib2304.c:48,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2304.c:50,1
    - Dst: ws_recv_pong
      Src: /src/curl/tests/libtest/lib2304.c:51,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2304.c:52,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib2304.c:55,1
    - Dst: ws_close
      Src: /src/curl/tests/libtest/lib2304.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: t2304_websocket
    functionSourceFile: /src/curl/tests/libtest/lib2304.c
    functionUses: 0
    functionsReached:
    - curlx_wait_ms
    - ws_close
    - curl_mfprintf
    - ws_send_ping
    - curl_mprintf
    - recv_any
    - ws_recv_pong
    linkageType: ''
    returnType: void
    signature: void t2304_websocket(CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2304.c:67,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib2304.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2304.c:71,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2304.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2304.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2304.c:76,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2304.c:77,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2304.c:78,1
    - Dst: t2304_websocket
      Src: /src/curl/tests/libtest/lib2304.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2304.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2304.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: test_lib2304
    functionSourceFile: /src/curl/tests/libtest/lib2304.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - t2304_websocket
    - curl_easy_init
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2304(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: fail_if
    functionSourceFile: /src/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_if(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: fail_unless
    functionSourceFile: /src/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail_unless(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dynamic
    - ','
    - check
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: verify_memory
    functionSourceFile: /src/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verify_memory(dynamic, check, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: fail
    functionSourceFile: /src/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fail(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: abort_if
    functionSourceFile: /src/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abort_if(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: abort_unless
    functionSourceFile: /src/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abort_unless(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: unittest_abort
    functionSourceFile: /src/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unittest_abort(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - setupfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: UNITTEST_BEGIN
    functionSourceFile: /src/curl/tests/libtest/unitcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITTEST_BEGIN(setupfunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1599.c:31,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1599.c:32,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1599.c:34,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1599.c:35,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1599.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1599.c:37,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1599.c:39,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1599.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1599.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: test_lib1599
    functionSourceFile: /src/curl/tests/libtest/lib1599.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_init
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1599(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1973.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1973.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1973.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1973.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1973.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1973.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1973.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1973.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1973.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1973.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1973.c:52,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1973.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1973.c:56,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1973.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1973.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1973.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1973.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1973.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1973.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1973.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: test_lib1973
    functionSourceFile: /src/curl/tests/libtest/lib1973.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1973(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1571.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1571.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1571.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1571.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1571.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1571.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1571.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1571.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1571.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1571.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1571.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1571.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1571.c:61,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1571.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1571.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1571.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: test_lib1571
    functionSourceFile: /src/curl/tests/libtest/lib1571.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1571(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib516.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib516.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib516.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib516.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib516.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib516.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib516.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib516.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib516.c:49,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib516.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib516.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib516.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: test_lib516
    functionSourceFile: /src/curl/tests/libtest/lib516.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib516(const char *URL)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/libtest/lib751.c:41,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib751.c:43,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/lib751.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib751.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib751.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib751.c:60,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/lib751.c:64,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib751.c:66,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/lib751.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib751.c:75,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib751.c:75,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/lib751.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib751.c:80,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib751.c:84,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib751.c:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 88
    functionName: test_lib751
    functionSourceFile: /src/curl/tests/libtest/lib751.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_multi_strerror
    - curl_multi_cleanup
    - curl_global_cleanup
    - curl_multi_add_handle
    - curl_global_init
    - memset
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib751(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1934.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1934.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1934.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1934.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1934.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1934.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1934.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1934.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1934.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1934.c:51,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1934.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1934.c:55,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1934.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1934.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1934.c:59,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1934.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1934.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1934.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1934.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib1934
    functionSourceFile: /src/curl/tests/libtest/lib1934.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1934(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib520.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib520.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib520.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib520.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib520.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib520.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib520.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib520.c:47,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib520.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib520.c:53,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib520.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: test_lib520
    functionSourceFile: /src/curl/tests/libtest/lib520.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib520(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: get_transfer_for_easy_u
    functionSourceFile: /src/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct transfer_u
    signature: struct transfer_u *get_transfer_for_easy_u(CURL *easy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:70,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:75,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/cli_hx_upload.c:77,1
    - Dst: fwrite
      Src: /src/curl/tests/libtest/cli_hx_upload.c:82,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: my_write_u_cb
    functionSourceFile: /src/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_fopen
    - fwrite
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t my_write_u_cb(char *buf, size_t nitems, size_t buflen,\n                            void
      *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:105,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:113,1
    - Dst: memset
      Src: /src/curl/tests/libtest/cli_hx_upload.c:118,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 126
    functionName: my_read_cb
    functionSourceFile: /src/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - memset
    linkageType: ''
    returnType: size_t
    signature: "size_t my_read_cb(char *buf, size_t nitems, size_t buflen,\n                         void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - userdata
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: my_progress_u_cb
    functionSourceFile: /src/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int my_progress_u_cb(void *userdata,\n                            curl_off_t
      dltotal, curl_off_t dlnow,\n                            curl_off_t ultotal,
      curl_off_t ulnow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:149,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:150,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:151,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:152,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:153,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:154,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:155,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:156,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:157,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:159,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_upload.c:161,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:162,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_upload.c:163,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:164,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:166,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:169,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:170,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:172,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:174,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:175,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:176,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:178,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:180,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:184,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:185,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 8
    argNames:
    - hnd
    - url
    - t
    - http_version
    - host
    - share
    - use_earlydata
    - announce_length
    argTypes:
    - CURL*
    - char*
    - struct transfer_u*
    - long
    - struct curl_slist*
    - CURLSH*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 192
    functionName: setup_hx_upload
    functionSourceFile: /src/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: "int setup_hx_upload(CURL *hnd, const char *url, struct transfer_u
      *t,\n                           long http_version, struct curl_slist *host,\n
      \                          CURLSH *share, int use_earlydata,\n                           int
      announce_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:197,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: usage_hx_upload
    functionSourceFile: /src/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void usage_hx_upload(const char *msg)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:241,1
    - Dst: usage_hx_upload
      Src: /src/curl/tests/libtest/cli_hx_upload.c:245,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_upload.c:260,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_upload.c:263,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_upload.c:266,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_upload.c:269,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_upload.c:275,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_upload.c:284,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_upload.c:287,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_upload.c:289,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_upload.c:291,1
    - Dst: usage_hx_upload
      Src: /src/curl/tests/libtest/cli_hx_upload.c:294,1
    - Dst: usage_hx_upload
      Src: /src/curl/tests/libtest/cli_hx_upload.c:300,1
    - Dst: usage_hx_upload
      Src: /src/curl/tests/libtest/cli_hx_upload.c:308,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/cli_hx_upload.c:312,1
    - Dst: curl_global_trace
      Src: /src/curl/tests/libtest/cli_hx_upload.c:313,1
    - Dst: usage_hx_upload
      Src: /src/curl/tests/libtest/cli_hx_upload.c:316,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/cli_hx_upload.c:322,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/cli_hx_upload.c:324,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:326,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:329,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:330,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:331,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:332,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:333,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:334,1
    - Dst: calloc
      Src: /src/curl/tests/libtest/cli_hx_upload.c:336,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:338,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_hx_upload.c:354,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:357,1
    - Dst: setup_hx_upload
      Src: /src/curl/tests/libtest/cli_hx_upload.c:363,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:365,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:369,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/cli_hx_upload.c:370,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:371,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/cli_hx_upload.c:373,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_hx_upload.c:375,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/cli_hx_upload.c:378,1
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/cli_hx_upload.c:379,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_hx_upload.c:384,1
    - Dst: setup_hx_upload
      Src: /src/curl/tests/libtest/cli_hx_upload.c:385,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:387,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/cli_hx_upload.c:390,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:393,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/cli_hx_upload.c:398,1
    - Dst: curl_multi_poll
      Src: /src/curl/tests/libtest/cli_hx_upload.c:403,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/cli_hx_upload.c:411,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_hx_upload.c:415,1
    - Dst: get_transfer_for_easy_u
      Src: /src/curl/tests/libtest/cli_hx_upload.c:416,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_hx_upload.c:419,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:421,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_hx_upload.c:426,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:427,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_hx_upload.c:432,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:433,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_hx_upload.c:444,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:447,1
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/cli_hx_upload.c:458,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:459,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_hx_upload.c:469,1
    - Dst: setup_hx_upload
      Src: /src/curl/tests/libtest/cli_hx_upload.c:470,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:473,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/cli_hx_upload.c:476,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_upload.c:479,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/cli_hx_upload.c:491,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/cli_hx_upload.c:497,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_hx_upload.c:501,1
    - Dst: free
      Src: /src/curl/tests/libtest/cli_hx_upload.c:505,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/cli_hx_upload.c:506,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 223
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 509
    functionName: test_cli_hx_upload
    functionSourceFile: /src/curl/tests/libtest/cli_hx_upload.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_pause
    - curl_global_trace
    - curl_multi_setopt
    - curl_multi_add_handle
    - cgetopt
    - curl_multi_poll
    - curl_share_cleanup
    - curlx_fclose
    - calloc
    - curl_mfprintf
    - curl_easy_reset
    - curl_share_setopt
    - usage_hx_upload
    - curl_slist_append
    - get_transfer_for_easy_u
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - free
    - strcmp
    - curl_global_init
    - curl_easy_init
    - curl_multi_perform
    - curl_share_init
    - curl_multi_cleanup
    - curl_easy_getinfo
    - setup_hx_upload
    - atol
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_hx_upload(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1560.c:66,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:71,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1560.c:73,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1560.c:76,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1560.c:78,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:81,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:83,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - u
    - in
    - wanted
    - getflags
    argTypes:
    - CURLU*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 88
    functionName: checkparts
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_msnprintf
    - curl_mfprintf
    - curl_url_get
    - curl_free
    - strcmp
    - memset
    linkageType: ''
    returnType: int
    signature: "int checkparts(CURLU *u, const char *in, const char *wanted,\n                      unsigned
      int getflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:852,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - org
    - url
    - out
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 861
    functionName: checkurl
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int checkurl(const char *org, const char *url, const char *out)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1157,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1159,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1161,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1163,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1165,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1167,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1169,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1171,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1173,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1175,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - part
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1181
    functionName: part2id
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: CURLUPart
    signature: CURLUPart part2id(char *part)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/tests/libtest/lib1560.c:1190,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1560.c:1197,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1560.c:1198,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1560.c:1199,1
    - Dst: sscanf
      Src: /src/curl/tests/libtest/lib1560.c:1202,1
    - Dst: part2id
      Src: /src/curl/tests/libtest/lib1560.c:1203,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1206,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1209,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1211,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1212,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1213,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1214,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1216,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - u
    - cmd
    - setflags
    argTypes:
    - CURLU*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1226
    functionName: updateurl
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_mfprintf
    - sscanf
    - strchr
    - memcpy
    - part2id
    - strcmp
    - memset
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode updateurl(CURLU *u, const char *cmd, unsigned int setflags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1392,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1395,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1398,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1401,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1403,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1408,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1410,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1411,1
    - Dst: checkurl
      Src: /src/curl/tests/libtest/lib1560.c:1415,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1419,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1423,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1427,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1430
    functionName: set_url
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - checkurl
    - curl_mfprintf
    - curl_url_get
    - curl_url
    - curl_free
    - curl_url_cleanup
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int set_url(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1442,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1451,1
    - Dst: updateurl
      Src: /src/curl/tests/libtest/lib1560.c:1457,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1461,1
    - Dst: checkparts
      Src: /src/curl/tests/libtest/lib1560.c:1468,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1474,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1477,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1482,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - has_utf8
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1485
    functionName: setget_parts
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_mfprintf
    - updateurl
    - curl_url
    - checkparts
    - curl_free
    - curl_url_cleanup
    linkageType: ''
    returnType: int
    signature: int setget_parts(bool has_utf8)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1494,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1500,1
    - Dst: updateurl
      Src: /src/curl/tests/libtest/lib1560.c:1506,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1510,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1516,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1519,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1520,1
    - Dst: checkurl
      Src: /src/curl/tests/libtest/lib1560.c:1523,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1527,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1530,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1534,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1537
    functionName: set_parts
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - checkurl
    - curl_mfprintf
    - updateurl
    - curl_url
    - curl_url_get
    - curl_free
    - curl_url_cleanup
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int set_parts(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1544,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1552,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1556,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1559,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1560,1
    - Dst: checkurl
      Src: /src/curl/tests/libtest/lib1560.c:1565,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1569,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1572,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1577,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - has_utf8
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1539
    functionDepth: 2
    functionLinenumber: 1539
    functionLinenumberEnd: 1580
    functionName: get_url
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - checkurl
    - curl_mfprintf
    - curl_url_get
    - curl_url
    - curl_free
    - curl_url_cleanup
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int get_url(bool has_utf8)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1587,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1595,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1599,1
    - Dst: checkparts
      Src: /src/curl/tests/libtest/lib1560.c:1606,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1610,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - has_utf8
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1613
    functionName: get_parts
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_mfprintf
    - curl_url
    - checkparts
    - curl_url_cleanup
    linkageType: ''
    returnType: int
    signature: int get_parts(bool has_utf8)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1639,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1644,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1650,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1656,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1665,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1667,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1668,1
    - Dst: checkurl
      Src: /src/curl/tests/libtest/lib1560.c:1672,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1675,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1678,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1633
    functionDepth: 2
    functionLinenumber: 1633
    functionLinenumberEnd: 1681
    functionName: append
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 29
    functionsReached:
    - curl_url_set
    - checkurl
    - curl_mfprintf
    - curl_url_get
    - curl_url
    - curl_free
    - curl_url_cleanup
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int append(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1685,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1690,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1693,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1694,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1698,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1700,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1702,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1706,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1709,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1711,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1713,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1717,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1719,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1721,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1725,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1728,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1730,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1732,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1736,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1738,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1740,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1744,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1747,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1750,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1752,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1756,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1758,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1760,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1764,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1767,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1769,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1771,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1775,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1778,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1780,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1782,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1786,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1789,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1791,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1793,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1797,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1799,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1560.c:1801,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1805,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1808,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1811
    functionName: scopeid
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_mfprintf
    - curl_url_get
    - curl_url
    - curl_free
    - curl_url_cleanup
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int scopeid(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1815,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1820,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1822,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1824,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1826,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1828,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1830,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1832,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1834,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1836,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1838,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1840,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1842,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1844,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1846,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1848,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1850,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1852,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1854,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1856,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1859,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1862
    functionName: get_nothing
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_url_get
    - curl_url
    - curl_free
    - curl_url_cleanup
    linkageType: ''
    returnType: int
    signature: int get_nothing(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1880,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1887,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1889,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1891,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1893,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1895,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1897,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1560.c:1899,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1903,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1907,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1878
    functionDepth: 1
    functionLinenumber: 1878
    functionLinenumberEnd: 1910
    functionName: clear_url
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_mfprintf
    - curl_url_get
    - curl_url
    - curl_free
    - strcmp
    - curl_url_cleanup
    linkageType: ''
    returnType: int
    signature: int clear_url(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1922,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1560.c:1937,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1560.c:1942,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:1951,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1560.c:1954,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:1960,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:1961,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1560.c:1962,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:1965,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:1968,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 1970
    functionName: huge
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_msnprintf
    - curl_url_get
    - curl_url
    - curl_free
    - strcmp
    - curl_mprintf
    - memset
    - curl_url_cleanup
    linkageType: ''
    returnType: int
    signature: int huge(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1560.c:1993,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1560.c:2000,1
    - Dst: curl_url_dup
      Src: /src/curl/tests/libtest/lib1560.c:2004,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:2006,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/lib1560.c:2010,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1560.c:2014,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1560.c:2015,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:2019,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:2020,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:2021,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:2026,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:2029,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1560.c:2030,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:2031,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1560.c:2032,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 2034
    functionName: urldup
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_url_get
    - curl_url
    - curl_free
    - strcmp
    - curl_mprintf
    - curl_url_cleanup
    - curl_url_dup
    linkageType: ''
    returnType: int
    signature: int urldup(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/tests/libtest/lib1560.c:2038,1
    - Dst: urldup
      Src: /src/curl/tests/libtest/lib1560.c:2042,1
    - Dst: setget_parts
      Src: /src/curl/tests/libtest/lib1560.c:2045,1
    - Dst: get_url
      Src: /src/curl/tests/libtest/lib1560.c:2048,1
    - Dst: huge
      Src: /src/curl/tests/libtest/lib1560.c:2051,1
    - Dst: get_nothing
      Src: /src/curl/tests/libtest/lib1560.c:2054,1
    - Dst: scopeid
      Src: /src/curl/tests/libtest/lib1560.c:2057,1
    - Dst: append
      Src: /src/curl/tests/libtest/lib1560.c:2060,1
    - Dst: set_url
      Src: /src/curl/tests/libtest/lib1560.c:2063,1
    - Dst: set_parts
      Src: /src/curl/tests/libtest/lib1560.c:2066,1
    - Dst: get_parts
      Src: /src/curl/tests/libtest/lib1560.c:2069,1
    - Dst: clear_url
      Src: /src/curl/tests/libtest/lib1560.c:2072,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1560.c:2075,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2036
    functionDepth: 3
    functionLinenumber: 2036
    functionLinenumberEnd: 2077
    functionName: test_lib1560
    functionSourceFile: /src/curl/tests/libtest/lib1560.c
    functionUses: 0
    functionsReached:
    - setget_parts
    - set_url
    - get_parts
    - getenv
    - append
    - get_nothing
    - set_parts
    - curl_mprintf
    - huge
    - urldup
    - get_url
    - clear_url
    - scopeid
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1560(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1915.c:63,1
    - Dst: strcpy
      Src: /src/curl/tests/libtest/lib1915.c:64,1
    - Dst: strcpy
      Src: /src/curl/tests/libtest/lib1915.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1915.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - easy
    - e
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: hstsread
    functionSourceFile: /src/curl/tests/libtest/lib1915.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strlen
    - strcpy
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstsread(CURL *easy, struct curl_hstsentry *e,\n                            void
      *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - easy
    - e
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: hstsreadfail
    functionSourceFile: /src/curl/tests/libtest/lib1915.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstsreadfail(CURL *easy, struct curl_hstsentry *e,\n                                void
      *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1915.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - easy
    - e
    - i
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - struct curl_index*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: hstswrite
    functionSourceFile: /src/curl/tests/libtest/lib1915.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstswrite(CURL *easy, struct curl_hstsentry *e,\n                             struct
      curl_index *i, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1915.c:104,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1915.c:109,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:110,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:111,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:112,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:113,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:114,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:115,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:116,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:117,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:118,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:119,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1915.c:120,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1915.c:121,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1915.c:125,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1915.c:128,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:129,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:130,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:131,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:132,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:133,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:134,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:135,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:136,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:137,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1915.c:138,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1915.c:139,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1915.c:140,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1915.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1915.c:145,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1915.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 148
    functionName: test_lib1915
    functionSourceFile: /src/curl/tests/libtest/lib1915.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mprintf
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1915(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected_fds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: test_check
    functionSourceFile: /src/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_check(expected_fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - option
    - ','
    - expected_fds
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: test_run_check
    functionSourceFile: /src/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_run_check(option, expected_fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: emptyWriteFunc
    functionSourceFile: /src/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t emptyWriteFunc(void *ptr, size_t size, size_t nmemb,\n    void
      *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:82,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:85,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:90,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:95,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:100,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:101,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:106,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:107,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:110,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2405.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - URL
    - easy
    - option
    argTypes:
    - char*
    - CURL*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 117
    functionName: set_easy
    functionSourceFile: /src/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_easy(const char *URL, CURL *easy, long option)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib2405.c:142,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib2405.c:143,1
    - Dst: set_easy
      Src: /src/curl/tests/libtest/lib2405.c:145,1
    - Dst: set_easy
      Src: /src/curl/tests/libtest/lib2405.c:148,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib2405.c:151,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib2405.c:152,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib2405.c:155,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib2405.c:157,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib2405.c:158,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/lib2405.c:165,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:170,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:173,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:179,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:182,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:188,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:191,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:197,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:200,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:210,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:213,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:219,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:227,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:230,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:237,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:245,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:248,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:254,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:257,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:264,1
    - Dst: curl_multi_poll
      Src: /src/curl/tests/libtest/lib2405.c:275,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:278,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib2405.c:285,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib2405.c:296,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib2405.c:297,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2405.c:300,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2405.c:301,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib2405.c:303,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib2405.c:304,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 114
    argCount: 3
    argNames:
    - URL
    - option
    - max_fd_count
    argTypes:
    - char*
    - long
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 310
    functionName: test_run
    functionSourceFile: /src/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - multi_init
    - curl_multi_info_read
    - set_easy
    - curl_mfprintf
    - curl_multi_remove_handle
    - easy_init
    - multi_add_handle
    - multi_setopt
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_multi_waitfds
    - curl_multi_poll
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode test_run(const char *URL, long option,\n                         unsigned
      int *max_fd_count)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib2405.c:323,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:326,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:329,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:334,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib2405.c:341,1
    - Dst: set_easy
      Src: /src/curl/tests/libtest/lib2405.c:343,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib2405.c:346,1
    - Dst: curl_multi_waitfds
      Src: /src/curl/tests/libtest/lib2405.c:348,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:351,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2405.c:356,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib2405.c:362,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2405.c:365,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib2405.c:366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 368
    functionName: empty_multi_test
    functionSourceFile: /src/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached:
    - multi_init
    - curl_multi_remove_handle
    - curl_mfprintf
    - set_easy
    - easy_init
    - multi_add_handle
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_multi_waitfds
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode empty_multi_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2405.c:375,1
    - Dst: empty_multi_test
      Src: /src/curl/tests/libtest/lib2405.c:378,1
    - Dst: test_run_check
      Src: /src/curl/tests/libtest/lib2405.c:383,1
    - Dst: test_run_check
      Src: /src/curl/tests/libtest/lib2405.c:386,1
    - Dst: test_run_check
      Src: /src/curl/tests/libtest/lib2405.c:389,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2405.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 394
    functionName: test_lib2405
    functionSourceFile: /src/curl/tests/libtest/lib2405.c
    functionUses: 0
    functionsReached:
    - test_run_check
    - global_init
    - empty_multi_test
    - curl_global_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2405(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: write_it
    functionSourceFile: /src/curl/tests/libtest/lib695.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_it(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib695.c:48,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib695.c:49,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib695.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib695.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib695.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib695.c:62,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib695.c:65,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib695.c:66,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib695.c:67,1
    - Dst: curl_mime_type
      Src: /src/curl/tests/libtest/lib695.c:68,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib695.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib695.c:72,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib695.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib695.c:79,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib695.c:80,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib695.c:83,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib695.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib695.c:87,1
    - Dst: curl_mime_subparts
      Src: /src/curl/tests/libtest/lib695.c:90,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib695.c:93,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib695.c:94,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib695.c:99,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib695.c:103,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib695.c:104,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib695.c:109,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib695.c:110,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib695.c:111,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib695.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 114
    functionName: test_lib695
    functionSourceFile: /src/curl/tests/libtest/lib695.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mime_name
    - curl_mime_data
    - curl_global_init
    - curl_mime_subparts
    - test_setopt
    - curl_mime_free
    - curl_easy_init
    - curl_easy_setopt
    - curl_mime_type
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib695(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1551.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1551.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1551.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1551.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1551.c:40,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1551.c:41,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1551.c:45,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1551.c:46,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1551.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1551.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: test_lib1551
    functionSourceFile: /src/curl/tests/libtest/lib1551.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_init
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1551(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1564.c:40,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1564.c:42,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1564.c:44,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:48,1
    - Dst: multi_poll
      Src: /src/curl/tests/libtest/lib1564.c:49,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:50,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/libtest/lib1564.c:52,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1564.c:53,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1564.c:59,1
    - Dst: res_multi_wakeup
      Src: /src/curl/tests/libtest/lib1564.c:63,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:65,1
    - Dst: multi_poll
      Src: /src/curl/tests/libtest/lib1564.c:66,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:67,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/libtest/lib1564.c:69,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1564.c:70,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1564.c:76,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:80,1
    - Dst: multi_poll
      Src: /src/curl/tests/libtest/lib1564.c:81,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:82,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/libtest/lib1564.c:84,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1564.c:85,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1564.c:91,1
    - Dst: res_multi_wakeup
      Src: /src/curl/tests/libtest/lib1564.c:96,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:98,1
    - Dst: multi_poll
      Src: /src/curl/tests/libtest/lib1564.c:99,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:100,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/libtest/lib1564.c:102,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1564.c:103,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1564.c:109,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:113,1
    - Dst: multi_poll
      Src: /src/curl/tests/libtest/lib1564.c:114,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1564.c:115,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/libtest/lib1564.c:117,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1564.c:118,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1564.c:124,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1564.c:128,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1564.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 132
    functionName: test_lib1564
    functionSourceFile: /src/curl/tests/libtest/lib1564.c
    functionUses: 0
    functionsReached:
    - multi_poll
    - res_multi_wakeup
    - multi_init
    - curl_mfprintf
    - curlx_now
    - curl_multi_cleanup
    - curl_global_cleanup
    - curlx_timediff
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1564(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib504.c:43,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib504.c:45,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib504.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib504.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib504.c:53,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib504.c:54,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib504.c:56,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib504.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib504.c:67,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib504.c:69,1
    - Dst: curl_multi_wait
      Src: /src/curl/tests/libtest/lib504.c:74,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib504.c:76,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib504.c:81,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib504.c:82,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib504.c:83,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib504.c:86,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib504.c:91,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib504.c:92,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib504.c:99,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib504.c:101,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib504.c:102,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib504.c:103,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib504.c:105,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib504.c:107,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib504.c:111,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib504.c:113,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib504.c:120,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib504.c:121,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib504.c:122,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib504.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 126
    functionName: test_lib504
    functionSourceFile: /src/curl/tests/libtest/lib504.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_add_handle
    - multi_perform
    - curl_mprintf
    - easy_setopt
    - abort_on_test_timeout
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - global_init
    - start_test_timing
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_multi_wait
    - select_test
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib504(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib597.c:46,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib597.c:48,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib597.c:50,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib597.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib597.c:55,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib597.c:58,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib597.c:60,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib597.c:62,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib597.c:72,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib597.c:74,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib597.c:79,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib597.c:80,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib597.c:81,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib597.c:83,1
    - Dst: multi_timeout
      Src: /src/curl/tests/libtest/lib597.c:87,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib597.c:107,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib597.c:109,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib597.c:112,1
    - Dst: multi_remove_handle
      Src: /src/curl/tests/libtest/lib597.c:116,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib597.c:122,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib597.c:123,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib597.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 127
    functionName: test_lib597
    functionSourceFile: /src/curl/tests/libtest/lib597.c
    functionUses: 0
    functionsReached:
    - multi_remove_handle
    - multi_fdset
    - multi_init
    - select_test
    - curl_multi_info_read
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - multi_timeout
    - curl_multi_cleanup
    - curl_easy_cleanup
    - multi_perform
    - curl_global_cleanup
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib597(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1597.c:71,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1597.c:73,1
    - Dst: curl_version_info
      Src: /src/curl/tests/libtest/lib1597.c:76,1
    - Dst: fputs
      Src: /src/curl/tests/libtest/lib1597.c:78,1
    - Dst: puts
      Src: /src/curl/tests/libtest/lib1597.c:86,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1597.c:90,1
    - Dst: curl_strequal
      Src: /src/curl/tests/libtest/lib1597.c:91,1
    - Dst: curl_strequal
      Src: /src/curl/tests/libtest/lib1597.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1597.c:99,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1597.c:101,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1597.c:105,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1597.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1597.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 112
    functionName: test_lib1597
    functionSourceFile: /src/curl/tests/libtest/lib1597.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - curl_strequal
    - easy_init
    - fputs
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_version_info
    - curl_mprintf
    - global_init
    - curl_easy_setopt
    - puts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1597(const char *URL)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib525.c:39,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib525.c:42,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib525.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib525.c:48,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib525.c:49,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib525.c:50,1
    - Dst: stat
      Src: /src/curl/tests/libtest/lib525.c:57,1
    - Dst: fstat
      Src: /src/curl/tests/libtest/lib525.c:59,1
    - Dst: fileno
      Src: /src/curl/tests/libtest/lib525.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib525.c:63,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib525.c:64,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib525.c:65,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib525.c:66,1
    - Dst: res_global_init
      Src: /src/curl/tests/libtest/lib525.c:70,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib525.c:72,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib525.c:76,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib525.c:79,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib525.c:82,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib525.c:85,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib525.c:88,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib525.c:91,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib525.c:102,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib525.c:104,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib525.c:106,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib525.c:116,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib525.c:118,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib525.c:123,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib525.c:124,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib525.c:125,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib525.c:127,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib525.c:131,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib525.c:133,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib525.c:140,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib525.c:141,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib525.c:142,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib525.c:143,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib525.c:147,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib525.c:148,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib525.c:149,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib525.c:150,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib525.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 63
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 157
    functionName: test_lib525
    functionSourceFile: /src/curl/tests/libtest/lib525.c
    functionUses: 0
    functionsReached:
    - stat
    - multi_fdset
    - multi_add_handle
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    - curlx_fclose
    - fstat
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - curlx_fopen
    - start_test_timing
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - res_global_init
    - curlx_strerror
    - select_test
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - fileno
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib525(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib570.c:36,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib570.c:37,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib570.c:41,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib570.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib570.c:44,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:54,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib570.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:61,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib570.c:62,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib570.c:65,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib570.c:67,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:72,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:73,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:75,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib570.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:82,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib570.c:83,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib570.c:86,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:90,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib570.c:92,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib570.c:97,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib570.c:98,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib570.c:101,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib570.c:106,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib570.c:111,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib570.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib570.c:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 117
    functionName: test_lib570
    functionSourceFile: /src/curl/tests/libtest/lib570.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - tutil_suburl
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_free
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib570(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib549.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib549.c:39,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib549.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib549.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib549.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib549.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib549.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib549.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib549.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib549.c:56,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib549.c:59,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib549.c:63,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib549.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 67
    functionName: test_lib549
    functionSourceFile: /src/curl/tests/libtest/lib549.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib549(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1908.c:32,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1908.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1908.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1908.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1908.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1908.c:40,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1908.c:41,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib1908.c:45,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1908.c:47,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1908.c:50,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib1908.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1908.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1908.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib1908
    functionSourceFile: /src/curl/tests/libtest/lib1908.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_reset
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_duphandle
    - curl_easy_init
    - curl_easy_setopt
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1908(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1509.c:40,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1509.c:42,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1509.c:44,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1509.c:46,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1509.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1509.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1509.c:50,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1509.c:51,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1509.c:52,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1509.c:54,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1509.c:56,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1509.c:58,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1509.c:63,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1509.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1509.c:67,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1509.c:72,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1509.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1509.c:77,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1509.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 81
    functionName: test_lib1509
    functionSourceFile: /src/curl/tests/libtest/lib1509.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_getinfo
    - curl_mprintf
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1509(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib1509.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: WriteOutput
    functionSourceFile: /src/curl/tests/libtest/lib1509.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t WriteOutput(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: WriteHeader
    functionSourceFile: /src/curl/tests/libtest/lib1509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t WriteHeader(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: t1947_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib1947.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1947_write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1947.c:44,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1947.c:46,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1947.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1947.c:50,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1947.c:51,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1947.c:52,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1947.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1947.c:55,1
    - Dst: curl_easy_nextheader
      Src: /src/curl/tests/libtest/lib1947.c:64,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1947.c:68,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1947.c:71,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1947.c:72,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1947.c:74,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1947.c:75,1
    - Dst: curl_easy_nextheader
      Src: /src/curl/tests/libtest/lib1947.c:82,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1947.c:86,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1947.c:89,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1947.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 92
    functionName: test_lib1947
    functionSourceFile: /src/curl/tests/libtest/lib1947.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_nextheader
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mprintf
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1947(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:39,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:41,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - opaque
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: write_tse_cb
    functionSourceFile: /src/curl/tests/libtest/cli_tls_session_reuse.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_strerror
    linkageType: ''
    returnType: size_t
    signature: size_t write_tse_cb(char *ptr, size_t size, size_t nmemb, void *opaque)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:67,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:85,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:88,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:90,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:91,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 5
    argNames:
    - multi
    - share
    - resolve
    - url
    - http_version
    argTypes:
    - CURLM*
    - CURLSH*
    - struct curl_slist*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 96
    functionName: tse_add_transfer
    functionSourceFile: /src/curl/tests/libtest/cli_tls_session_reuse.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_multi_strerror
    - curl_multi_add_handle
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURL
    signature: "CURL *tse_add_transfer(CURLM *multi, CURLSH *share,\n                              struct
      curl_slist *resolve,\n                              const char *url, long http_version)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:115,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:119,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:121,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:124,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:126,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:129,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:130,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:133,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:134,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:137,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:138,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:142,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:144,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:146,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:148,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:152,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:154,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:157,1
    - Dst: tse_add_transfer
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:160,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:166,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:168,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:169,1
    - Dst: curl_multi_poll
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:174,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:176,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:177,1
    - Dst: tse_add_transfer
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:187,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:196,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:200,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:201,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:208,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:213,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:218,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:219,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:221,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:226,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:232,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:237,1
    - Dst: curl_multi_get_handles
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:243,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:247,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:248,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:250,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:252,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:254,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:255,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:256,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:257,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/cli_tls_session_reuse.c:258,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 126
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 261
    functionName: test_cli_tls_session_reuse
    functionSourceFile: /src/curl/tests/libtest/cli_tls_session_reuse.c
    functionUses: 0
    functionsReached:
    - curl_slist_free_all
    - curl_multi_poll
    - curl_share_cleanup
    - tse_add_transfer
    - curl_mfprintf
    - curl_share_setopt
    - curl_url_get
    - curl_url
    - curl_multi_get_handles
    - curl_free
    - curl_slist_append
    - curl_url_cleanup
    - curl_msnprintf
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - strcmp
    - curl_url_set
    - curl_multi_perform
    - curl_share_init
    - curl_multi_strerror
    - curl_multi_cleanup
    - curl_easy_getinfo
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_tls_session_reuse(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib2032.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2032.c:50,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib2032.c:52,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2032.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 78
    functionName: callback
    functionSourceFile: /src/curl/tests/libtest/lib2032.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - curl_easy_strerror
    linkageType: ''
    returnType: size_t
    signature: size_t callback(char *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib2032.c:94,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib2032.c:95,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib2032.c:97,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2032.c:100,1
    - Dst: res_global_init
      Src: /src/curl/tests/libtest/lib2032.c:109,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib2032.c:111,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib2032.c:115,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib2032.c:128,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib2032.c:131,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:132,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib2032.c:135,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:136,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:138,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:139,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:140,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:141,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:142,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:144,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:145,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2032.c:147,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib2032.c:149,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib2032.c:155,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2032.c:157,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib2032.c:160,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2032.c:165,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2032.c:166,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2032.c:167,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib2032.c:169,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2032.c:175,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2032.c:182,1
    - Dst: multi_timeout
      Src: /src/curl/tests/libtest/lib2032.c:186,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2032.c:190,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib2032.c:215,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib2032.c:217,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2032.c:225,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib2032.c:226,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2032.c:227,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib2032.c:230,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2032.c:231,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib2032.c:233,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 84
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 236
    functionName: test_lib2032
    functionSourceFile: /src/curl/tests/libtest/lib2032.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_timeout
    - multi_add_handle
    - multi_perform
    - curl_mprintf
    - easy_setopt
    - abort_on_test_timeout
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - start_test_timing
    - strlen
    - curl_msnprintf
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - free
    - res_global_init
    - malloc
    - select_test
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2032(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/tests/libtest/testutil.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - i
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: tutil_suburl
    functionSourceFile: /src/curl/tests/libtest/testutil.c
    functionUses: 4
    functionsReached:
    - curl_maprintf
    linkageType: ''
    returnType: char
    signature: char *tutil_suburl(const char *base, int i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/testutil.c:39,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/testutil.c:45,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/testutil.c:50,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/testutil.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - val
    argTypes:
    - char*
    - size_t
    - rlim_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: tutil_rlim2str
    functionSourceFile: /src/curl/tests/libtest/testutil.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void tutil_rlim2str(char *buf, size_t len, rlim_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: free_callback
    functionSourceFile: /src/curl/tests/libtest/lib654.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_callback(void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: t654_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib654.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t654_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib654.c:79,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib654.c:80,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib654.c:84,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib654.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib654.c:90,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib654.c:93,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib654.c:97,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib654.c:101,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib654.c:102,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib654.c:103,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib654.c:104,1
    - Dst: curl_mime_type
      Src: /src/curl/tests/libtest/lib654.c:105,1
    - Dst: curl_mime_encoder
      Src: /src/curl/tests/libtest/lib654.c:106,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib654.c:107,1
    - Dst: curl_mime_headers
      Src: /src/curl/tests/libtest/lib654.c:108,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib654.c:109,1
    - Dst: curl_mime_filedata
      Src: /src/curl/tests/libtest/lib654.c:110,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib654.c:111,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib654.c:112,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib654.c:116,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib654.c:119,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib654.c:121,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib654.c:128,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib654.c:132,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib654.c:134,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib654.c:140,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib654.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib654.c:149,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib654.c:153,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib654.c:160,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib654.c:161,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib654.c:162,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib654.c:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 165
    functionName: test_lib654
    functionSourceFile: /src/curl/tests/libtest/lib654.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mime_data
    - test_setopt
    - curl_mfprintf
    - curl_global_cleanup
    - curl_mime_encoder
    - curl_slist_append
    - curl_easy_duphandle
    - curl_mime_free
    - curl_mime_init
    - strlen
    - curl_mime_data_cb
    - curl_easy_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_mime_filedata
    - curl_mime_type
    - curl_mime_addpart
    - curl_mime_name
    - curl_mime_headers
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib654(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib514.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib514.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib514.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib514.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib514.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib514.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib514.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib514.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib514.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib514.c:64,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib514.c:66,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib514.c:67,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib514.c:72,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib514.c:77,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib514.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 81
    functionName: test_lib514
    functionSourceFile: /src/curl/tests/libtest/lib514.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib514(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: t1301_fail_unless
    functionSourceFile: /src/curl/tests/libtest/lib1301.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t1301_fail_unless(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/tests/libtest/lib1301.c:40,1
    - Dst: t1301_fail_unless
      Src: /src/curl/tests/libtest/lib1301.c:41,1
    - Dst: curl_strequal
      Src: /src/curl/tests/libtest/lib1301.c:43,1
    - Dst: t1301_fail_unless
      Src: /src/curl/tests/libtest/lib1301.c:44,1
    - Dst: curl_strequal
      Src: /src/curl/tests/libtest/lib1301.c:46,1
    - Dst: t1301_fail_unless
      Src: /src/curl/tests/libtest/lib1301.c:47,1
    - Dst: curl_strequal
      Src: /src/curl/tests/libtest/lib1301.c:49,1
    - Dst: t1301_fail_unless
      Src: /src/curl/tests/libtest/lib1301.c:50,1
    - Dst: curl_strnequal
      Src: /src/curl/tests/libtest/lib1301.c:52,1
    - Dst: t1301_fail_unless
      Src: /src/curl/tests/libtest/lib1301.c:53,1
    - Dst: curl_strnequal
      Src: /src/curl/tests/libtest/lib1301.c:55,1
    - Dst: t1301_fail_unless
      Src: /src/curl/tests/libtest/lib1301.c:56,1
    - Dst: curl_strnequal
      Src: /src/curl/tests/libtest/lib1301.c:58,1
    - Dst: t1301_fail_unless
      Src: /src/curl/tests/libtest/lib1301.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: test_lib1301
    functionSourceFile: /src/curl/tests/libtest/lib1301.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - t1301_fail_unless
    - curl_strequal
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1301(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib521.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib521.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib521.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib521.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib521.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib521.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib521.c:46,1
    - Dst: atol
      Src: /src/curl/tests/libtest/lib521.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib521.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib521.c:48,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib521.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib521.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib521.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: test_lib521
    functionSourceFile: /src/curl/tests/libtest/lib521.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - atol
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib521(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib2404.c:43,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2404.c:45,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib2404.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2404.c:48,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib2404.c:52,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2404.c:54,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib2404.c:56,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib2404.c:58,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib2404.c:61,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib2404.c:63,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib2404.c:65,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2404.c:69,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2404.c:71,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2404.c:73,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2404.c:74,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2404.c:76,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2404.c:78,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2404.c:80,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2404.c:82,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2404.c:84,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2404.c:87,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib2404.c:89,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib2404.c:91,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib2404.c:101,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib2404.c:103,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2404.c:108,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2404.c:109,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib2404.c:110,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib2404.c:112,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib2404.c:116,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib2404.c:118,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib2404.c:120,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib2404.c:127,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib2404.c:128,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2404.c:129,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib2404.c:132,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib2404.c:134,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2404.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 138
    functionName: test_lib2404
    functionSourceFile: /src/curl/tests/libtest/lib2404.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_add_handle
    - curl_slist_free_all
    - multi_perform
    - curl_mprintf
    - easy_setopt
    - abort_on_test_timeout
    - curlx_wait_ms
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - curl_slist_append
    - global_init
    - start_test_timing
    - curl_msnprintf
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - select_test
    - easy_init
    - FD_ZERO
    - multi_setopt
    - curl_multi_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2404(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1591.c:42,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1591.c:46,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1591.c:47,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1591.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: t1591_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1591.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t1591_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1591.c:64,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1591.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1591.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - userdata
    argTypes:
    - struct curl_slist**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: t1591_trailers_callback
    functionSourceFile: /src/curl/tests/libtest/lib1591.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - curl_slist_free_all
    linkageType: ''
    returnType: int
    signature: int t1591_trailers_callback(struct curl_slist **list, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1591.c:84,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1591.c:85,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1591.c:89,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1591.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1591.c:92,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1591.c:96,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1591.c:102,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1591.c:103,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1591.c:104,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1591.c:105,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1591.c:106,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1591.c:107,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1591.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1591.c:113,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1591.c:115,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1591.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 120
    functionName: test_lib1591
    functionSourceFile: /src/curl/tests/libtest/lib1591.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1591(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ws_send_ping
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:36,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:40,1
    - Dst: ws_recv_pong
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:41,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:43,1
    - Dst: ws_close
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:46,1
    - Dst: ws_close
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - curl
    - payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: pingpong
    functionSourceFile: /src/curl/tests/libtest/cli_ws_pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_wait_ms
    - curl_mfprintf
    - ws_send_ping
    - ws_recv_pong
    - ws_close
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pingpong(CURL *curl, const char *payload)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:63,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:68,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:70,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:77,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:78,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:79,1
    - Dst: pingpong
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:81,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:84,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:86,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_ws_pingpong.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 94
    functionName: test_cli_ws_pingpong
    functionSourceFile: /src/curl/tests/libtest/cli_ws_pingpong.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - pingpong
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_ws_pingpong(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - e
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: dload_progress_cb
    functionSourceFile: /src/curl/tests/libtest/lib1523.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dload_progress_cb(void *a, curl_off_t b, curl_off_t c,\n                             curl_off_t
      d, curl_off_t e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - d
    - n
    - l
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: t1523_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib1523.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1523_write_cb(char *d, size_t n, size_t l, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1523.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1523.c:52,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1523.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hnd
    - limit
    - time
    argTypes:
    - CURL*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: run
    functionSourceFile: /src/curl/tests/libtest/lib1523.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curl_easy_perform
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode run(CURL *hnd, long limit, long time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1523.c:61,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1523.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1523.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1523.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1523.c:65,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1523.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1523.c:67,1
    - Dst: run
      Src: /src/curl/tests/libtest/lib1523.c:69,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1523.c:71,1
    - Dst: run
      Src: /src/curl/tests/libtest/lib1523.c:73,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1523.c:75,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1523.c:79,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1523.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 83
    functionName: test_lib1523
    functionSourceFile: /src/curl/tests/libtest/lib1523.c
    functionUses: 0
    functionsReached:
    - run
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1523(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib1308.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: print_httppost_callback
    functionSourceFile: /src/curl/tests/libtest/lib1308.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t print_httppost_callback(void *arg, const char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: t1308_fail_unless
    functionSourceFile: /src/curl/tests/libtest/lib1308.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t1308_fail_unless(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib1308.c:52,1
    - Dst: t1308_fail_unless
      Src: /src/curl/tests/libtest/lib1308.c:54,1
    - Dst: t1308_fail_unless
      Src: /src/curl/tests/libtest/lib1308.c:58,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib1308.c:60,1
    - Dst: t1308_fail_unless
      Src: /src/curl/tests/libtest/lib1308.c:63,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib1308.c:65,1
    - Dst: t1308_fail_unless
      Src: /src/curl/tests/libtest/lib1308.c:67,1
    - Dst: curl_formget
      Src: /src/curl/tests/libtest/lib1308.c:69,1
    - Dst: t1308_fail_unless
      Src: /src/curl/tests/libtest/lib1308.c:70,1
    - Dst: t1308_fail_unless
      Src: /src/curl/tests/libtest/lib1308.c:72,1
    - Dst: curl_formfree
      Src: /src/curl/tests/libtest/lib1308.c:74,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib1308.c:79,1
    - Dst: t1308_fail_unless
      Src: /src/curl/tests/libtest/lib1308.c:84,1
    - Dst: curl_formget
      Src: /src/curl/tests/libtest/lib1308.c:86,1
    - Dst: t1308_fail_unless
      Src: /src/curl/tests/libtest/lib1308.c:88,1
    - Dst: t1308_fail_unless
      Src: /src/curl/tests/libtest/lib1308.c:89,1
    - Dst: curl_formfree
      Src: /src/curl/tests/libtest/lib1308.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 94
    functionName: test_lib1308
    functionSourceFile: /src/curl/tests/libtest/lib1308.c
    functionUses: 0
    functionsReached:
    - t1308_fail_unless
    - curl_formadd
    - curl_formget
    - curl_formfree
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1308(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: custom_calloc
    functionSourceFile: /src/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *custom_calloc(size_t nmemb, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: custom_malloc
    functionSourceFile: /src/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *custom_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: custom_strdup
    functionSourceFile: /src/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *custom_strdup(const char *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: custom_realloc
    functionSourceFile: /src/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *custom_realloc(void *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: custom_free
    functionSourceFile: /src/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void custom_free(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init_mem
      Src: /src/curl/tests/libtest/lib509.c:80,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib509.c:87,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib509.c:91,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib509.c:93,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib509.c:94,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib509.c:98,1
    - Dst: curl_easy_escape
      Src: /src/curl/tests/libtest/lib509.c:101,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib509.c:104,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib509.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib509.c:111,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib509.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 115
    functionName: test_lib509
    functionSourceFile: /src/curl/tests/libtest/lib509.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_escape
    - curl_free
    - curl_mprintf
    - test_setopt
    - curl_global_init_mem
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib509(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2301.c:31,1
    - Dst: ws_send_ping
      Src: /src/curl/tests/libtest/lib2301.c:33,1
    - Dst: ws_recv_pong
      Src: /src/curl/tests/libtest/lib2301.c:35,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib2301.c:37,1
    - Dst: ws_close
      Src: /src/curl/tests/libtest/lib2301.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: t2301_websocket
    functionSourceFile: /src/curl/tests/libtest/lib2301.c
    functionUses: 0
    functionsReached:
    - curlx_wait_ms
    - curl_mfprintf
    - ws_send_ping
    - ws_recv_pong
    - ws_close
    linkageType: ''
    returnType: void
    signature: void t2301_websocket(CURL *curl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2301.c:53,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2301.c:56,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2301.c:57,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2301.c:61,1
    - Dst: curl_ws_send
      Src: /src/curl/tests/libtest/lib2301.c:62,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2301.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - b
    - size
    - nitems
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: t2301_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib2301.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_ws_send
    linkageType: ''
    returnType: size_t
    signature: size_t t2301_write_cb(char *b, size_t size, size_t nitems, void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2301.c:78,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib2301.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2301.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2301.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2301.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2301.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2301.c:88,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2301.c:89,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2301.c:90,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2301.c:91,1
    - Dst: t2301_websocket
      Src: /src/curl/tests/libtest/lib2301.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2301.c:97,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2301.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 104
    functionName: test_lib2301
    functionSourceFile: /src/curl/tests/libtest/lib2301.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - t2301_websocket
    - curl_easy_init
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2301(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib512.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib512.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib512.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib512.c:43,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib512.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib512.c:48,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib512.c:51,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib512.c:60,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib512.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib512.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 76
    functionName: test_lib512
    functionSourceFile: /src/curl/tests/libtest/lib512.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_duphandle
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib512(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib530.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: t530_tag
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *t530_tag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:55,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: t530_msg
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - t530_tag
    linkageType: ''
    returnType: void
    signature: void t530_msg(const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:78,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:79,1
    - Dst: memmove
      Src: /src/curl/tests/libtest/lib530.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sockets
    - fd
    - mention
    argTypes:
    - struct t530_Sockets*
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: t530_removeFd
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - memmove
    - t530_tag
    linkageType: ''
    returnType: void
    signature: "void t530_removeFd(struct t530_Sockets *sockets, curl_socket_t fd,\n
      \                         int mention)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:102,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:103,1
    - Dst: t530_removeFd
      Src: /src/curl/tests/libtest/lib530.c:104,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib530.c:109,1
    - Dst: realloc
      Src: /src/curl/tests/libtest/lib530.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - sockets
    - fd
    - what
    argTypes:
    - struct t530_Sockets*
    - curl_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 129
    functionName: t530_addFd
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - t530_removeFd
    - malloc
    - t530_tag
    - curl_mfprintf
    - realloc
    linkageType: ''
    returnType: int
    signature: "int t530_addFd(struct t530_Sockets *sockets, curl_socket_t fd,\n                      const
      char *what)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: t530_msg
      Src: /src/curl/tests/libtest/lib530.c:143,1
    - Dst: t530_msg
      Src: /src/curl/tests/libtest/lib530.c:145,1
    - Dst: t530_addFd
      Src: /src/curl/tests/libtest/lib530.c:150,1
    - Dst: t530_addFd
      Src: /src/curl/tests/libtest/lib530.c:154,1
    - Dst: t530_removeFd
      Src: /src/curl/tests/libtest/lib530.c:158,1
    - Dst: t530_removeFd
      Src: /src/curl/tests/libtest/lib530.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - easy
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 163
    functionName: t530_curlSocketCallback
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - t530_removeFd
    - t530_addFd
    - t530_msg
    linkageType: ''
    returnType: int
    signature: "int t530_curlSocketCallback(CURL *easy, curl_socket_t s, int action,\n
      \                                  void *userp, void *socketp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t530_msg
      Src: /src/curl/tests/libtest/lib530.c:174,1
    - Dst: t530_msg
      Src: /src/curl/tests/libtest/lib530.c:176,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib530.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: t530_curlTimerCallback
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curlx_now
    - t530_msg
    linkageType: ''
    returnType: int
    signature: int t530_curlTimerCallback(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib530.c:198,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:209,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - curl
    - success
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: t530_checkForCompletion
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - t530_tag
    - curl_multi_info_read
    linkageType: ''
    returnType: int
    signature: int t530_checkForCompletion(CURLM *curl, int *success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib530.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: t530_getMicroSecondTimeout
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t t530_getMicroSecondTimeout(struct curltime *timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_SET
      Src: /src/curl/tests/libtest/lib530.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sockets
    - fdset
    - maxFd
    argTypes:
    - struct t530_Sockets*
    - fd_set*
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: t530_updateFdSet
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void t530_updateFdSet(struct t530_Sockets *sockets, fd_set* fdset,\n
      \                            curl_socket_t *maxFd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/tests/libtest/lib530.c:257,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:259,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:260,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/lib530.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - curl
    - s
    - evBitmask
    - info
    argTypes:
    - CURLM*
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: socket_action
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 1
    functionsReached:
    - curl_multi_socket_action
    - curl_mfprintf
    - t530_tag
    - curl_multi_strerror
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode socket_action(CURLM *curl, curl_socket_t s, int evBitmask,\n
      \                              const char *info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/curl/tests/libtest/lib530.c:275,1
    - Dst: socket_action
      Src: /src/curl/tests/libtest/lib530.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - curl
    - sockets
    - fdset
    - evBitmask
    - name
    argTypes:
    - CURLM*
    - struct t530_Sockets*
    - fd_set*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: t530_checkFdSet
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - socket_action
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode t530_checkFdSet(CURLM *curl, struct t530_Sockets *sockets,\n
      \                                fd_set *fdset, int evBitmask,\n                                 const
      char *name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/libtest/lib530.c:294,1
    - Dst: t530_msg
      Src: /src/curl/tests/libtest/lib530.c:298,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib530.c:299,1
    - Dst: res_global_init
      Src: /src/curl/tests/libtest/lib530.c:301,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib530.c:305,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib530.c:308,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib530.c:311,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib530.c:313,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib530.c:315,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib530.c:316,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib530.c:318,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib530.c:319,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib530.c:321,1
    - Dst: socket_action
      Src: /src/curl/tests/libtest/lib530.c:323,1
    - Dst: t530_checkForCompletion
      Src: /src/curl/tests/libtest/lib530.c:328,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib530.c:334,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib530.c:335,1
    - Dst: t530_updateFdSet
      Src: /src/curl/tests/libtest/lib530.c:336,1
    - Dst: t530_updateFdSet
      Src: /src/curl/tests/libtest/lib530.c:337,1
    - Dst: curlx_sztosi
      Src: /src/curl/tests/libtest/lib530.c:340,1
    - Dst: t530_getMicroSecondTimeout
      Src: /src/curl/tests/libtest/lib530.c:340,1
    - Dst: assert
      Src: /src/curl/tests/libtest/lib530.c:349,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib530.c:350,1
    - Dst: t530_checkFdSet
      Src: /src/curl/tests/libtest/lib530.c:353,1
    - Dst: t530_checkFdSet
      Src: /src/curl/tests/libtest/lib530.c:358,1
    - Dst: t530_getMicroSecondTimeout
      Src: /src/curl/tests/libtest/lib530.c:365,1
    - Dst: socket_action
      Src: /src/curl/tests/libtest/lib530.c:367,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib530.c:373,1
    - Dst: t530_msg
      Src: /src/curl/tests/libtest/lib530.c:377,1
    - Dst: t530_msg
      Src: /src/curl/tests/libtest/lib530.c:384,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib530.c:385,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib530.c:386,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib530.c:387,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib530.c:388,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib530.c:391,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib530.c:392,1
    - Dst: t530_msg
      Src: /src/curl/tests/libtest/lib530.c:393,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 3
    argNames:
    - URL
    - timer_fail_at
    - socket_fail_at
    argTypes:
    - char*
    - int
    - int
    assertStmts:
    - condition: (maxFd)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/curl/tests/libtest/lib530.c
    constantsTouched: []
    func_position:
      end: 396
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 396
    functionName: testone
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - multi_add_handle
    - t530_getMicroSecondTimeout
    - t530_msg
    - easy_setopt
    - abort_on_test_timeout
    - socket_action
    - multi_init
    - curl_global_cleanup
    - t530_checkForCompletion
    - curlx_sztosi
    - start_test_timing
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - free
    - t530_checkFdSet
    - memset
    - assert
    - res_global_init
    - select_test
    - easy_init
    - FD_ZERO
    - multi_setopt
    - curl_multi_cleanup
    - t530_updateFdSet
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode testone(const char *URL, int timer_fail_at, int socket_fail_at)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: testone
      Src: /src/curl/tests/libtest/lib530.c:403,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:405,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:405,1
    - Dst: testone
      Src: /src/curl/tests/libtest/lib530.c:407,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:409,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:409,1
    - Dst: testone
      Src: /src/curl/tests/libtest/lib530.c:411,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:413,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:413,1
    - Dst: testone
      Src: /src/curl/tests/libtest/lib530.c:415,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:417,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:417,1
    - Dst: testone
      Src: /src/curl/tests/libtest/lib530.c:419,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib530.c:421,1
    - Dst: t530_tag
      Src: /src/curl/tests/libtest/lib530.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 398
    functionDepth: 5
    functionLinenumber: 398
    functionLinenumberEnd: 424
    functionName: test_lib530
    functionSourceFile: /src/curl/tests/libtest/lib530.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - t530_tag
    - testone
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib530(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1938.c:36,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1938.c:37,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1938.c:41,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1938.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1938.c:44,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:53,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1938.c:55,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:57,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1938.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:60,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1938.c:61,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1938.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1938.c:67,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1938.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1938.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1938.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 73
    functionName: test_lib1938
    functionSourceFile: /src/curl/tests/libtest/lib1938.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1938(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/libtest/lib553.c:41,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib553.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: myreadfunc
    functionSourceFile: /src/curl/tests/libtest/lib553.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t myreadfunc(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib553.c:67,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib553.c:68,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib553.c:72,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib553.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib553.c:75,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib553.c:80,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib553.c:81,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib553.c:83,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib553.c:89,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib553.c:94,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib553.c:95,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib553.c:96,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib553.c:97,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib553.c:98,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib553.c:99,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib553.c:100,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib553.c:102,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib553.c:106,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib553.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib553.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 113
    functionName: test_lib553
    functionSourceFile: /src/curl/tests/libtest/lib553.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_msnprintf
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - test_setopt
    - curl_slist_append
    - curl_global_init
    - memset
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib553(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib674.c:40,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib674.c:41,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib674.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib674.c:46,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib674.c:50,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib674.c:52,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib674.c:53,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib674.c:59,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib674.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib674.c:62,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib674.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib674.c:67,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib674.c:71,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib674.c:72,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib674.c:73,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib674.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib674.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib674.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 82
    functionName: test_lib674
    functionSourceFile: /src/curl/tests/libtest/lib674.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - easy_init
    - curl_easy_cleanup
    - curl_url
    - curl_global_cleanup
    - curl_easy_duphandle
    - easy_setopt
    - curl_url_cleanup
    - global_init
    - curl_url_strerror
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib674(const char *URL)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1535.c:36,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1535.c:38,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1535.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:46,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1535.c:48,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1535.c:59,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1535.c:61,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1535.c:65,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1535.c:72,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:75,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1535.c:77,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:81,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib1535.c:92,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:94,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1535.c:100,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:103,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1535.c:105,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:109,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib1535.c:119,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1535.c:121,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:124,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1535.c:126,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1535.c:130,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1535.c:138,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1535.c:139,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1535.c:140,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 142
    functionName: test_lib1535
    functionSourceFile: /src/curl/tests/libtest/lib1535.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_reset
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_getinfo
    - curl_easy_duphandle
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1535(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: get_transfer_for_easy_d
    functionSourceFile: /src/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct transfer_d
    signature: struct transfer_d *get_transfer_for_easy_d(CURL *easy)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:90,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:95,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/cli_hx_download.c:97,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:105,1
    - Dst: fwrite
      Src: /src/curl/tests/libtest/cli_hx_download.c:110,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:112,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 123
    functionName: my_write_d_cb
    functionSourceFile: /src/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_fopen
    - fwrite
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t my_write_d_cb(char *buf, size_t nitems, size_t buflen,\n                            void
      *userdata)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:134,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_hx_download.c:146,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:148,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:150,1
    - Dst: SSL_get_version
      Src: /src/curl/tests/libtest/cli_hx_download.c:156,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:157,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:158,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_download.c:158,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:159,1
    - Dst: wolfSSL_get_version
      Src: /src/curl/tests/libtest/cli_hx_download.c:166,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:167,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:168,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_download.c:168,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:169,1
    - Dst: gnutls_protocol_get_version
      Src: /src/curl/tests/libtest/cli_hx_download.c:176,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:177,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:178,1
    - Dst: gnutls_protocol_get_name
      Src: /src/curl/tests/libtest/cli_hx_download.c:179,1
    - Dst: mbedtls_ssl_get_version
      Src: /src/curl/tests/libtest/cli_hx_download.c:185,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:187,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:188,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_download.c:188,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:189,1
    - Dst: rustls_connection_get_protocol_version
      Src: /src/curl/tests/libtest/cli_hx_download.c:196,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:198,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:199,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:205,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 5
    argNames:
    - userdata
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts:
    - condition: (strcmp(version, "unknown"))
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    - condition: (v)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    - condition: (version)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    - condition: (version)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    - condition: (strcmp(version, "unknown"))
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    - condition: (v)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    - condition: (strcmp(version, "unknown"))
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    - condition: (0)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    - condition: (version)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    constantsTouched: []
    func_position:
      end: 213
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 213
    functionName: my_progress_d_cb
    functionSourceFile: /src/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - wolfSSL_get_version
    - gnutls_protocol_get_version
    - gnutls_protocol_get_name
    - mbedtls_ssl_get_version
    - curl_mfprintf
    - strcmp
    - rustls_connection_get_protocol_version
    - curl_easy_getinfo
    - SSL_get_version
    - assert
    linkageType: ''
    returnType: int
    signature: "int my_progress_d_cb(void *userdata,\n                            curl_off_t
      dltotal, curl_off_t dlnow,\n                            curl_off_t ultotal,
      curl_off_t ulnow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:220,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:221,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:222,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:223,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:224,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:225,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:226,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:227,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:228,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:229,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:230,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:231,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:233,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:235,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:237,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:239,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:243,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:244,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 8
    argNames:
    - hnd
    - url
    - t
    - http_version
    - host
    - share
    - use_earlydata
    - fresh_connect
    argTypes:
    - CURL*
    - char*
    - struct transfer_d*
    - long
    - struct curl_slist*
    - CURLSH*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 251
    functionName: setup_hx_download
    functionSourceFile: /src/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: "int setup_hx_download(CURL *hnd, const char *url, struct transfer_d
      *t,\n                             long http_version, struct curl_slist *host,\n
      \                            CURLSH *share, int use_earlydata,\n                             int
      fresh_connect)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:256,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:257,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 274
    functionName: usage_hx_download
    functionSourceFile: /src/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void usage_hx_download(const char *msg)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:303,1
    - Dst: usage_hx_download
      Src: /src/curl/tests/libtest/cli_hx_download.c:307,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_download.c:320,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_download.c:323,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_download.c:329,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_download.c:332,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_download.c:335,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_download.c:338,1
    - Dst: free
      Src: /src/curl/tests/libtest/cli_hx_download.c:341,1
    - Dst: strdup
      Src: /src/curl/tests/libtest/cli_hx_download.c:342,1
    - Dst: atol
      Src: /src/curl/tests/libtest/cli_hx_download.c:345,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_download.c:348,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_download.c:350,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_hx_download.c:352,1
    - Dst: usage_hx_download
      Src: /src/curl/tests/libtest/cli_hx_download.c:355,1
    - Dst: usage_hx_download
      Src: /src/curl/tests/libtest/cli_hx_download.c:362,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/cli_hx_download.c:370,1
    - Dst: curl_global_trace
      Src: /src/curl/tests/libtest/cli_hx_download.c:371,1
    - Dst: usage_hx_download
      Src: /src/curl/tests/libtest/cli_hx_download.c:374,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/cli_hx_download.c:381,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/cli_hx_download.c:383,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:385,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:389,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:390,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:391,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:393,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:394,1
    - Dst: calloc
      Src: /src/curl/tests/libtest/cli_hx_download.c:396,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:398,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/cli_hx_download.c:403,1
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:404,1
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:405,1
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/cli_hx_download.c:407,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_hx_download.c:422,1
    - Dst: setup_hx_download
      Src: /src/curl/tests/libtest/cli_hx_download.c:424,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:426,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/cli_hx_download.c:430,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:433,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/cli_hx_download.c:438,1
    - Dst: curl_multi_poll
      Src: /src/curl/tests/libtest/cli_hx_download.c:442,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/cli_hx_download.c:450,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_hx_download.c:454,1
    - Dst: get_transfer_for_easy_d
      Src: /src/curl/tests/libtest/cli_hx_download.c:455,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:459,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_hx_download.c:463,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:464,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_hx_download.c:469,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:470,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_hx_download.c:480,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:483,1
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/cli_hx_download.c:494,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:495,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_hx_download.c:505,1
    - Dst: setup_hx_download
      Src: /src/curl/tests/libtest/cli_hx_download.c:507,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:509,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/cli_hx_download.c:513,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_hx_download.c:516,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/cli_hx_download.c:528,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/cli_hx_download.c:533,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_hx_download.c:537,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_hx_download.c:543,1
    - Dst: free
      Src: /src/curl/tests/libtest/cli_hx_download.c:545,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/cli_hx_download.c:547,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/cli_hx_download.c:548,1
    - Dst: free
      Src: /src/curl/tests/libtest/cli_hx_download.c:550,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 218
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts:
    - condition: (t->checked_ssl)
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    constantsTouched: []
    func_position:
      end: 553
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 553
    functionName: test_cli_hx_download
    functionSourceFile: /src/curl/tests/libtest/cli_hx_download.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    - curl_global_trace
    - curl_multi_setopt
    - setup_hx_download
    - curl_slist_free_all
    - curl_multi_add_handle
    - cgetopt
    - curl_multi_poll
    - curl_share_cleanup
    - curlx_fclose
    - calloc
    - strdup
    - curl_mfprintf
    - curl_share_setopt
    - get_transfer_for_easy_d
    - curl_slist_append
    - usage_hx_download
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - free
    - strcmp
    - curl_global_init
    - curl_easy_init
    - assert
    - curl_multi_perform
    - curl_share_init
    - curl_multi_cleanup
    - curl_easy_getinfo
    - atol
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_hx_download(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib2023.c:37,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib2023.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2023.c:40,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib2023.c:44,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2023.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib2023.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib2023.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib2023.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib2023.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib2023.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib2023.c:52,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2023.c:54,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib2023.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - curl
    - url
    - seq
    - auth_scheme
    - userpwd
    argTypes:
    - CURL*
    - char*
    - int
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: send_request
    functionSourceFile: /src/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - curl_easy_perform
    - curl_msnprintf
    - curl_mfprintf
    - free
    - test_setopt
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_request(CURL *curl, const char *url, int seq,\n                             long
      auth_scheme, const char *userpwd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_request
      Src: /src/curl/tests/libtest/lib2023.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - curl
    - url
    - seq
    - auth_scheme
    argTypes:
    - CURL*
    - char*
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: send_wrong_password
    functionSourceFile: /src/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - send_request
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_wrong_password(CURL *curl, const char *url, int seq,\n
      \                                   long auth_scheme)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_request
      Src: /src/curl/tests/libtest/lib2023.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - curl
    - url
    - seq
    - auth_scheme
    argTypes:
    - CURL*
    - char*
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: send_right_password
    functionSourceFile: /src/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - send_request
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_right_password(CURL *curl, const char *url, int seq,\n
      \                                   long auth_scheme)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/tests/libtest/lib2023.c:77,1
    - Dst: curl_strequal
      Src: /src/curl/tests/libtest/lib2023.c:79,1
    - Dst: curl_strequal
      Src: /src/curl/tests/libtest/lib2023.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: parse_auth_name
    functionSourceFile: /src/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: long
    signature: long parse_auth_name(const char *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: parse_auth_name
      Src: /src/curl/tests/libtest/lib2023.c:91,1
    - Dst: parse_auth_name
      Src: /src/curl/tests/libtest/lib2023.c:92,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2023.c:96,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib2023.c:100,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2023.c:101,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib2023.c:107,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2023.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2023.c:110,1
    - Dst: send_wrong_password
      Src: /src/curl/tests/libtest/lib2023.c:114,1
    - Dst: send_right_password
      Src: /src/curl/tests/libtest/lib2023.c:118,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2023.c:122,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib2023.c:125,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2023.c:127,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2023.c:128,1
    - Dst: send_wrong_password
      Src: /src/curl/tests/libtest/lib2023.c:132,1
    - Dst: send_wrong_password
      Src: /src/curl/tests/libtest/lib2023.c:136,1
    - Dst: send_right_password
      Src: /src/curl/tests/libtest/lib2023.c:140,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2023.c:146,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2023.c:147,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 150
    functionName: test_lib2023
    functionSourceFile: /src/curl/tests/libtest/lib2023.c
    functionUses: 0
    functionsReached:
    - parse_auth_name
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - send_wrong_password
    - curl_global_init
    - send_right_password
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2023(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:34,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: usage_h2_pausing
    functionSourceFile: /src/curl/tests/libtest/cli_h2_pausing.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void usage_h2_pausing(const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:61,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:67,1
    - Dst: assert
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:69,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:74,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - data
    - size
    - nmemb
    - clientp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts:
    - condition: (handle->paused == 1)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/curl/tests/libtest/cli_h2_pausing.c
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: cb
    functionSourceFile: /src/curl/tests/libtest/cli_h2_pausing.c
    functionUses: 4
    functionsReached:
    - curl_mfprintf
    - assert
    - curl_easy_getinfo
    linkageType: ''
    returnType: size_t
    signature: size_t cb(char *data, size_t size, size_t nmemb, void *clientp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: CLI_ERR
    functionSourceFile: /src/curl/tests/libtest/cli_h2_pausing.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLI_ERR()
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:110,1
    - Dst: usage_h2_pausing
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:113,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:116,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:118,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:120,1
    - Dst: usage_h2_pausing
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:123,1
    - Dst: usage_h2_pausing
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:129,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:137,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:142,1
    - Dst: curl_global_trace
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:143,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:145,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:147,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:150,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:151,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:154,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:155,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:158,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:159,1
    - Dst: memset
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:162,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:163,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:165,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:167,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:173,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:175,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:176,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:178,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:179,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:180,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:182,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:183,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:184,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:185,1
    - Dst: CLI_ERR
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:186,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:188,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:191,1
    - Dst: CLI_ERR
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:193,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:195,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:196,1
    - Dst: CLI_ERR
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:197,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:201,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:202,1
    - Dst: CLI_ERR
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:203,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:207,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:208,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:210,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:214,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:219,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:223,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:229,1
    - Dst: curl_multi_poll
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:236,1
    - Dst: CLI_ERR
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:237,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:240,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:242,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:245,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:259,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:264,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:266,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:273,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:274,1
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:276,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:282,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:283,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:284,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:287,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:288,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:289,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:290,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:291,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/cli_h2_pausing.c:292,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 151
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 295
    functionName: test_cli_h2_pausing
    functionSourceFile: /src/curl/tests/libtest/cli_h2_pausing.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    - curl_global_trace
    - curl_slist_free_all
    - curl_multi_add_handle
    - cgetopt
    - curl_multi_poll
    - curl_mfprintf
    - curl_url_get
    - curl_url
    - curl_global_cleanup
    - curl_free
    - curl_slist_append
    - curl_url_cleanup
    - curl_easy_setopt
    - CLI_ERR
    - curl_msnprintf
    - curl_multi_info_read
    - curl_multi_remove_handle
    - usage_h2_pausing
    - curl_easy_cleanup
    - strcmp
    - curl_global_init
    - CURL_ARRAYSIZE
    - curl_easy_init
    - curl_url_set
    - curl_multi_perform
    - curl_multi_cleanup
    - memset
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_h2_pausing(const char *URL)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:39,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:41,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:42,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:44,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:46,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:47,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:49,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:51,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:53,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:55,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:56,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:59,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:62,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:65,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:66,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:69,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:74,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib576.c:78,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:79,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - f
    - ptr
    - remains
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 83
    functionName: chunk_bgn
    functionSourceFile: /src/curl/tests/libtest/lib576.c
    functionUses: 0
    functionsReached:
    - strcmp
    - curl_mprintf
    linkageType: ''
    returnType: long
    signature: long chunk_bgn(const void *f, void *ptr, int remains)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:90,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib576.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: chunk_end
    functionSourceFile: /src/curl/tests/libtest/lib576.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: long
    signature: long chunk_end(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib576.c:104,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib576.c:105,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib576.c:111,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib576.c:112,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib576.c:113,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib576.c:114,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib576.c:115,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib576.c:117,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib576.c:121,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib576.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 124
    functionName: test_lib576
    functionSourceFile: /src/curl/tests/libtest/lib576.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib576(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib539.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib539.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib539.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib539.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib539.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib539.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib539.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib539.c:52,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib539.c:54,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib539.c:64,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib539.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib539.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib539.c:68,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib539.c:72,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib539.c:73,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib539.c:74,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib539.c:76,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib539.c:80,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib539.c:81,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib539.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib539.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 86
    functionName: test_lib539
    functionSourceFile: /src/curl/tests/libtest/lib539.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_free
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib539(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib590.c:48,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib590.c:49,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib590.c:53,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib590.c:55,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib590.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib590.c:60,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib590.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib590.c:62,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib590.c:64,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib590.c:67,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib590.c:68,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib590.c:69,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib590.c:71,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib590.c:75,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib590.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib590.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib590.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 86
    functionName: test_lib590
    functionSourceFile: /src/curl/tests/libtest/lib590.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_getinfo
    - test_setopt
    - curl_mprintf
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib590(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:53,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:56,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib518.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - err
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: t518_store_errmsg
    functionSourceFile: /src/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - curlx_strerror
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void t518_store_errmsg(const char *msg, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/curl/tests/libtest/lib518.c:67,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: t518_close_file_descriptors
    functionSourceFile: /src/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: void
    signature: void t518_close_file_descriptors(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib518.c:82,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:84,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:85,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib518.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: t518_fopen_works
    functionSourceFile: /src/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_fclose
    - curlx_fopen
    - t518_store_errmsg
    linkageType: ''
    returnType: int
    signature: int t518_fopen_works(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/curl/tests/libtest/lib518.c:108,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:109,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:110,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:116,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:117,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:119,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:120,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:124,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:125,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:126,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:142,1
    - Dst: setrlimit
      Src: /src/curl/tests/libtest/lib518.c:144,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:146,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:147,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:153,1
    - Dst: setrlimit
      Src: /src/curl/tests/libtest/lib518.c:155,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:157,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:158,1
    - Dst: getrlimit
      Src: /src/curl/tests/libtest/lib518.c:164,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:165,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:166,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:172,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:173,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:175,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:176,1
    - Dst: RLIM_INFINITY
      Src: /src/curl/tests/libtest/lib518.c:198,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:202,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:203,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:204,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:206,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:207,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:226,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:227,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib518.c:228,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:230,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:235,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:236,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:242,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:254,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:255,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:258,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:259,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:260,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:266,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:267,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib518.c:269,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:272,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:273,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:274,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:280,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:287,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:288,1
    - Dst: curlx_open
      Src: /src/curl/tests/libtest/lib518.c:292,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:294,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:295,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:296,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:297,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:299,1
    - Dst: dup
      Src: /src/curl/tests/libtest/lib518.c:309,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:315,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:316,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:318,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:320,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:321,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:323,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:327,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:328,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:329,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:331,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:332,1
    - Dst: close
      Src: /src/curl/tests/libtest/lib518.c:337,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:338,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:340,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:345,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:346,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:363,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:365,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:366,1
    - Dst: t518_close_file_descriptors
      Src: /src/curl/tests/libtest/lib518.c:367,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:368,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:378,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:380,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:381,1
    - Dst: t518_close_file_descriptors
      Src: /src/curl/tests/libtest/lib518.c:382,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:383,1
    - Dst: t518_fopen_works
      Src: /src/curl/tests/libtest/lib518.c:399,1
    - Dst: tutil_rlim2str
      Src: /src/curl/tests/libtest/lib518.c:400,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:401,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:403,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib518.c:404,1
    - Dst: t518_store_errmsg
      Src: /src/curl/tests/libtest/lib518.c:406,1
    - Dst: t518_close_file_descriptors
      Src: /src/curl/tests/libtest/lib518.c:407,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:408,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib518.c:415,1
    - Dst: t518_close_file_descriptors
      Src: /src/curl/tests/libtest/lib518.c:420,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 165
    argCount: 1
    argNames:
    - keep_open
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 424
    functionName: t518_test_rlimit
    functionSourceFile: /src/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - malloc
    - curlx_open
    - curl_msnprintf
    - getrlimit
    - curl_mfprintf
    - close
    - t518_close_file_descriptors
    - setrlimit
    - free
    - dup
    - t518_store_errmsg
    - t518_fopen_works
    - RLIM_INFINITY
    - tutil_rlim2str
    linkageType: ''
    returnType: int
    signature: int t518_test_rlimit(int keep_open)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib518.c:431,1
    - Dst: t518_test_rlimit
      Src: /src/curl/tests/libtest/lib518.c:433,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:434,1
    - Dst: t518_test_rlimit
      Src: /src/curl/tests/libtest/lib518.c:440,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib518.c:448,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:449,1
    - Dst: t518_close_file_descriptors
      Src: /src/curl/tests/libtest/lib518.c:450,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib518.c:454,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib518.c:456,1
    - Dst: t518_close_file_descriptors
      Src: /src/curl/tests/libtest/lib518.c:457,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib518.c:458,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib518.c:462,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib518.c:463,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib518.c:465,1
    - Dst: t518_close_file_descriptors
      Src: /src/curl/tests/libtest/lib518.c:469,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib518.c:470,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib518.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 474
    functionName: test_lib518
    functionSourceFile: /src/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - t518_test_rlimit
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - strcmp
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - t518_close_file_descriptors
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib518(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib518.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: test_lib518
    functionSourceFile: /src/curl/tests/libtest/lib518.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib518(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib523.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib523.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib523.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib523.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib523.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib523.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib523.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib523.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib523.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib523.c:49,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib523.c:51,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib523.c:55,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib523.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: test_lib523
    functionSourceFile: /src/curl/tests/libtest/lib523.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib523(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib515.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib515.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib515.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib515.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib515.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib515.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib515.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib515.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib515.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib515.c:50,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib515.c:53,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib515.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib515.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib515
    functionSourceFile: /src/curl/tests/libtest/lib515.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib515(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib591.c:40,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib591.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib591.c:45,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib591.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib591.c:47,1
    - Dst: res_global_init
      Src: /src/curl/tests/libtest/lib591.c:51,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib591.c:53,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib591.c:57,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib591.c:60,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib591.c:63,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib591.c:66,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib591.c:69,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib591.c:72,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib591.c:75,1
    - Dst: atol
      Src: /src/curl/tests/libtest/lib591.c:75,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib591.c:77,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib591.c:79,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib591.c:89,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib591.c:91,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib591.c:96,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib591.c:97,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib591.c:98,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib591.c:100,1
    - Dst: multi_timeout
      Src: /src/curl/tests/libtest/lib591.c:104,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib591.c:123,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib591.c:125,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib591.c:128,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib591.c:136,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib591.c:137,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib591.c:138,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib591.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 54
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 144
    functionName: test_lib591
    functionSourceFile: /src/curl/tests/libtest/lib591.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_timeout
    - multi_add_handle
    - multi_perform
    - easy_setopt
    - curlx_fclose
    - abort_on_test_timeout
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - curlx_fopen
    - start_test_timing
    - curl_multi_info_read
    - curl_easy_cleanup
    - res_global_init
    - curlx_strerror
    - select_test
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - atol
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib591(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1530.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - clientp
    - purpose
    - address
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: opensocket
    functionSourceFile: /src/curl/tests/libtest/lib1530.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t opensocket(void *clientp,\n                                curlsocktype
      purpose,\n                                struct curl_sockaddr *address)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1530.c:45,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1530.c:46,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1530.c:50,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1530.c:52,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1530.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1530.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1530.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1530.c:59,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1530.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1530.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1530.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 69
    functionName: test_lib1530
    functionSourceFile: /src/curl/tests/libtest/lib1530.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1530(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib507.c:37,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib507.c:39,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib507.c:41,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib507.c:43,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib507.c:45,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib507.c:46,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib507.c:48,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib507.c:50,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib507.c:52,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib507.c:61,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib507.c:62,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib507.c:63,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib507.c:67,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib507.c:71,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib507.c:73,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib507.c:75,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib507.c:77,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib507.c:80,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib507.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib507.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib507.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 98
    functionName: test_lib507
    functionSourceFile: /src/curl/tests/libtest/lib507.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - select_test
    - curl_multi_info_read
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib507(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib655.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib655.c:39,1
    - Dst: exit
      Src: /src/curl/tests/libtest/lib655.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - resolver_state
    - reserved
    - userdata
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: resolver_alloc_cb_fail
    functionSourceFile: /src/curl/tests/libtest/lib655.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    - exit
    linkageType: ''
    returnType: int
    signature: "int resolver_alloc_cb_fail(void *resolver_state, void *reserved,\n
      \                                 void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib655.c:53,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib655.c:54,1
    - Dst: exit
      Src: /src/curl/tests/libtest/lib655.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - resolver_state
    - reserved
    - userdata
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: resolver_alloc_cb_pass
    functionSourceFile: /src/curl/tests/libtest/lib655.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    - exit
    linkageType: ''
    returnType: int
    signature: "int resolver_alloc_cb_pass(void *resolver_state, void *reserved,\n
      \                                 void *userdata)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib655.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib655.c:67,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib655.c:70,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib655.c:72,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib655.c:78,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib655.c:80,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib655.c:81,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib655.c:84,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib655.c:86,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib655.c:95,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib655.c:97,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib655.c:100,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib655.c:102,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib655.c:107,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib655.c:114,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib655.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 118
    functionName: test_lib655
    functionSourceFile: /src/curl/tests/libtest/lib655.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib655(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1557.c:36,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1557.c:38,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib1557.c:39,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1557.c:41,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1557.c:42,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1557.c:43,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1557.c:45,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1557.c:46,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1557.c:47,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1557.c:49,1
    - Dst: multi_remove_handle
      Src: /src/curl/tests/libtest/lib1557.c:51,1
    - Dst: multi_remove_handle
      Src: /src/curl/tests/libtest/lib1557.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1557.c:57,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1557.c:58,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1557.c:59,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1557.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib1557
    functionSourceFile: /src/curl/tests/libtest/lib1557.c
    functionUses: 0
    functionsReached:
    - multi_remove_handle
    - multi_init
    - easy_init
    - multi_add_handle
    - multi_setopt
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1557(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib1506.c:44,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1506.c:45,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1506.c:47,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1506.c:48,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1506.c:50,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1506.c:56,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1506.c:58,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1506.c:60,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib1506.c:62,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib1506.c:65,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1506.c:67,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1506.c:69,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1506.c:73,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1506.c:75,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1506.c:77,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1506.c:79,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1506.c:82,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib1506.c:84,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1506.c:86,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1506.c:96,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1506.c:98,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1506.c:103,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1506.c:104,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1506.c:105,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib1506.c:107,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib1506.c:111,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1506.c:113,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib1506.c:115,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib1506.c:122,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib1506.c:123,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1506.c:124,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1506.c:127,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1506.c:129,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1506.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 133
    functionName: test_lib1506
    functionSourceFile: /src/curl/tests/libtest/lib1506.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_add_handle
    - curl_slist_free_all
    - multi_perform
    - curl_mprintf
    - easy_setopt
    - abort_on_test_timeout
    - curlx_wait_ms
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - curl_slist_append
    - global_init
    - start_test_timing
    - curl_msnprintf
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - CURL_ARRAYSIZE
    - select_test
    - easy_init
    - FD_ZERO
    - multi_setopt
    - curl_multi_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1506(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1552.c:38,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1552.c:40,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1552.c:42,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1552.c:44,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1552.c:46,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1552.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1552.c:48,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1552.c:49,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1552.c:51,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1552.c:53,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1552.c:55,1
    - Dst: curl_multi_wait
      Src: /src/curl/tests/libtest/lib1552.c:60,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1552.c:62,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1552.c:67,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1552.c:69,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1552.c:71,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib1552.c:74,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1552.c:84,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1552.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1552.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 92
    functionName: test_lib1552
    functionSourceFile: /src/curl/tests/libtest/lib1552.c
    functionUses: 0
    functionsReached:
    - multi_init
    - curl_multi_info_read
    - easy_init
    - multi_add_handle
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_perform
    - curl_multi_wait
    - curl_mprintf
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1552(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3100.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3100.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib3100.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3100.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3100.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3100.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3100.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3100.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3100.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3100.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3100.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3100.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3100.c:54,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3100.c:55,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3100.c:57,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3100.c:59,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3100.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3100.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib3100
    functionSourceFile: /src/curl/tests/libtest/lib3100.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3100(const char *URL)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib572.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib572.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib572.c:48,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib572.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib572.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:55,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:59,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib572.c:62,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:67,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib572.c:68,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:71,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:72,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib572.c:73,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib572.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:82,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib572.c:83,1
    - Dst: curlx_open
      Src: /src/curl/tests/libtest/lib572.c:87,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib572.c:89,1
    - Dst: fstat
      Src: /src/curl/tests/libtest/lib572.c:93,1
    - Dst: close
      Src: /src/curl/tests/libtest/lib572.c:94,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib572.c:96,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib572.c:98,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:102,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:104,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:105,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:106,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib572.c:108,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:112,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib572.c:113,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib572.c:117,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:122,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib572.c:123,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib572.c:126,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib572.c:132,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:137,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib572.c:138,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:141,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:142,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib572.c:144,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:148,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib572.c:151,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:156,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib572.c:157,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib572.c:160,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib572.c:161,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib572.c:166,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib572.c:168,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib572.c:171,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib572.c:173,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib572.c:174,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 116
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 177
    functionName: test_lib572
    functionSourceFile: /src/curl/tests/libtest/lib572.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - fstat
    - curlx_open
    - tutil_suburl
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fopen
    - curl_free
    - curl_slist_free_all
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - close
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib572(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1510.c:45,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1510.c:47,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1510.c:48,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1510.c:50,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1510.c:56,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1510.c:58,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1510.c:61,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1510.c:64,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1510.c:66,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1510.c:68,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1510.c:70,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1510.c:75,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1510.c:79,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1510.c:81,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1510.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1510.c:92,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1510.c:94,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1510.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 99
    functionName: test_lib1510
    functionSourceFile: /src/curl/tests/libtest/lib1510.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_msnprintf
    - curl_mfprintf
    - easy_init
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_mprintf
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1510(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1593.c:38,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1593.c:40,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1593.c:42,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1593.c:43,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1593.c:45,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1593.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1593.c:53,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1593.c:55,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1593.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1593.c:76,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1593.c:77,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1593.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 81
    functionName: test_lib1593
    functionSourceFile: /src/curl/tests/libtest/lib1593.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_easy_getinfo
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1593(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1978.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1978.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1978.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1978.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1978.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1978.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1978.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1978.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1978.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1978.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1978.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1978.c:53,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:67,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:70,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:71,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:72,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:73,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:74,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:75,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:76,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:77,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:78,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:79,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:80,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:81,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:82,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:83,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:84,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:85,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:86,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1978.c:89,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1978.c:91,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1978.c:93,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1978.c:95,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1978.c:99,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1978.c:100,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1978.c:101,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1978.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 105
    functionName: test_lib1978
    functionSourceFile: /src/curl/tests/libtest/lib1978.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1978(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib555.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib555.c:52,1
    - Dst: strcpy
      Src: /src/curl/tests/libtest/lib555.c:53,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib555.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - clientp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: t555_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib555.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t555_read_cb(char *ptr, size_t size, size_t nmemb, void *clientp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib555.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - cmd
    - clientp
    argTypes:
    - CURL*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: t555_ioctl_callback
    functionSourceFile: /src/curl/tests/libtest/lib555.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: curlioerr
    signature: curlioerr t555_ioctl_callback(CURL *handle, int cmd, void *clientp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib555.c:79,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib555.c:81,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib555.c:83,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:85,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:86,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:87,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:90,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:91,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:93,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:94,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:97,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:99,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:100,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:101,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib555.c:102,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib555.c:105,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib555.c:107,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib555.c:117,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib555.c:119,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib555.c:124,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib555.c:125,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib555.c:126,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib555.c:128,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib555.c:132,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib555.c:134,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib555.c:141,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib555.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib555.c:143,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib555.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 147
    functionName: test_lib555
    functionSourceFile: /src/curl/tests/libtest/lib555.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - select_test
    - curl_multi_remove_handle
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib555(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1936.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1936.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1936.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1936.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1936.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1936.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1936.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1936.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1936.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1936.c:51,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1936.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1936.c:55,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1936.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1936.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1936.c:59,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1936.c:63,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1936.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1936.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1936.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: test_lib1936
    functionSourceFile: /src/curl/tests/libtest/lib1936.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1936(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1527.c:39,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1527.c:40,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1527.c:43,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1527.c:43,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1527.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: t1527_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1527.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t1527_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1527.c:54,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1527.c:55,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1527.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1527.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1527.c:62,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1527.c:66,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1527.c:70,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:76,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:78,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:79,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:80,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:81,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:82,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:83,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:84,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:85,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:86,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:87,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1527.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1527.c:88,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1527.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1527.c:94,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1527.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1527.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 101
    functionName: test_lib1527
    functionSourceFile: /src/curl/tests/libtest/lib1527.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1527(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1964.c:35,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1964.c:36,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1964.c:38,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1964.c:39,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1964.c:40,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1964.c:42,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1964.c:48,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1964.c:49,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1964.c:50,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1964.c:56,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1964.c:58,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1964.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1964.c:63,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1964.c:64,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1964.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: test_lib1964
    functionSourceFile: /src/curl/tests/libtest/lib1964.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1964(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t513_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib513.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t513_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib513.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib513.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib513.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib513.c:49,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib513.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib513.c:55,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib513.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib513.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib513.c:64,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib513.c:67,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib513.c:70,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib513.c:73,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib513.c:76,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib513.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib513.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 85
    functionName: test_lib513
    functionSourceFile: /src/curl/tests/libtest/lib513.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib513(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib3207.c:51,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3207.c:54,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib3207.c:57,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib3207.c:59,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib3207.c:60,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3207.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: write_memory_callback
    functionSourceFile: /src/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - curl_slist_append
    - free
    - curl_mprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t write_memory_callback(char *contents, size_t size,\n                                    size_t
      nmemb, void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib3207.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3207.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3207.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3207.c:91,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3207.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3207.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib3207.c:95,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3207.c:98,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3207.c:101,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3207.c:104,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib3207.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 114
    functionName: test_thread
    functionSourceFile: /src/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int test_thread(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/curl/tests/libtest/lib3207.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - handle
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: t3207_test_lock
    functionSourceFile: /src/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - Curl_mutex_acquire
    linkageType: ''
    returnType: void
    signature: "void t3207_test_lock(CURL *handle, curl_lock_data data,\n                            curl_lock_access
      laccess, void *useptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_release
      Src: /src/curl/tests/libtest/lib3207.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: t3207_test_unlock
    functionSourceFile: /src/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - Curl_mutex_release
    linkageType: ''
    returnType: void
    signature: void t3207_test_unlock(CURL *handle, curl_lock_data data, void *useptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib3207.c:139,1
    - Dst: Curl_mutex_init
      Src: /src/curl/tests/libtest/lib3207.c:140,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib3207.c:142,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib3207.c:143,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib3207.c:144,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib3207.c:145,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib3207.c:147,1
    - Dst: Curl_thread_create
      Src: /src/curl/tests/libtest/lib3207.c:148,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib3207.c:150,1
    - Dst: Curl_thread_join
      Src: /src/curl/tests/libtest/lib3207.c:152,1
    - Dst: Curl_thread_destroy
      Src: /src/curl/tests/libtest/lib3207.c:153,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib3207.c:156,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib3207.c:157,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib3207.c:158,1
    - Dst: Curl_mutex_destroy
      Src: /src/curl/tests/libtest/lib3207.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - share
    - ctx
    argTypes:
    - CURLSH*
    - struct Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 161
    functionName: execute
    functionSourceFile: /src/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - curl_share_setopt
    - Curl_thread_create
    - Curl_mutex_init
    - Curl_mutex_destroy
    - Curl_thread_join
    - CURL_ARRAYSIZE
    - Curl_thread_destroy
    linkageType: ''
    returnType: void
    signature: void execute(CURLSH *share, struct Ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_thread
      Src: /src/curl/tests/libtest/lib3207.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - share
    - ctx
    argTypes:
    - CURLSH*
    - struct Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: execute
    functionSourceFile: /src/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - test_thread
    linkageType: ''
    returnType: void
    signature: void execute(CURLSH *share, struct Ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3207.c:183,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/lib3207.c:185,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3207.c:187,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib3207.c:191,1
    - Dst: execute
      Src: /src/curl/tests/libtest/lib3207.c:199,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib3207.c:201,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib3207.c:208,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib3207.c:212,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib3207.c:217,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3207.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 220
    functionName: test_lib3207
    functionSourceFile: /src/curl/tests/libtest/lib3207.c
    functionUses: 0
    functionsReached:
    - curl_share_init
    - curl_mfprintf
    - execute
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_global_init
    - CURL_ARRAYSIZE
    - curl_mprintf
    - curl_share_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3207(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/lib1540.c:51,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1540.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - userp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: please_continue
    functionSourceFile: /src/curl/tests/libtest/lib1540.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_pause
    linkageType: ''
    returnType: int
    signature: "int please_continue(void *userp,\n                           curl_off_t
      dltotal,\n                           curl_off_t dlnow,\n                           curl_off_t
      ultotal,\n                           curl_off_t ulnow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib1540.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: t1540_header_callback
    functionSourceFile: /src/curl/tests/libtest/lib1540.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t t1540_header_callback(char *ptr, size_t size, size_t nmemb,\n
      \                                   void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib1540.c:75,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1540.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: t1540_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib1540.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t t1540_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1540.c:90,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1540.c:92,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1540.c:94,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1540.c:96,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:99,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:100,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:101,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:102,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:103,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:105,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:106,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:107,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1540.c:111,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:112,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1540.c:113,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1540.c:115,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1540.c:119,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1540.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 123
    functionName: test_lib1540
    functionSourceFile: /src/curl/tests/libtest/lib1540.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - test_setopt
    - memset
    - easy_setopt
    - global_init
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1540(const char *URL)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/curl/tests/libtest/lib677.c:37,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib677.c:42,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib677.c:43,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib677.c:44,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib677.c:46,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib677.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib677.c:48,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/lib677.c:49,1
    - Dst: time
      Src: /src/curl/tests/libtest/lib677.c:52,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib677.c:55,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib677.c:58,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib677.c:63,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib677.c:66,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib677.c:73,1
    - Dst: curl_multi_wait
      Src: /src/curl/tests/libtest/lib677.c:76,1
    - Dst: curl_easy_send
      Src: /src/curl/tests/libtest/lib677.c:83,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib677.c:89,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib677.c:90,1
    - Dst: curl_easy_recv
      Src: /src/curl/tests/libtest/lib677.c:105,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib677.c:110,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib677.c:111,1
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib677.c:124,1
    - Dst: putchar
      Src: /src/curl/tests/libtest/lib677.c:125,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib677.c:128,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib677.c:130,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib677.c:131,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib677.c:133,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 79
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 135
    functionName: test_lib677
    functionSourceFile: /src/curl/tests/libtest/lib677.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - multi_perform
    - curl_multi_add_handle
    - curl_mprintf
    - easy_setopt
    - multi_init
    - putchar
    - curl_mfprintf
    - curl_global_cleanup
    - curl_easy_recv
    - global_init
    - curl_multi_info_read
    - fwrite
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_multi_wait
    - curl_easy_send
    - time
    - easy_init
    - curl_multi_cleanup
    - curl_easy_getinfo
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib677(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1512.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1512.c:48,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1512.c:52,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1512.c:54,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1512.c:55,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib1512.c:58,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1512.c:60,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1512.c:62,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1512.c:66,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1512.c:68,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1512.c:70,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1512.c:72,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1512.c:76,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib1512.c:79,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1512.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1512.c:87,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1512.c:88,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1512.c:89,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1512.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 93
    functionName: test_lib1512
    functionSourceFile: /src/curl/tests/libtest/lib1512.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_msnprintf
    - curl_mfprintf
    - easy_init
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_mprintf
    - curl_global_init
    - CURL_ARRAYSIZE
    - easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1512(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1958.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1958.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1958.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1958.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1958.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1958.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1958.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1958.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1958.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1958.c:51,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1958.c:52,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1958.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1958.c:58,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1958.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1958.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1958.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1958.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1958.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1958.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1958.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: test_lib1958
    functionSourceFile: /src/curl/tests/libtest/lib1958.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1958(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib1485.c:44,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1485.c:50,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1485.c:51,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1485.c:54,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1485.c:60,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1485.c:62,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1485.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 77
    functionName: t1485_header_callback
    functionSourceFile: /src/curl/tests/libtest/lib1485.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_getinfo
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t t1485_header_callback(char *ptr, size_t size, size_t nmemb,\n
      \                                   void *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/tests/libtest/lib1485.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: t1485_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib1485.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t t1485_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1485.c:94,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1485.c:96,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1485.c:98,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1485.c:100,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1485.c:103,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1485.c:104,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1485.c:105,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1485.c:106,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1485.c:107,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1485.c:109,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1485.c:111,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1485.c:115,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1485.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 119
    functionName: test_lib1485
    functionSourceFile: /src/curl/tests/libtest/lib1485.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - memset
    - easy_setopt
    - global_init
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1485(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/curl/tests/libtest/lib583.c:41,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib583.c:43,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib583.c:45,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib583.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib583.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib583.c:50,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib583.c:51,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib583.c:53,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib583.c:54,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib583.c:56,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib583.c:57,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib583.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib583.c:64,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib583.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib583.c:68,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib583.c:70,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib583.c:71,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib583.c:73,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib583.c:78,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib583.c:84,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib583.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib583.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts:
    - condition: (test_argc >= 4)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/curl/tests/libtest/lib583.c
    constantsTouched: []
    func_position:
      end: 89
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 89
    functionName: test_lib583
    functionSourceFile: /src/curl/tests/libtest/lib583.c
    functionUses: 0
    functionsReached:
    - multi_init
    - curl_multi_remove_handle
    - curl_mfprintf
    - easy_init
    - multi_add_handle
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - global_init
    - assert
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib583(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1582.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1582.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1582.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1582.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1582.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1582.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1582.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1582.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1582.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1582.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1582.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1582.c:51,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1582.c:53,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1582.c:56,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1582.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: test_lib1582
    functionSourceFile: /src/curl/tests/libtest/lib1582.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1582(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1918.c:33,1
    - Dst: curl_easy_option_next
      Src: /src/curl/tests/libtest/lib1918.c:35,1
    - Dst: curl_easy_option_next
      Src: /src/curl/tests/libtest/lib1918.c:37,1
    - Dst: curl_easy_option_by_name
      Src: /src/curl/tests/libtest/lib1918.c:39,1
    - Dst: curl_easy_option_by_id
      Src: /src/curl/tests/libtest/lib1918.c:41,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1918.c:44,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1918.c:48,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1918.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib1918
    functionSourceFile: /src/curl/tests/libtest/lib1918.c
    functionUses: 0
    functionsReached:
    - curl_easy_option_by_id
    - curl_global_cleanup
    - curl_easy_option_next
    - curl_mprintf
    - curl_global_init
    - curl_easy_option_by_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1918(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t1507_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1507.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1507_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1507.c:48,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1507.c:50,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1507.c:52,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1507.c:54,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1507.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1507.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1507.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1507.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1507.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1507.c:65,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1507.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1507.c:67,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1507.c:68,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1507.c:69,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1507.c:71,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/lib1507.c:74,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1507.c:87,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1507.c:88,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1507.c:89,1
    - Dst: curl_multi_timeout
      Src: /src/curl/tests/libtest/lib1507.c:95,1
    - Dst: curlx_mstotv
      Src: /src/curl/tests/libtest/lib1507.c:97,1
    - Dst: curl_multi_fdset
      Src: /src/curl/tests/libtest/lib1507.c:105,1
    - Dst: select
      Src: /src/curl/tests/libtest/lib1507.c:113,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/libtest/lib1507.c:115,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib1507.c:115,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1507.c:116,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/lib1507.c:127,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1507.c:134,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib1507.c:135,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1507.c:136,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1507.c:137,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1507.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 141
    functionName: test_lib1507
    functionSourceFile: /src/curl/tests/libtest/lib1507.c
    functionUses: 0
    functionsReached:
    - multi_add_handle
    - curl_slist_free_all
    - multi_init
    - curl_mfprintf
    - curlx_now
    - curl_global_cleanup
    - curl_slist_append
    - curlx_timediff
    - curl_easy_setopt
    - curl_multi_fdset
    - curl_multi_remove_handle
    - curl_multi_timeout
    - curl_easy_cleanup
    - curlx_mstotv
    - curl_global_init
    - curl_multi_perform
    - easy_init
    - FD_ZERO
    - curl_multi_cleanup
    - select
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1507(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1569.c:32,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1569.c:34,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1569.c:35,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1569.c:36,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1569.c:37,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1569.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1569.c:43,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1569.c:44,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1569.c:47,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1569.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: test_lib1569
    functionSourceFile: /src/curl/tests/libtest/lib1569.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1569(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1558.c:34,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1558.c:35,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1558.c:37,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1558.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1558.c:40,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1558.c:41,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1558.c:45,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1558.c:47,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1558.c:48,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1558.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1558.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1558.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1558.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1558.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 65
    functionName: test_lib1558
    functionSourceFile: /src/curl/tests/libtest/lib1558.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_getinfo
    - curl_mprintf
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1558(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib542.c:37,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib542.c:38,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib542.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib542.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib542.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib542.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib542.c:54,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib542.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib542.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib542.c:63,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib542.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib542.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 71
    functionName: test_lib542
    functionSourceFile: /src/curl/tests/libtest/lib542.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib542(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1515.c:47,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1515.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1515.c:51,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1515.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1515.c:53,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1515.c:57,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1515.c:58,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1515.c:59,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1515.c:61,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1515.c:62,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1515.c:64,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1515.c:71,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1515.c:72,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib1515.c:73,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib1515.c:77,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib1515.c:78,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1515.c:80,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1515.c:81,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1515.c:83,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib1515.c:87,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib1515.c:96,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1515.c:97,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1515.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - m
    - URL
    - resolve
    argTypes:
    - CURLM*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 101
    functionName: do_one_request
    functionSourceFile: /src/curl/tests/libtest/lib1515.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - curl_multi_info_read
    - select_test
    - curl_multi_remove_handle
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - multi_perform
    - easy_setopt
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode do_one_request(CURLM *m, const char *URL, const char *resolve)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1515.c:114,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1515.c:117,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1515.c:119,1
    - Dst: curl_global_trace
      Src: /src/curl/tests/libtest/lib1515.c:120,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1515.c:121,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1515.c:125,1
    - Dst: do_one_request
      Src: /src/curl/tests/libtest/lib1515.c:129,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1515.c:131,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib1515.c:136,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1515.c:141,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1515.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 145
    functionName: test_lib1515
    functionSourceFile: /src/curl/tests/libtest/lib1515.c
    functionUses: 0
    functionsReached:
    - curlx_wait_ms
    - do_one_request
    - multi_init
    - curl_msnprintf
    - curl_global_trace
    - curl_mfprintf
    - curl_multi_cleanup
    - curl_global_cleanup
    - global_init
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1515(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib501.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib501.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib501.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib501.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib501.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib501.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib501.c:50,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib501.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib501.c:56,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib501.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: test_lib501
    functionSourceFile: /src/curl/tests/libtest/lib501.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib501(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3101.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3101.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib3101.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3101.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3101.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3101.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3101.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3101.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3101.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3101.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3101.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3101.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3101.c:52,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3101.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3101.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3101.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 65
    functionName: test_lib3101
    functionSourceFile: /src/curl/tests/libtest/lib3101.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3101(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1910.c:32,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1910.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1910.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1910.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1910.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1910.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1910.c:41,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1910.c:42,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1910.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1910.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: test_lib1910
    functionSourceFile: /src/curl/tests/libtest/lib1910.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1910(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib766.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: sockopt_766
    functionSourceFile: /src/curl/tests/libtest/lib766.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int sockopt_766(void *clientp,\n                       curl_socket_t
      curlfd,\n                       curlsocktype purpose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib766.c:48,1
    - Dst: res_global_init
      Src: /src/curl/tests/libtest/lib766.c:50,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib766.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib766.c:53,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib766.c:54,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib766.c:55,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib766.c:56,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib766.c:58,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib766.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib766.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: test_lib766
    functionSourceFile: /src/curl/tests/libtest/lib766.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - start_test_timing
    - res_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib766(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib578.c:36,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib578.c:44,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib578.c:46,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib578.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: t578_progress_callback
    functionSourceFile: /src/curl/tests/libtest/lib578.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_fopen
    - curlx_fclose
    linkageType: ''
    returnType: int
    signature: "int t578_progress_callback(void *clientp, double dltotal, double dlnow,\n
      \                                 double ultotal, double ulnow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib578.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib578.c:59,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib578.c:63,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib578.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib578.c:66,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib578.c:71,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib578.c:74,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib578.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib578.c:78,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib578.c:81,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib578.c:82,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib578.c:85,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib578.c:88,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib578.c:91,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib578.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib578.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 100
    functionName: test_lib578
    functionSourceFile: /src/curl/tests/libtest/lib578.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib578(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib558.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib558.c:39,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib558.c:43,1
    - Dst: Curl_safefree
      Src: /src/curl/tests/libtest/lib558.c:44,1
    - Dst: curl_easy_escape
      Src: /src/curl/tests/libtest/lib558.c:47,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib558.c:49,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib558.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib558
    functionSourceFile: /src/curl/tests/libtest/lib558.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - malloc
    - curl_mfprintf
    - curl_global_cleanup
    - curl_easy_escape
    - curl_free
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib558(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1919.c:34,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1919.c:35,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1919.c:36,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1919.c:37,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1919.c:39,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1919.c:41,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1919.c:45,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1919.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1919.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib1919
    functionSourceFile: /src/curl/tests/libtest/lib1919.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1919(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_recv
      Src: /src/curl/tests/libtest/lib1555.c:48,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1555.c:49,1
    - Dst: curl_easy_send
      Src: /src/curl/tests/libtest/lib1555.c:50,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1555.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - arg
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: progressCallback
    functionSourceFile: /src/curl/tests/libtest/lib1555.c
    functionUses: 0
    functionsReached:
    - curl_easy_send
    - curl_easy_recv
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: "int progressCallback(void *arg,\n                            double
      dltotal,\n                            double dlnow,\n                            double
      ultotal,\n                            double ulnow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1555.c:60,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1555.c:62,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1555.c:64,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1555.c:65,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1555.c:66,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1555.c:67,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1555.c:68,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1555.c:69,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1555.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1555.c:77,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1555.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: test_lib1555
    functionSourceFile: /src/curl/tests/libtest/lib1555.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1555(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1537.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1537.c:41,1
    - Dst: curl_easy_escape
      Src: /src/curl/tests/libtest/lib1537.c:46,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1537.c:47,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1537.c:48,1
    - Dst: curl_escape
      Src: /src/curl/tests/libtest/lib1537.c:51,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1537.c:56,1
    - Dst: curl_easy_unescape
      Src: /src/curl/tests/libtest/lib1537.c:58,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1537.c:58,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1537.c:59,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1537.c:60,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib1537.c:61,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1537.c:62,1
    - Dst: curl_unescape
      Src: /src/curl/tests/libtest/lib1537.c:65,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1537.c:65,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1537.c:70,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1537.c:71,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1537.c:72,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib1537.c:73,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1537.c:74,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1537.c:75,1
    - Dst: curl_easy_escape
      Src: /src/curl/tests/libtest/lib1537.c:78,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1537.c:79,1
    - Dst: curl_easy_unescape
      Src: /src/curl/tests/libtest/lib1537.c:83,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1537.c:84,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib1537.c:87,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1537.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 91
    functionName: test_lib1537
    functionSourceFile: /src/curl/tests/libtest/lib1537.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_unescape
    - curl_easy_unescape
    - curl_escape
    - curl_mfprintf
    - curl_global_cleanup
    - curl_easy_escape
    - curl_free
    - curl_mprintf
    - curl_global_init
    - memcmp
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1537(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib552.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: t552_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib552.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t552_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib552.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: t552_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib552.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: size_t
    signature: size_t t552_write_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib552.c:61,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib552.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - cmd
    - clientp
    argTypes:
    - CURL*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: ioctl_callback
    functionSourceFile: /src/curl/tests/libtest/lib552.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: curlioerr
    signature: curlioerr ioctl_callback(CURL *handle, int cmd, void *clientp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib552.c:80,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib552.c:81,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:83,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:84,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:86,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:93,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:96,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:97,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:100,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:103,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:105,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:107,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib552.c:111,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib552.c:113,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib552.c:117,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib552.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 120
    functionName: test_lib552
    functionSourceFile: /src/curl/tests/libtest/lib552.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - easy_init
    - curl_global_cleanup
    - test_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib552(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:47,1
    - Dst: memmove
      Src: /src/curl/tests/libtest/lib582.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sockets
    - fd
    - mention
    argTypes:
    - struct t582_Sockets*
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: t582_removeFd
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - memmove
    linkageType: ''
    returnType: void
    signature: "void t582_removeFd(struct t582_Sockets *sockets, curl_socket_t fd,\n
      \                         int mention)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:69,1
    - Dst: t582_removeFd
      Src: /src/curl/tests/libtest/lib582.c:70,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib582.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:82,1
    - Dst: exit
      Src: /src/curl/tests/libtest/lib582.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sockets
    - fd
    - what
    argTypes:
    - struct t582_Sockets*
    - curl_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 90
    functionName: t582_addFd
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - t582_removeFd
    - malloc
    - exit
    linkageType: ''
    returnType: void
    signature: "void t582_addFd(struct t582_Sockets *sockets, curl_socket_t fd,\n
      \                      const char *what)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: t582_addFd
      Src: /src/curl/tests/libtest/lib582.c:104,1
    - Dst: t582_addFd
      Src: /src/curl/tests/libtest/lib582.c:107,1
    - Dst: t582_removeFd
      Src: /src/curl/tests/libtest/lib582.c:110,1
    - Dst: t582_removeFd
      Src: /src/curl/tests/libtest/lib582.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - easy
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: t582_curlSocketCallback
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - t582_removeFd
    - t582_addFd
    linkageType: ''
    returnType: int
    signature: "int t582_curlSocketCallback(CURL *easy, curl_socket_t s, int action,\n
      \                                  void *userp, void *socketp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib582.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: t582_curlTimerCallback
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: int
    signature: int t582_curlTimerCallback(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib582.c:144,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - curl
    - success
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: t582_checkForCompletion
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_multi_info_read
    linkageType: ''
    returnType: int
    signature: int t582_checkForCompletion(CURLM *curl, int *success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib582.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: t582_getMicroSecondTimeout
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t t582_getMicroSecondTimeout(struct curltime *timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_SET
      Src: /src/curl/tests/libtest/lib582.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sockets
    - fdset
    - maxFd
    argTypes:
    - struct t582_Sockets*
    - fd_set*
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: t582_updateFdSet
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void t582_updateFdSet(struct t582_Sockets *sockets, fd_set* fdset,\n
      \                            curl_socket_t *maxFd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/tests/libtest/lib582.c:203,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:205,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/lib582.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - curl
    - s
    - evBitmask
    - info
    argTypes:
    - CURLM*
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: notifyCurl
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - curl_mfprintf
    - curl_multi_strerror
    linkageType: ''
    returnType: void
    signature: "void notifyCurl(CURLM *curl, curl_socket_t s, int evBitmask,\n                       const
      char *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/curl/tests/libtest/lib582.c:218,1
    - Dst: notifyCurl
      Src: /src/curl/tests/libtest/lib582.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - curl
    - sockets
    - fdset
    - evBitmask
    - name
    argTypes:
    - CURLM*
    - struct t582_Sockets*
    - fd_set*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: t582_checkFdSet
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - notifyCurl
    linkageType: ''
    returnType: void
    signature: "void t582_checkFdSet(CURLM *curl, struct t582_Sockets *sockets,\n
      \                           fd_set *fdset, int evBitmask, const char *name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/curl/tests/libtest/lib582.c:238,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib582.c:240,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:243,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib582.c:247,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:249,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib582.c:250,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:251,1
    - Dst: stat
      Src: /src/curl/tests/libtest/lib582.c:258,1
    - Dst: fstat
      Src: /src/curl/tests/libtest/lib582.c:260,1
    - Dst: fileno
      Src: /src/curl/tests/libtest/lib582.c:260,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:264,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib582.c:265,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:266,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib582.c:267,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:270,1
    - Dst: res_global_init
      Src: /src/curl/tests/libtest/lib582.c:273,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib582.c:275,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib582.c:279,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib582.c:282,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib582.c:285,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib582.c:288,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib582.c:291,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib582.c:293,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib582.c:294,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib582.c:295,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib582.c:296,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib582.c:298,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib582.c:300,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib582.c:302,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib582.c:303,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib582.c:305,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib582.c:306,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib582.c:308,1
    - Dst: t582_checkForCompletion
      Src: /src/curl/tests/libtest/lib582.c:310,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib582.c:316,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib582.c:317,1
    - Dst: t582_updateFdSet
      Src: /src/curl/tests/libtest/lib582.c:318,1
    - Dst: t582_updateFdSet
      Src: /src/curl/tests/libtest/lib582.c:319,1
    - Dst: curlx_sztosi
      Src: /src/curl/tests/libtest/lib582.c:322,1
    - Dst: t582_getMicroSecondTimeout
      Src: /src/curl/tests/libtest/lib582.c:322,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib582.c:331,1
    - Dst: t582_checkFdSet
      Src: /src/curl/tests/libtest/lib582.c:334,1
    - Dst: t582_checkFdSet
      Src: /src/curl/tests/libtest/lib582.c:335,1
    - Dst: t582_getMicroSecondTimeout
      Src: /src/curl/tests/libtest/lib582.c:338,1
    - Dst: notifyCurl
      Src: /src/curl/tests/libtest/lib582.c:340,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib582.c:343,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib582.c:347,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib582.c:355,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib582.c:356,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib582.c:357,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib582.c:358,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib582.c:361,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib582.c:364,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib582.c:365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 80
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts:
    - condition: (test_argc >= 5)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/curl/tests/libtest/lib582.c
    constantsTouched: []
    func_position:
      end: 368
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 368
    functionName: test_lib582
    functionSourceFile: /src/curl/tests/libtest/lib582.c
    functionUses: 0
    functionsReached:
    - stat
    - t582_getMicroSecondTimeout
    - multi_add_handle
    - t582_checkForCompletion
    - t582_updateFdSet
    - easy_setopt
    - curlx_fclose
    - abort_on_test_timeout
    - notifyCurl
    - fstat
    - multi_init
    - curl_mfprintf
    - curl_global_cleanup
    - curlx_fopen
    - curlx_sztosi
    - start_test_timing
    - curl_multi_remove_handle
    - t582_checkFdSet
    - curl_easy_cleanup
    - free
    - assert
    - res_global_init
    - curlx_strerror
    - select_test
    - easy_init
    - FD_ZERO
    - multi_setopt
    - curl_multi_cleanup
    - fileno
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib582(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1529.c:33,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1529.c:36,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1529.c:37,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1529.c:41,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1529.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1529.c:44,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1529.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1529.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1529.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1529.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1529.c:52,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1529.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1529.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1529.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib1529
    functionSourceFile: /src/curl/tests/libtest/lib1529.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_msnprintf
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1529(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1957.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1957.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1957.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1957.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1957.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1957.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1957.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1957.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1957.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1957.c:51,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1957.c:52,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1957.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1957.c:58,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1957.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1957.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1957.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1957.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1957.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1957.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1957.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: test_lib1957
    functionSourceFile: /src/curl/tests/libtest/lib1957.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1957(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/libtest/lib1565.c:51,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1565.c:53,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1565.c:55,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1565.c:56,1
    - Dst: pthread_mutex_lock
      Src: /src/curl/tests/libtest/lib1565.c:58,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/tests/libtest/lib1565.c:61,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/tests/libtest/lib1565.c:69,1
    - Dst: res_multi_wakeup
      Src: /src/curl/tests/libtest/lib1565.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1565.c:76,1
    - Dst: pthread_mutex_lock
      Src: /src/curl/tests/libtest/lib1565.c:78,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/tests/libtest/lib1565.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 86
    functionName: t1565_run_thread
    functionSourceFile: /src/curl/tests/libtest/lib1565.c
    functionUses: 0
    functionsReached:
    - curlx_wait_ms
    - pthread_mutex_lock
    - res_multi_wakeup
    - easy_init
    - curl_easy_cleanup
    - pthread_mutex_unlock
    - easy_setopt
    linkageType: ''
    returnType: void
    signature: void *t1565_run_thread(void *ptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1565.c:102,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1565.c:104,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1565.c:106,1
    - Dst: pthread_create
      Src: /src/curl/tests/libtest/lib1565.c:110,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1565.c:114,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1565.c:120,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1565.c:122,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib1565.c:124,1
    - Dst: multi_remove_handle
      Src: /src/curl/tests/libtest/lib1565.c:129,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1565.c:133,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1565.c:140,1
    - Dst: multi_poll
      Src: /src/curl/tests/libtest/lib1565.c:146,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1565.c:148,1
    - Dst: pthread_mutex_lock
      Src: /src/curl/tests/libtest/lib1565.c:150,1
    - Dst: res_multi_add_handle
      Src: /src/curl/tests/libtest/lib1565.c:153,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/tests/libtest/lib1565.c:155,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/tests/libtest/lib1565.c:164,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1565.c:166,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1565.c:170,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1565.c:176,1
    - Dst: pthread_mutex_lock
      Src: /src/curl/tests/libtest/lib1565.c:183,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/tests/libtest/lib1565.c:186,1
    - Dst: pthread_join
      Src: /src/curl/tests/libtest/lib1565.c:189,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1565.c:191,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1565.c:193,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1565.c:195,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1565.c:196,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 199
    functionName: test_lib1565
    functionSourceFile: /src/curl/tests/libtest/lib1565.c
    functionUses: 0
    functionsReached:
    - multi_poll
    - res_multi_add_handle
    - multi_remove_handle
    - pthread_join
    - pthread_mutex_lock
    - multi_init
    - curl_multi_info_read
    - curl_mfprintf
    - pthread_create
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - pthread_mutex_unlock
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1565(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: test_lib1565
    functionSourceFile: /src/curl/tests/libtest/lib1565.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1565(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: t1940_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib1940.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1940_write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_header
      Src: /src/curl/tests/libtest/lib1940.c:55,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1940.c:62,1
    - Dst: curl_easy_header
      Src: /src/curl/tests/libtest/lib1940.c:67,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1940.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - easy
    - header_request
    - type
    argTypes:
    - CURL*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 78
    functionName: t1940_showem
    functionSourceFile: /src/curl/tests/libtest/lib1940.c
    functionUses: 0
    functionsReached:
    - curl_easy_header
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void t1940_showem(CURL *easy, int header_request, unsigned int type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1940.c:93,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1940.c:94,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1940.c:95,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1940.c:96,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1940.c:97,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1940.c:99,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1940.c:103,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1940.c:104,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1940.c:106,1
    - Dst: t1940_showem
      Src: /src/curl/tests/libtest/lib1940.c:110,1
    - Dst: t1940_showem
      Src: /src/curl/tests/libtest/lib1940.c:113,1
    - Dst: t1940_showem
      Src: /src/curl/tests/libtest/lib1940.c:115,1
    - Dst: t1940_showem
      Src: /src/curl/tests/libtest/lib1940.c:116,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1940.c:119,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1940.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 122
    functionName: test_lib1940
    functionSourceFile: /src/curl/tests/libtest/lib1940.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - t1940_showem
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1940(const char *URL)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:51,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib505.c:55,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:57,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib505.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:59,1
    - Dst: stat
      Src: /src/curl/tests/libtest/lib505.c:66,1
    - Dst: fstat
      Src: /src/curl/tests/libtest/lib505.c:68,1
    - Dst: fileno
      Src: /src/curl/tests/libtest/lib505.c:68,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:72,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib505.c:73,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:74,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib505.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:80,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib505.c:81,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib505.c:85,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:86,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib505.c:87,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib505.c:92,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:94,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib505.c:95,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib505.c:96,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib505.c:102,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:104,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib505.c:105,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib505.c:106,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib505.c:107,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib505.c:110,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib505.c:112,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib505.c:113,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib505.c:114,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib505.c:115,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib505.c:116,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib505.c:122,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib505.c:125,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib505.c:128,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib505.c:131,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib505.c:134,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib505.c:137,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib505.c:141,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib505.c:146,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib505.c:149,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib505.c:151,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib505.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 68
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 155
    functionName: test_lib505
    functionSourceFile: /src/curl/tests/libtest/lib505.c
    functionUses: 0
    functionsReached:
    - stat
    - curl_easy_perform
    - curlx_strerror
    - fstat
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fopen
    - curl_slist_free_all
    - curl_slist_append
    - fileno
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib505(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1907.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1907.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1907.c:37,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1907.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1907.c:39,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1907.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1907.c:42,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1907.c:44,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1907.c:47,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1907.c:48,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1907.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1907.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: test_lib1907
    functionSourceFile: /src/curl/tests/libtest/lib1907.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_getinfo
    - curl_mprintf
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1907(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1508.c:35,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1508.c:37,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1508.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1508.c:44,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1508.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: test_lib1508
    functionSourceFile: /src/curl/tests/libtest/lib1508.c
    functionUses: 0
    functionsReached:
    - multi_init
    - curl_global_cleanup
    - curl_multi_cleanup
    - curl_mprintf
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1508(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1554.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: t1554_test_lock
    functionSourceFile: /src/curl/tests/libtest/lib1554.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: "void t1554_test_lock(CURL *handle, curl_lock_data data,\n                            curl_lock_access
      laccess, void *useptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1554.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: t1554_test_unlock
    functionSourceFile: /src/curl/tests/libtest/lib1554.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void t1554_test_unlock(CURL *handle, curl_lock_data data, void *useptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1554.c:65,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/lib1554.c:67,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1554.c:69,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib1554.c:73,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib1554.c:74,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib1554.c:75,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1554.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1554.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1554.c:86,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1554.c:89,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1554.c:92,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1554.c:96,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1554.c:97,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib1554.c:104,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1554.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 108
    functionName: test_lib1554
    functionSourceFile: /src/curl/tests/libtest/lib1554.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_share_init
    - curl_mfprintf
    - curl_share_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_share_cleanup
    - curl_easy_init
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1554(const char *URL)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: res_easy_init
      Src: /src/curl/tests/libtest/lib540.c:46,1
    - Dst: res_easy_setopt
      Src: /src/curl/tests/libtest/lib540.c:50,1
    - Dst: res_easy_setopt
      Src: /src/curl/tests/libtest/lib540.c:54,1
    - Dst: res_easy_setopt
      Src: /src/curl/tests/libtest/lib540.c:58,1
    - Dst: res_easy_setopt
      Src: /src/curl/tests/libtest/lib540.c:62,1
    - Dst: res_easy_setopt
      Src: /src/curl/tests/libtest/lib540.c:66,1
    - Dst: res_easy_setopt
      Src: /src/curl/tests/libtest/lib540.c:70,1
    - Dst: res_easy_setopt
      Src: /src/curl/tests/libtest/lib540.c:74,1
    - Dst: res_multi_add_handle
      Src: /src/curl/tests/libtest/lib540.c:78,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib540.c:86,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 5
    argNames:
    - num
    - cm
    - url
    - userpwd
    - headers
    argTypes:
    - int
    - CURLM*
    - char*
    - char*
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 90
    functionName: init
    functionSourceFile: /src/curl/tests/libtest/lib540.c
    functionUses: 199
    functionsReached:
    - res_easy_init
    - res_easy_setopt
    - curl_easy_cleanup
    - res_multi_add_handle
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init(int num, CURLM *cm, const char *url, const char *userpwd,\n
      \                    struct curl_slist *headers)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/curl/tests/libtest/lib540.c:102,1
    - Dst: res_multi_perform
      Src: /src/curl/tests/libtest/lib540.c:110,1
    - Dst: res_test_timedout
      Src: /src/curl/tests/libtest/lib540.c:114,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib540.c:119,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib540.c:120,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib540.c:121,1
    - Dst: res_multi_fdset
      Src: /src/curl/tests/libtest/lib540.c:123,1
    - Dst: res_multi_timeout
      Src: /src/curl/tests/libtest/lib540.c:129,1
    - Dst: res_select_test
      Src: /src/curl/tests/libtest/lib540.c:150,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib540.c:156,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib540.c:162,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib540.c:163,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib540.c:164,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib540.c:165,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib540.c:166,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib540.c:174,1
    - Dst: res_test_timedout
      Src: /src/curl/tests/libtest/lib540.c:177,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 5
    argNames:
    - num
    - cm
    - url
    - userpwd
    - headers
    argTypes:
    - int
    - CURLM*
    - char*
    - char*
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 183
    functionName: loop
    functionSourceFile: /src/curl/tests/libtest/lib540.c
    functionUses: 0
    functionsReached:
    - init
    - res_test_timedout
    - curl_multi_info_read
    - curl_easy_strerror
    - curl_mfprintf
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - FD_ZERO
    - res_multi_timeout
    - res_multi_perform
    - CURL_ARRAYSIZE
    - res_multi_fdset
    - res_select_test
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode loop(int num, CURLM *cm, const char *url, const char *userpwd,\n
      \                    struct curl_slist *headers)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib540.c:196,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib540.c:199,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib540.c:205,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib540.c:208,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib540.c:210,1
    - Dst: res_global_init
      Src: /src/curl/tests/libtest/lib540.c:214,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib540.c:216,1
    - Dst: res_multi_init
      Src: /src/curl/tests/libtest/lib540.c:220,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib540.c:222,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib540.c:223,1
    - Dst: loop
      Src: /src/curl/tests/libtest/lib540.c:227,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib540.c:231,1
    - Dst: loop
      Src: /src/curl/tests/libtest/lib540.c:233,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib540.c:239,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib540.c:240,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib540.c:241,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib540.c:244,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib540.c:245,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib540.c:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 250
    functionName: test_lib540
    functionSourceFile: /src/curl/tests/libtest/lib540.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - curl_multi_remove_handle
    - curl_mfprintf
    - res_multi_init
    - curl_easy_cleanup
    - loop
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_multi_cleanup
    - curl_slist_append
    - CURL_ARRAYSIZE
    - start_test_timing
    - res_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib540(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1511.c:34,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1511.c:36,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1511.c:38,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1511.c:39,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1511.c:40,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1511.c:43,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1511.c:45,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1511.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1511.c:56,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1511.c:58,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1511.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1511.c:73,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1511.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: test_lib1511
    functionSourceFile: /src/curl/tests/libtest/lib1511.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_getinfo
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1511(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3025.c:34,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3025.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib3025.c:39,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3025.c:41,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3025.c:42,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib3025.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3025.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3025.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3025.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib3025.c:50,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib3025.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib3025.c:56,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib3025.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3025.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: test_lib3025
    functionSourceFile: /src/curl/tests/libtest/lib3025.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3025(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1559.c:38,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1559.c:39,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib1559.c:41,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1559.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1559.c:50,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1559.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1559.c:54,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1559.c:55,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1559.c:58,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1559.c:60,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1559.c:61,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1559.c:62,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1559.c:63,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1559.c:64,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1559.c:65,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1559.c:66,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1559.c:67,1
    - Dst: curl_url_strerror
      Src: /src/curl/tests/libtest/lib1559.c:68,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1559.c:69,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib1559.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1559.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1559.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 78
    functionName: test_lib1559
    functionSourceFile: /src/curl/tests/libtest/lib1559.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_url_strerror
    - malloc
    - easy_init
    - curl_easy_cleanup
    - curl_url
    - curl_global_cleanup
    - free
    - curl_mprintf
    - memset
    - curl_url_cleanup
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1559(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - opaque
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: write_h2_upg_extreme_cb
    functionSourceFile: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t write_h2_upg_extreme_cb(char *ptr, size_t size, size_t nmemb,\n
      \                                     void *opaque)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:49,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:53,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:55,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:62,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:67,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:70,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:71,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:76,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:82,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:84,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:86,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:87,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:88,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:94,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:96,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:97,1
    - Dst: curl_multi_poll
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:102,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:104,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:105,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:112,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:116,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:117,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:124,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:129,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:134,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:135,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:136,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:141,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:146,1
    - Dst: curl_multi_get_handles
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:152,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:156,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:157,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:159,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c:161,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 165
    functionName: test_cli_h2_upgrade_extreme
    functionSourceFile: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - curl_msnprintf
    - curl_multi_info_read
    - curl_mfprintf
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_multi_get_handles
    - curl_multi_strerror
    - curl_multi_cleanup
    - curl_free
    - curl_multi_add_handle
    - curl_multi_poll
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_h2_upgrade_extreme(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1549.c:34,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1549.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1549.c:39,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1549.c:41,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1549.c:42,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1549.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1549.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1549.c:48,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1549.c:50,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1549.c:56,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1549.c:61,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1549.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1549.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1549.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1549.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 76
    functionName: test_lib1549
    functionSourceFile: /src/curl/tests/libtest/lib1549.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_global_init
    - curl_easy_getinfo
    - test_setopt
    - curl_mprintf
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1549(const char *URL)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib541.c:42,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib541.c:46,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib541.c:48,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib541.c:49,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib541.c:50,1
    - Dst: stat
      Src: /src/curl/tests/libtest/lib541.c:57,1
    - Dst: fstat
      Src: /src/curl/tests/libtest/lib541.c:59,1
    - Dst: fileno
      Src: /src/curl/tests/libtest/lib541.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib541.c:63,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/libtest/lib541.c:64,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib541.c:65,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib541.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib541.c:71,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib541.c:72,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib541.c:76,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib541.c:77,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib541.c:78,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib541.c:83,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib541.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib541.c:86,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib541.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib541.c:92,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib541.c:95,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib541.c:98,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib541.c:101,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib541.c:104,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib541.c:110,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib541.c:115,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib541.c:117,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib541.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 121
    functionName: test_lib541
    functionSourceFile: /src/curl/tests/libtest/lib541.c
    functionUses: 0
    functionsReached:
    - stat
    - curl_easy_perform
    - curlx_strerror
    - fstat
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fopen
    - fileno
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib541(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib533.c:38,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib533.c:40,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib533.c:42,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib533.c:44,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib533.c:45,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib533.c:46,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib533.c:48,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib533.c:50,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib533.c:52,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib533.c:62,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib533.c:64,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib533.c:68,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib533.c:70,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib533.c:74,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib533.c:75,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib533.c:76,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib533.c:77,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib533.c:80,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib533.c:86,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib533.c:87,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib533.c:88,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib533.c:90,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib533.c:94,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib533.c:96,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib533.c:103,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib533.c:104,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib533.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 108
    functionName: test_lib533
    functionSourceFile: /src/curl/tests/libtest/lib533.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - curl_multi_remove_handle
    - curl_mfprintf
    - curl_easy_reset
    - select_test
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib533(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib503.c:43,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib503.c:45,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib503.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib503.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib503.c:50,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib503.c:51,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib503.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib503.c:53,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib503.c:54,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib503.c:55,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib503.c:56,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib503.c:58,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib503.c:60,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib503.c:70,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib503.c:72,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib503.c:77,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib503.c:78,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib503.c:79,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib503.c:81,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib503.c:85,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib503.c:87,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib503.c:94,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib503.c:95,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib503.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib503.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 100
    functionName: test_lib503
    functionSourceFile: /src/curl/tests/libtest/lib503.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - select_test
    - curl_multi_remove_handle
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curl_multi_cleanup
    - curl_easy_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib503(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib659.c:38,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib659.c:39,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib659.c:41,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib659.c:44,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib659.c:49,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib659.c:50,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib659.c:51,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib659.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib659.c:56,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib659.c:57,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib659.c:58,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib659.c:60,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib659.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib659.c:65,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib659.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib659.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib659.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 76
    functionName: test_lib659
    functionSourceFile: /src/curl/tests/libtest/lib659.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - easy_init
    - curl_easy_cleanup
    - curl_url
    - curl_global_cleanup
    - easy_setopt
    - curl_url_cleanup
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib659(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nitems
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t1971_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1971.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1971_read_cb(char *ptr, size_t size, size_t nitems, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1971.c:44,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1971.c:45,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1971.c:49,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1971.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1971.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1971.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1971.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1971.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1971.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1971.c:60,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1971.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1971.c:62,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1971.c:63,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1971.c:66,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1971.c:68,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1971.c:70,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1971.c:72,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1971.c:76,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1971.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1971.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1971.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 82
    functionName: test_lib1971
    functionSourceFile: /src/curl/tests/libtest/lib1971.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1971(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1520.c:58,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1520.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 66
    functionName: t1520_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1520.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t1520_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1520.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1520.c:76,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1520.c:80,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1520.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1520.c:83,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1520.c:87,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1520.c:90,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1520.c:92,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1520.c:93,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1520.c:94,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1520.c:95,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1520.c:96,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1520.c:97,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1520.c:98,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1520.c:100,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1520.c:104,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1520.c:105,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1520.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 109
    functionName: test_lib1520
    functionSourceFile: /src/curl/tests/libtest/lib1520.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1520(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:33,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:37,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - hnd
    - url
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: setup_h2_serverpush
    functionSourceFile: /src/curl/tests/libtest/cli_h2_serverpush.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - curlx_fopen
    linkageType: ''
    returnType: int
    signature: int setup_h2_serverpush(CURL *hnd, const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:72,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:84,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:86,1
    - Dst: curl_pushheader_bynum
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:90,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:91,1
    - Dst: curl_pushheader_byname
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:94,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 5
    argNames:
    - parent
    - easy
    - num_headers
    - headers
    - userp
    argTypes:
    - CURL*
    - CURL*
    - size_t
    - struct curl_pushheaders*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 105
    functionName: server_push_callback
    functionSourceFile: /src/curl/tests/libtest/cli_h2_serverpush.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - curl_mfprintf
    - curl_pushheader_byname
    - curlx_fopen
    - curl_easy_setopt
    - curl_pushheader_bynum
    linkageType: ''
    returnType: int
    signature: "int server_push_callback(CURL *parent,\n                                CURL
      *easy,\n                                size_t num_headers,\n                                struct
      curl_pushheaders *headers,\n                                void *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:121,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:125,1
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:126,1
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:127,1
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:128,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:130,1
    - Dst: setup_h2_serverpush
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:131,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:132,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:133,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:137,1
    - Dst: curl_multi_perform
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:140,1
    - Dst: curl_multi_poll
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:144,1
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:156,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:160,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:161,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:167,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:169,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/cli_h2_serverpush.c:171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 174
    functionName: test_cli_h2_serverpush
    functionSourceFile: /src/curl/tests/libtest/cli_h2_serverpush.c
    functionUses: 0
    functionsReached:
    - setup_h2_serverpush
    - curl_multi_perform
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_mfprintf
    - curl_multi_setopt
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_multi_add_handle
    - curl_multi_poll
    - curl_easy_init
    - curl_multi_init
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_h2_serverpush(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_nextheader
      Src: /src/curl/tests/libtest/lib1945.c:34,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1945.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - easy
    - type
    argTypes:
    - CURL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: t1945_showem
    functionSourceFile: /src/curl/tests/libtest/lib1945.c
    functionUses: 0
    functionsReached:
    - curl_easy_nextheader
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void t1945_showem(CURL *easy, unsigned int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: t1945_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib1945.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1945_write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1945.c:54,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1945.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1945.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1945.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1945.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1945.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1945.c:65,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1945.c:66,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1945.c:68,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1945.c:70,1
    - Dst: t1945_showem
      Src: /src/curl/tests/libtest/lib1945.c:72,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1945.c:75,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1945.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: test_lib1945
    functionSourceFile: /src/curl/tests/libtest/lib1945.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - t1945_showem
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mprintf
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1945(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib524.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib524.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib524.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib524.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib524.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib524.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib524.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib524.c:47,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib524.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib524.c:53,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib524.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 57
    functionName: test_lib524
    functionSourceFile: /src/curl/tests/libtest/lib524.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib524(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib519.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib519.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib519.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib519.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib519.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib519.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib519.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib519.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib519.c:48,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib519.c:51,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib519.c:55,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib519.c:58,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib519.c:62,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib519.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 66
    functionName: test_lib519
    functionSourceFile: /src/curl/tests/libtest/lib519.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib519(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:65,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - handle
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: t586_test_lock
    functionSourceFile: /src/curl/tests/libtest/lib586.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: "void t586_test_lock(CURL *handle, curl_lock_data data,\n                           curl_lock_access
      laccess, void *useptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:92,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - handle
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: t586_test_unlock
    functionSourceFile: /src/curl/tests/libtest/lib586.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void t586_test_unlock(CURL *handle, curl_lock_data data, void *useptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib586.c:106,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:108,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib586.c:112,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib586.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib586.c:114,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib586.c:116,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:118,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib586.c:119,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:122,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:126,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib586.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 130
    functionName: t586_test_fire
    functionSourceFile: /src/curl/tests/libtest/lib586.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_mprintf
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void *t586_test_fire(void *ptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:146,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib586.c:147,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:148,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:153,1
    - Dst: curl_share_init
      Src: /src/curl/tests/libtest/lib586.c:154,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:156,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib586.c:157,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:162,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib586.c:163,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:166,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib586.c:167,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:170,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib586.c:171,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:174,1
    - Dst: curl_share_setopt
      Src: /src/curl/tests/libtest/lib586.c:175,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:180,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib586.c:181,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib586.c:182,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:195,1
    - Dst: t586_test_fire
      Src: /src/curl/tests/libtest/lib586.c:196,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:201,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib586.c:202,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:204,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib586.c:205,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib586.c:206,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib586.c:210,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:211,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib586.c:212,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:214,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib586.c:215,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:218,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib586.c:219,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:221,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:225,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:231,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib586.c:232,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:235,1
    - Dst: curl_share_cleanup
      Src: /src/curl/tests/libtest/lib586.c:236,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib586.c:238,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib586.c:241,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib586.c:242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 75
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 245
    functionName: test_lib586
    functionSourceFile: /src/curl/tests/libtest/lib586.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_share_init
    - curl_mfprintf
    - t586_test_fire
    - curl_share_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_mprintf
    - test_setopt
    - curl_easy_init
    - curl_share_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib586(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3026.c:33,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3026.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: t3026_run_thread
    functionSourceFile: /src/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: DWORD
    signature: DWORD t3026_run_thread(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/curl/tests/libtest/lib3026.c:49,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3026.c:51,1
    - Dst: CreateThread
      Src: /src/curl/tests/libtest/lib3026.c:60,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3026.c:62,1
    - Dst: GetLastError
      Src: /src/curl/tests/libtest/lib3026.c:64,1
    - Dst: WaitForSingleObject
      Src: /src/curl/tests/libtest/lib3026.c:74,1
    - Dst: CloseHandle
      Src: /src/curl/tests/libtest/lib3026.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3026.c:77,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib3026.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 85
    functionName: test_lib3026
    functionSourceFile: /src/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - CreateThread
    - curl_easy_strerror
    - curl_mfprintf
    - curl_version_info
    - WaitForSingleObject
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3026(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib3026.c:94,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib3026.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: t3026_run_thread
    functionSourceFile: /src/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: void
    signature: void *t3026_run_thread(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/curl/tests/libtest/lib3026.c:110,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3026.c:112,1
    - Dst: pthread_create
      Src: /src/curl/tests/libtest/lib3026.c:121,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3026.c:123,1
    - Dst: pthread_join
      Src: /src/curl/tests/libtest/lib3026.c:133,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3026.c:135,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib3026.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 143
    functionName: test_lib3026
    functionSourceFile: /src/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - curl_mfprintf
    - pthread_create
    - curl_version_info
    - pthread_join
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3026(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/curl/tests/libtest/lib3026.c:151,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib3026.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: test_lib3026
    functionSourceFile: /src/curl/tests/libtest/lib3026.c
    functionUses: 0
    functionsReached:
    - curl_version_info
    - curl_mfprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib3026(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: t643_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib643.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t643_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib643.c:74,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib643.c:77,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib643.c:79,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib643.c:80,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib643.c:84,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib643.c:86,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib643.c:87,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib643.c:88,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib643.c:92,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib643.c:94,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib643.c:95,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib643.c:96,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib643.c:97,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib643.c:103,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib643.c:105,1
    - Dst: curl_mime_filename
      Src: /src/curl/tests/libtest/lib643.c:108,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib643.c:112,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib643.c:114,1
    - Dst: curl_mime_filename
      Src: /src/curl/tests/libtest/lib643.c:117,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib643.c:121,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib643.c:121,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib643.c:128,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib643.c:131,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib643.c:133,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib643.c:134,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib643.c:135,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib643.c:136,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib643.c:140,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib643.c:142,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib643.c:146,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib643.c:146,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib643.c:148,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib643.c:150,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib643.c:151,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib643.c:152,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib643.c:153,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib643.c:158,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib643.c:160,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib643.c:164,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib643.c:164,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib643.c:167,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib643.c:169,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib643.c:170,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib643.c:171,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib643.c:172,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib643.c:175,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib643.c:177,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib643.c:181,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib643.c:181,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib643.c:183,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib643.c:185,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib643.c:186,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib643.c:187,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib643.c:188,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib643.c:191,1
    - Dst: curl_mime_filename
      Src: /src/curl/tests/libtest/lib643.c:193,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib643.c:195,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib643.c:198,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib643.c:198,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib643.c:201,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib643.c:204,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib643.c:207,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib643.c:210,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib643.c:213,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib643.c:218,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib643.c:221,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 109
    argCount: 2
    argNames:
    - URL
    - oldstyle
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 224
    functionName: t643_test_once
    functionSourceFile: /src/curl/tests/libtest/lib643.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - strlen
    - curl_mime_addpart
    - curl_easy_strerror
    - curl_mime_data_cb
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - test_setopt
    - curl_mime_name
    - curl_mime_data
    - curl_mprintf
    - curl_mime_filename
    - curl_mime_free
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t643_test_once(const char *URL, bool oldstyle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib643.c:228,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib643.c:229,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib643.c:230,1
    - Dst: curl_mime_subparts
      Src: /src/curl/tests/libtest/lib643.c:231,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib643.c:234,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib643.c:235,1
    - Dst: curl_mime_subparts
      Src: /src/curl/tests/libtest/lib643.c:237,1
    - Dst: curl_mime_subparts
      Src: /src/curl/tests/libtest/lib643.c:238,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib643.c:241,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib643.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 248
    functionName: t643_cyclic_add
    functionSourceFile: /src/curl/tests/libtest/lib643.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_mime_addpart
    - curl_easy_cleanup
    - curl_mime_subparts
    - curl_mime_free
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t643_cyclic_add(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib643.c:254,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib643.c:255,1
    - Dst: t643_test_once
      Src: /src/curl/tests/libtest/lib643.c:259,1
    - Dst: t643_test_once
      Src: /src/curl/tests/libtest/lib643.c:261,1
    - Dst: t643_cyclic_add
      Src: /src/curl/tests/libtest/lib643.c:264,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib643.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: test_lib643
    functionSourceFile: /src/curl/tests/libtest/lib643.c
    functionUses: 0
    functionsReached:
    - t643_test_once
    - curl_mfprintf
    - curl_global_cleanup
    - curl_global_init
    - t643_cyclic_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib643(const char *URL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib694.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib694.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib694.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib694.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib694.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib694.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib694.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib694.c:49,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib694.c:50,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib694.c:52,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib694.c:56,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib694.c:60,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib694.c:64,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib694.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib694.c:73,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib694.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: test_lib694
    functionSourceFile: /src/curl/tests/libtest/lib694.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_getinfo
    - test_setopt
    - curl_mprintf
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib694(const char *URL)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib666.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib666.c:48,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib666.c:52,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib666.c:54,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib666.c:60,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib666.c:62,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib666.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib666.c:68,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib666.c:72,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib666.c:74,1
    - Dst: curl_mime_filename
      Src: /src/curl/tests/libtest/lib666.c:77,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib666.c:79,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib666.c:82,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib666.c:84,1
    - Dst: curl_mime_encoder
      Src: /src/curl/tests/libtest/lib666.c:87,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib666.c:89,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib666.c:94,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib666.c:97,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib666.c:100,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib666.c:103,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib666.c:106,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib666.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib666.c:114,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib666.c:117,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib666.c:119,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 122
    functionName: test_lib666
    functionSourceFile: /src/curl/tests/libtest/lib666.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mime_encoder
    - test_setopt
    - curl_mime_name
    - curl_mime_data
    - curl_global_init
    - curl_mime_filename
    - curl_mime_free
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib666(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: write_757
    functionSourceFile: /src/curl/tests/libtest/lib757.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_757(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib757.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - arg
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: read_757
    functionSourceFile: /src/curl/tests/libtest/lib757.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_757(char *buffer, size_t size, size_t nitems, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - offset
    - origin
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: seek_757
    functionSourceFile: /src/curl/tests/libtest/lib757.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int seek_757(void *arg, curl_off_t offset, int origin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib757.c:69,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib757.c:70,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib757.c:74,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib757.c:77,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib757.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib757.c:83,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib757.c:86,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib757.c:87,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib757.c:88,1
    - Dst: curl_mime_type
      Src: /src/curl/tests/libtest/lib757.c:89,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib757.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib757.c:93,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib757.c:96,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib757.c:100,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib757.c:101,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib757.c:104,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib757.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib757.c:108,1
    - Dst: curl_mime_subparts
      Src: /src/curl/tests/libtest/lib757.c:111,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib757.c:114,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib757.c:115,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib757.c:120,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib757.c:124,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib757.c:125,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib757.c:130,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib757.c:131,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib757.c:132,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib757.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 135
    functionName: test_lib757
    functionSourceFile: /src/curl/tests/libtest/lib757.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_easy_strerror
    - curl_mime_data_cb
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mime_name
    - curl_global_init
    - curl_mime_subparts
    - test_setopt
    - curl_mime_free
    - curl_easy_init
    - curl_easy_setopt
    - curl_mime_type
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib757(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib676.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib676.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib676.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib676.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib676.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib676.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib676.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib676.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib676.c:48,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib676.c:49,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib676.c:51,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib676.c:53,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib676.c:58,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib676.c:60,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib676.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib676.c:66,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib676.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 70
    functionName: test_lib676
    functionSourceFile: /src/curl/tests/libtest/lib676.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib676(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib1948.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: put_callback
    functionSourceFile: /src/curl/tests/libtest/lib1948.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t put_callback(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1948.c:50,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1948.c:52,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1948.c:55,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1948.c:56,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1948.c:57,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1948.c:59,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1948.c:60,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1948.c:61,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1948.c:61,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1948.c:62,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1948.c:63,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1948.c:68,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1948.c:69,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1948.c:70,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1948.c:70,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1948.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1948.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1948.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 77
    functionName: test_lib1948
    functionSourceFile: /src/curl/tests/libtest/lib1948.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - strlen
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1948(const char *URL)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1536.c:36,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1536.c:38,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1536.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:45,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1536.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:51,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1536.c:58,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1536.c:60,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:62,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1536.c:64,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1536.c:71,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:73,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1536.c:75,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib1536.c:78,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:79,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib1536.c:90,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:92,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1536.c:98,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:100,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1536.c:102,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:106,1
    - Dst: curl_easy_reset
      Src: /src/curl/tests/libtest/lib1536.c:115,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1536.c:117,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:119,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib1536.c:121,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1536.c:125,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1536.c:132,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1536.c:133,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1536.c:134,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 136
    functionName: test_lib1536
    functionSourceFile: /src/curl/tests/libtest/lib1536.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_reset
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_getinfo
    - memcmp
    - curl_easy_duphandle
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1536(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib511.c:33,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib511.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib511.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib511.c:40,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib511.c:41,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib511.c:45,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib511.c:46,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib511.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib511.c:48,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib511.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib511.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib511.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: test_lib511
    functionSourceFile: /src/curl/tests/libtest/lib511.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib511(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib653.c:35,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib653.c:36,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib653.c:38,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib653.c:39,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib653.c:40,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib653.c:41,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib653.c:43,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib653.c:44,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib653.c:45,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib653.c:46,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib653.c:47,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib653.c:49,1
    - Dst: curl_mime_data
      Src: /src/curl/tests/libtest/lib653.c:54,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib653.c:55,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib653.c:58,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib653.c:59,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib653.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: test_lib653
    functionSourceFile: /src/curl/tests/libtest/lib653.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_mime_free
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mime_name
    - curl_mime_data
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib653(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: t554_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib554.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t554_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: t587_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib554.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t587_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib554.c:74,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib554.c:78,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib554.c:88,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib554.c:98,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib554.c:104,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib554.c:107,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib554.c:115,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib554.c:118,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib554.c:124,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib554.c:127,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib554.c:135,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib554.c:137,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib554.c:145,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib554.c:147,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib554.c:149,1
    - Dst: curl_formfree
      Src: /src/curl/tests/libtest/lib554.c:150,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib554.c:151,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib554.c:156,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib554.c:159,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib554.c:162,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib554.c:166,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib554.c:169,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib554.c:173,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib554.c:176,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib554.c:179,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib554.c:182,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib554.c:187,1
    - Dst: curl_formfree
      Src: /src/curl/tests/libtest/lib554.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - URL
    - oldstyle
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 193
    functionName: t554_test_once
    functionSourceFile: /src/curl/tests/libtest/lib554.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_formfree
    - curl_mprintf
    - test_setopt
    - curl_easy_init
    - curl_formadd
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t554_test_once(const char *URL, bool oldstyle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib554.c:199,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib554.c:200,1
    - Dst: t554_test_once
      Src: /src/curl/tests/libtest/lib554.c:204,1
    - Dst: t554_test_once
      Src: /src/curl/tests/libtest/lib554.c:206,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib554.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: test_lib554
    functionSourceFile: /src/curl/tests/libtest/lib554.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - t554_test_once
    - curl_global_cleanup
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib554(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_getdate
      Src: /src/curl/tests/libtest/lib517.c:170,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib517.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 181
    functionName: test_lib517
    functionSourceFile: /src/curl/tests/libtest/lib517.c
    functionUses: 0
    functionsReached:
    - curl_getdate
    - curl_mprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib517(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - data
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: writedata
    functionSourceFile: /src/curl/tests/libtest/lib1156.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t writedata(char *data, size_t size, size_t nmemb, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib1156.c:96,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1156.c:97,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1156.c:98,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1156.c:99,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1156.c:100,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1156.c:102,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1156.c:104,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1156.c:106,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1156.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - curl
    - url
    - p
    - num
    argTypes:
    - CURL*
    - char*
    - struct testparams*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: onetest
    functionSourceFile: /src/curl/tests/libtest/lib1156.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mprintf
    - curl_msnprintf
    - test_setopt
    linkageType: ''
    returnType: int
    signature: "int onetest(CURL *curl, const char *url, const struct testparams *p,\n
      \                  size_t num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1156.c:141,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1156.c:142,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/libtest/lib1156.c:146,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1156.c:147,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1156.c:149,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1156.c:150,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1156.c:154,1
    - Dst: onetest
      Src: /src/curl/tests/libtest/lib1156.c:159,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1156.c:160,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1156.c:163,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1156.c:164,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1156.c:169,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1156.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: test_lib1156
    functionSourceFile: /src/curl/tests/libtest/lib1156.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - onetest
    - curl_global_init
    - CURL_ARRAYSIZE
    - test_setopt
    - curl_mprintf
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1156(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib1901.c:42,1
    - Dst: strcpy
      Src: /src/curl/tests/libtest/lib1901.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: t1901_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1901.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t1901_read_cb(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1901.c:56,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1901.c:58,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1901.c:62,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1901.c:63,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1901.c:64,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1901.c:65,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1901.c:66,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1901.c:67,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1901.c:68,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1901.c:69,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1901.c:71,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1901.c:74,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1901.c:78,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1901.c:81,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1901.c:84,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1901.c:85,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1901.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 89
    functionName: test_lib1901
    functionSourceFile: /src/curl/tests/libtest/lib1901.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_global_init
    - easy_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1901(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: print_err
    functionSourceFile: /src/curl/tests/libtest/lib1912.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_err(name, exp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_option_next
      Src: /src/curl/tests/libtest/lib1912.c:38,1
    - Dst: curl_easy_option_next
      Src: /src/curl/tests/libtest/lib1912.c:40,1
    - Dst: curlcheck_long_option
      Src: /src/curl/tests/libtest/lib1912.c:42,1
    - Dst: print_err
      Src: /src/curl/tests/libtest/lib1912.c:44,1
    - Dst: curlcheck_off_t_option
      Src: /src/curl/tests/libtest/lib1912.c:47,1
    - Dst: print_err
      Src: /src/curl/tests/libtest/lib1912.c:48,1
    - Dst: curlcheck_string_option
      Src: /src/curl/tests/libtest/lib1912.c:51,1
    - Dst: print_err
      Src: /src/curl/tests/libtest/lib1912.c:52,1
    - Dst: curlcheck_slist_option
      Src: /src/curl/tests/libtest/lib1912.c:55,1
    - Dst: print_err
      Src: /src/curl/tests/libtest/lib1912.c:56,1
    - Dst: curlcheck_cb_data_option
      Src: /src/curl/tests/libtest/lib1912.c:59,1
    - Dst: print_err
      Src: /src/curl/tests/libtest/lib1912.c:60,1
    - Dst: curlcheck_write_cb_option
      Src: /src/curl/tests/libtest/lib1912.c:64,1
    - Dst: print_err
      Src: /src/curl/tests/libtest/lib1912.c:65,1
    - Dst: curlcheck_conv_cb_option
      Src: /src/curl/tests/libtest/lib1912.c:68,1
    - Dst: print_err
      Src: /src/curl/tests/libtest/lib1912.c:69,1
    - Dst: curlcheck_postfields_option
      Src: /src/curl/tests/libtest/lib1912.c:72,1
    - Dst: print_err
      Src: /src/curl/tests/libtest/lib1912.c:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 81
    functionName: test_lib1912
    functionSourceFile: /src/curl/tests/libtest/lib1912.c
    functionUses: 0
    functionsReached:
    - curlcheck_slist_option
    - curlcheck_conv_cb_option
    - curl_easy_option_next
    - curlcheck_string_option
    - curlcheck_long_option
    - curlcheck_off_t_option
    - curlcheck_postfields_option
    - curlcheck_write_cb_option
    - curlcheck_cb_data_option
    - print_err
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1912(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib510.c:51,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib510.c:53,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib510.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: t510_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib510.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t t510_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib510.c:71,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib510.c:72,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib510.c:76,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib510.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib510.c:79,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib510.c:83,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib510.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib510.c:86,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib510.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib510.c:92,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib510.c:95,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib510.c:98,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib510.c:101,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib510.c:104,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib510.c:107,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib510.c:110,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib510.c:113,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib510.c:114,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib510.c:118,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib510.c:124,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib510.c:127,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib510.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 131
    functionName: test_lib510
    functionSourceFile: /src/curl/tests/libtest/lib510.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib510(const char *URL)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib569.c:41,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib569.c:43,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib569.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib569.c:48,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib569.c:49,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib569.c:53,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib569.c:55,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib569.c:56,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib569.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:62,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:63,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:65,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:67,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib569.c:68,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib569.c:70,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib569.c:78,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:83,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib569.c:84,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:87,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:88,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib569.c:90,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib569.c:94,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib569.c:95,1
    - Dst: tutil_suburl
      Src: /src/curl/tests/libtest/lib569.c:98,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:103,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib569.c:104,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:107,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib569.c:108,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib569.c:113,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib569.c:119,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/lib569.c:121,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib569.c:122,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib569.c:123,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 126
    functionName: test_lib569
    functionSourceFile: /src/curl/tests/libtest/lib569.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - tutil_suburl
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fopen
    - curl_free
    - curl_global_init
    - curl_easy_getinfo
    - test_setopt
    - curl_easy_init
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib569(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1592.c:50,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib1592.c:52,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1592.c:54,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1592.c:56,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1592.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1592.c:60,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1592.c:79,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1592.c:89,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib1592.c:91,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1592.c:94,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib1592.c:95,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1592.c:96,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1592.c:99,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1592.c:100,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib1592.c:101,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1592.c:103,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1592.c:108,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib1592.c:113,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1592.c:116,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1592.c:117,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1592.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 121
    functionName: test_lib1592
    functionSourceFile: /src/curl/tests/libtest/lib1592.c
    functionUses: 0
    functionsReached:
    - multi_init
    - curl_multi_remove_handle
    - curl_mfprintf
    - easy_init
    - multi_add_handle
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - global_init
    - curl_easy_setopt
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1592(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib579.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib579.c:39,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib579.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib579.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: progress_final_report
    functionSourceFile: /src/curl/tests/libtest/lib579.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_fopen
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void progress_final_report(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: progress_final_report
      Src: /src/curl/tests/libtest/lib579.c:56,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib579.c:62,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib579.c:63,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib579.c:66,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib579.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionName: t579_progress_callback
    functionSourceFile: /src/curl/tests/libtest/lib579.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_fclose
    - curlx_fopen
    - progress_final_report
    linkageType: ''
    returnType: int
    signature: "int t579_progress_callback(void *clientp, double dltotal, double dlnow,\n
      \                                 double ultotal, double ulnow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib579.c:95,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib579.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 101
    functionName: t579_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib579.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t579_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib579.c:111,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib579.c:112,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib579.c:116,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib579.c:118,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib579.c:119,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib579.c:123,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib579.c:125,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib579.c:126,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib579.c:127,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:132,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:135,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:138,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:141,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:144,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:147,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:150,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:152,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:153,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:156,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib579.c:157,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib579.c:160,1
    - Dst: progress_final_report
      Src: /src/curl/tests/libtest/lib579.c:162,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib579.c:168,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib579.c:171,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib579.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 175
    functionName: test_lib579
    functionSourceFile: /src/curl/tests/libtest/lib579.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    - progress_final_report
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib579(const char *URL)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib566.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib566.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib566.c:40,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib566.c:42,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib566.c:43,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib566.c:47,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib566.c:48,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib566.c:50,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib566.c:54,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/libtest/lib566.c:57,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib566.c:59,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/libtest/lib566.c:60,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib566.c:66,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib566.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 70
    functionName: test_lib566
    functionSourceFile: /src/curl/tests/libtest/lib566.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curlx_fopen
    - curl_global_init
    - curl_easy_getinfo
    - test_setopt
    - curl_easy_init
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib566(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/curl/tests/libtest/lib557.c:143,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib557.c:145,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib557.c:147,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:148,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:157,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 162
    functionName: test_unsigned_short_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - curl_mprintf
    - curl_msprintf
    linkageType: ''
    returnType: int
    signature: int test_unsigned_short_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/curl/tests/libtest/lib557.c:218,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib557.c:220,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib557.c:222,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:223,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:231,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 236
    functionName: test_signed_short_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - curl_mprintf
    - curl_msprintf
    linkageType: ''
    returnType: int
    signature: int test_signed_short_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/curl/tests/libtest/lib557.c:368,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib557.c:370,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib557.c:372,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:373,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:381,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 279
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 386
    functionName: test_unsigned_int_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - curl_mprintf
    - curl_msprintf
    linkageType: ''
    returnType: int
    signature: int test_unsigned_int_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/curl/tests/libtest/lib557.c:596,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib557.c:598,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib557.c:600,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:601,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:609,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 477
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 614
    functionName: test_signed_int_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - curl_mprintf
    - curl_msprintf
    linkageType: ''
    returnType: int
    signature: int test_signed_int_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/curl/tests/libtest/lib557.c:745,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib557.c:747,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib557.c:749,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:750,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:758,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 279
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 763
    functionName: test_unsigned_long_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - curl_mprintf
    - curl_msprintf
    linkageType: ''
    returnType: int
    signature: int test_unsigned_long_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/curl/tests/libtest/lib557.c:973,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib557.c:975,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib557.c:977,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:978,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:986,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 477
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 991
    functionName: test_signed_long_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - curl_mprintf
    - curl_msprintf
    linkageType: ''
    returnType: int
    signature: int test_signed_long_formatting(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msprintf
      Src: /src/curl/tests/libtest/lib557.c:1087,1
    - Dst: memcmp
      Src: /src/curl/tests/libtest/lib557.c:1090,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib557.c:1092,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1093,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1101,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 223
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1106
    functionName: test_curl_off_t_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - curl_mprintf
    - curl_msprintf
    linkageType: ''
    returnType: int
    signature: int test_curl_off_t_formatting(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib557.c:1110,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - linenumber
    - buf
    - buf2
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1117
    functionName: string_check_low
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - strcmp
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: int string_check_low(int linenumber, char *buf, const char *buf2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1119
    functionName: string_check
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: string_check(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib557.c:1122,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - linenumber
    - buf
    - len
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1130
    functionName: strlen_check_low
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: int strlen_check_low(int linenumber, char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1132
    functionName: strlen_check
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strlen_check(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1141,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1142,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1144,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1145,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1147,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1148,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1150,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1151,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1153,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1154,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1156,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1157,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1159,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1160,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1163,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1168
    functionName: test_string_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - string_check
    - curl_mprintf
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: int test_string_formatting(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1175,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1176,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1178,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1179,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1183,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1187
    functionName: test_pos_arguments
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - string_check
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: int test_pos_arguments(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1199,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1202,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1204,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1207,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1209,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1212,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1214,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1217,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1225
    functionName: test_width_precision
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - string_check
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: int test_width_precision(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1235,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1236,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1239,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1243,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1246,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1247,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1249,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1250,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1253,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1283,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1287,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1305,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1335,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1339,1
    - Dst: test_width_precision
      Src: /src/curl/tests/libtest/lib557.c:1341,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1347
    functionName: test_weird_arguments
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - string_check
    - test_width_precision
    - curl_mprintf
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: int test_weird_arguments(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1356,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1357,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1359,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1360,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1362,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1363,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1365,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1366,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1368,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1369,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1371,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1372,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1374,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1375,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1377,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1378,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1380,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1381,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1383,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1384,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1386,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1387,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1389,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1390,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1392,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1393,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1395,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1396,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1398,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1399,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1401,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1402,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1403,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1404,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1405,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1406,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1407,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1408,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1409,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1410,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1411,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1412,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1413,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1414,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1419,1
    - Dst: strlen_check
      Src: /src/curl/tests/libtest/lib557.c:1420,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1422,1
    - Dst: strlen_check
      Src: /src/curl/tests/libtest/lib557.c:1423,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1425,1
    - Dst: strlen_check
      Src: /src/curl/tests/libtest/lib557.c:1427,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1431,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1432,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1436,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1437,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1438,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1439,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1441,1
    - Dst: strlen_check
      Src: /src/curl/tests/libtest/lib557.c:1442,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1444,1
    - Dst: strlen_check
      Src: /src/curl/tests/libtest/lib557.c:1445,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1446,1
    - Dst: strlen_check
      Src: /src/curl/tests/libtest/lib557.c:1447,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1448,1
    - Dst: strlen_check
      Src: /src/curl/tests/libtest/lib557.c:1449,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1450,1
    - Dst: strlen_check
      Src: /src/curl/tests/libtest/lib557.c:1451,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1452,1
    - Dst: strlen_check
      Src: /src/curl/tests/libtest/lib557.c:1453,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1456,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1461
    functionName: test_float_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - string_check
    - curl_mprintf
    - curl_msnprintf
    - strlen_check
    linkageType: ''
    returnType: int
    signature: int test_float_formatting(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1468,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1469,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1472,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1473,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1475,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1477,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1479,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1481,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1485,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1486,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1488,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1490,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1492,1
    - Dst: string_check
      Src: /src/curl/tests/libtest/lib557.c:1494,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1498,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib557.c:1500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1503
    functionName: test_oct_hex_formatting
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - string_check
    - curl_mprintf
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: int test_oct_hex_formatting(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1511,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1515,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1520,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1525,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib557.c:1530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1535
    functionName: test_return_codes
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: int test_return_codes(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/curl/tests/libtest/lib557.c:1547,1
    - Dst: test_pos_arguments
      Src: /src/curl/tests/libtest/lib557.c:1550,1
    - Dst: test_weird_arguments
      Src: /src/curl/tests/libtest/lib557.c:1551,1
    - Dst: test_unsigned_short_formatting
      Src: /src/curl/tests/libtest/lib557.c:1552,1
    - Dst: test_signed_short_formatting
      Src: /src/curl/tests/libtest/lib557.c:1553,1
    - Dst: test_unsigned_int_formatting
      Src: /src/curl/tests/libtest/lib557.c:1554,1
    - Dst: test_signed_int_formatting
      Src: /src/curl/tests/libtest/lib557.c:1555,1
    - Dst: test_unsigned_long_formatting
      Src: /src/curl/tests/libtest/lib557.c:1556,1
    - Dst: test_signed_long_formatting
      Src: /src/curl/tests/libtest/lib557.c:1557,1
    - Dst: test_curl_off_t_formatting
      Src: /src/curl/tests/libtest/lib557.c:1558,1
    - Dst: test_string_formatting
      Src: /src/curl/tests/libtest/lib557.c:1559,1
    - Dst: test_float_formatting
      Src: /src/curl/tests/libtest/lib557.c:1560,1
    - Dst: test_oct_hex_formatting
      Src: /src/curl/tests/libtest/lib557.c:1561,1
    - Dst: test_return_codes
      Src: /src/curl/tests/libtest/lib557.c:1562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1568
    functionName: test_lib557
    functionSourceFile: /src/curl/tests/libtest/lib557.c
    functionUses: 0
    functionsReached:
    - test_signed_long_formatting
    - test_signed_short_formatting
    - test_unsigned_short_formatting
    - test_pos_arguments
    - test_unsigned_int_formatting
    - test_string_formatting
    - test_signed_int_formatting
    - test_unsigned_long_formatting
    - setlocale
    - test_curl_off_t_formatting
    - test_weird_arguments
    - test_oct_hex_formatting
    - test_float_formatting
    - test_return_codes
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib557(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib1913.c:32,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1913.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1913.c:36,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1913.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1913.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1913.c:42,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1913.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1913.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1913.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: test_lib1913
    functionSourceFile: /src/curl/tests/libtest/lib1913.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    - start_test_timing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1913(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib753.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib753.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: t753_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib753.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: size_t
    signature: size_t t753_write_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib753.c:56,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib753.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: t753_hd_cb
    functionSourceFile: /src/curl/tests/libtest/lib753.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    linkageType: ''
    returnType: size_t
    signature: size_t t753_hd_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/libtest/lib753.c:72,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib753.c:77,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib753.c:79,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib753.c:80,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib753.c:81,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib753.c:82,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib753.c:83,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib753.c:85,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib753.c:86,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib753.c:87,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib753.c:88,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib753.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - URL
    - name
    - peasy
    - st
    argTypes:
    - char*
    - char*
    - CURL**
    - struct t753_transfer_status*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 97
    functionName: t753_setup
    functionSourceFile: /src/curl/tests/libtest/lib753.c
    functionUses: 0
    functionsReached:
    - easy_setopt
    - curl_easy_cleanup
    - easy_init
    - memset
    linkageType: ''
    returnType: bool
    signature: "bool t753_setup(const char *URL, const char *name,\n                       CURL
      **peasy,\n                       struct t753_transfer_status *st)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib753.c:108,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib753.c:113,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib753.c:115,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/lib753.c:116,1
    - Dst: t753_setup
      Src: /src/curl/tests/libtest/lib753.c:122,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib753.c:125,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib753.c:127,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib753.c:128,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib753.c:129,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib753.c:146,1
    - Dst: t753_setup
      Src: /src/curl/tests/libtest/lib753.c:149,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib753.c:152,1
    - Dst: curl_multi_wait
      Src: /src/curl/tests/libtest/lib753.c:156,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib753.c:158,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib753.c:163,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib753.c:165,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib753.c:166,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib753.c:168,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib753.c:174,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/libtest/lib753.c:174,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib753.c:177,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib753.c:179,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib753.c:180,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib753.c:181,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 184
    functionName: test_lib753
    functionSourceFile: /src/curl/tests/libtest/lib753.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - curl_mfprintf
    - curl_easy_cleanup
    - multi_add_handle
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - curl_multi_wait
    - t753_setup
    - curl_global_init
    - start_test_timing
    - curl_multi_init
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib753(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib575.c:42,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib575.c:44,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib575.c:46,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib575.c:48,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib575.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib575.c:50,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib575.c:52,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib575.c:56,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib575.c:60,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib575.c:63,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib575.c:66,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib575.c:68,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib575.c:70,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib575.c:72,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib575.c:84,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib575.c:85,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib575.c:86,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib575.c:88,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib575.c:92,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib575.c:94,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib575.c:96,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib575.c:98,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib575.c:105,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib575.c:106,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib575.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 110
    functionName: test_lib575
    functionSourceFile: /src/curl/tests/libtest/lib575.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - multi_fdset
    - multi_init
    - select_test
    - easy_init
    - curl_easy_cleanup
    - multi_add_handle
    - FD_ZERO
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - curl_easy_duphandle
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib575(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib668.c:36,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib668.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: t668_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib668.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t t668_read_cb(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib668.c:63,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib668.c:64,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib668.c:68,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib668.c:71,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib668.c:74,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib668.c:77,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib668.c:81,1
    - Dst: curl_mime_init
      Src: /src/curl/tests/libtest/lib668.c:85,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib668.c:86,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib668.c:87,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib668.c:89,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib668.c:89,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib668.c:91,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib668.c:92,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/tests/libtest/lib668.c:95,1
    - Dst: curl_mime_addpart
      Src: /src/curl/tests/libtest/lib668.c:97,1
    - Dst: curl_mime_name
      Src: /src/curl/tests/libtest/lib668.c:98,1
    - Dst: curl_mime_filedata
      Src: /src/curl/tests/libtest/lib668.c:101,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib668.c:104,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib668.c:107,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib668.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib668.c:113,1
    - Dst: curl_mime_free
      Src: /src/curl/tests/libtest/lib668.c:114,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib668.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 117
    functionName: test_lib668
    functionSourceFile: /src/curl/tests/libtest/lib668.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - strlen
    - curl_mime_addpart
    - curl_easy_perform
    - curl_mime_data_cb
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_mime_name
    - curl_global_init
    - test_setopt
    - curl_mime_free
    - curl_easy_init
    - curl_mime_filedata
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib668(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - userp
    - buf
    - len
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: count_chars
    functionSourceFile: /src/curl/tests/libtest/lib650.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t count_chars(void *userp, const char *buf, size_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib650.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib650.c:60,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib650.c:65,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib650.c:69,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib650.c:74,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib650.c:79,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib650.c:85,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib650.c:89,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib650.c:98,1
    - Dst: strlen
      Src: /src/curl/tests/libtest/lib650.c:101,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib650.c:107,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib650.c:117,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib650.c:127,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib650.c:132,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib650.c:138,1
    - Dst: curl_formget
      Src: /src/curl/tests/libtest/lib650.c:146,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib650.c:149,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib650.c:151,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib650.c:158,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib650.c:163,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib650.c:170,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib650.c:174,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib650.c:176,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib650.c:181,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib650.c:184,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib650.c:187,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib650.c:189,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib650.c:190,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib650.c:193,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib650.c:196,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib650.c:201,1
    - Dst: curl_formfree
      Src: /src/curl/tests/libtest/lib650.c:204,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib650.c:205,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib650.c:207,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 210
    functionName: test_lib650
    functionSourceFile: /src/curl/tests/libtest/lib650.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_msnprintf
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_formget
    - curl_formfree
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_global_init
    - curl_mprintf
    - test_setopt
    - curl_easy_init
    - curl_formadd
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib650(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:42,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: read_callback
    functionSourceFile: /src/curl/tests/libtest/cli_upload_pausing.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t read_callback(char *ptr, size_t size, size_t nmemb,\n                            void
      *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: progress_callback
    functionSourceFile: /src/curl/tests/libtest/cli_upload_pausing.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    linkageType: ''
    returnType: int
    signature: "int progress_callback(void *clientp,\n                             curl_off_t
      dltotal,\n                             curl_off_t dlnow,\n                             curl_off_t
      ultotal,\n                             curl_off_t ulnow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:78,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: usage_upload_pausing
    functionSourceFile: /src/curl/tests/libtest/cli_upload_pausing.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void usage_upload_pausing(const char *msg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cgetopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:100,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:103,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:105,1
    - Dst: strcmp
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:107,1
    - Dst: usage_upload_pausing
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:110,1
    - Dst: usage_upload_pausing
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:116,1
    - Dst: usage_upload_pausing
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:124,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:129,1
    - Dst: curl_global_trace
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:130,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:132,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:134,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:137,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:138,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:141,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:142,1
    - Dst: curl_url_get
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:145,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:146,1
    - Dst: memset
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:149,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:150,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:152,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:154,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:156,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:160,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:163,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:164,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:165,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:168,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:169,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:170,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:171,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:174,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:175,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:177,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:178,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:180,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:181,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:182,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:183,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:187,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:188,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:190,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:193,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:196,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:197,1
    - Dst: curl_free
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:198,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:199,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/cli_upload_pausing.c:200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 83
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 203
    functionName: test_cli_upload_pausing
    functionSourceFile: /src/curl/tests/libtest/cli_upload_pausing.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_global_trace
    - curl_slist_free_all
    - cgetopt
    - usage_upload_pausing
    - curl_mfprintf
    - curl_url_get
    - curl_url
    - curl_global_cleanup
    - curl_free
    - curl_slist_append
    - curl_url_cleanup
    - curl_easy_setopt
    - curl_msnprintf
    - curl_easy_cleanup
    - strcmp
    - curl_global_init
    - curl_easy_init
    - curl_url_set
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_cli_upload_pausing(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/libtest/lib651.c:43,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib651.c:47,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib651.c:48,1
    - Dst: curl_formadd
      Src: /src/curl/tests/libtest/lib651.c:53,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib651.c:58,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib651.c:61,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib651.c:63,1
    - Dst: curl_formfree
      Src: /src/curl/tests/libtest/lib651.c:64,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib651.c:65,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib651.c:70,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib651.c:73,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib651.c:76,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib651.c:79,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib651.c:82,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib651.c:87,1
    - Dst: curl_formfree
      Src: /src/curl/tests/libtest/lib651.c:90,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib651.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 95
    functionName: test_lib651
    functionSourceFile: /src/curl/tests/libtest/lib651.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_formfree
    - test_setopt
    - curl_global_init
    - curl_mprintf
    - memset
    - curl_easy_init
    - curl_formadd
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib651(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - clientp
    - item
    argTypes:
    - void*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: closesocket_cb
    functionSourceFile: /src/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int closesocket_cb(void *clientp, curl_socket_t item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - clientp
    - purpose
    - address
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: socket_cb
    functionSourceFile: /src/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t socket_cb(void *clientp,\n                               curlsocktype
      purpose,\n                               struct curl_sockaddr *address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: sockopt_cb
    functionSourceFile: /src/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int sockopt_cb(void *clientp,\n                      curl_socket_t
      curlfd,\n                      curlsocktype purpose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: my_inet_pton
    functionSourceFile: /src/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_inet_pton(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: my_inet_pton
    functionSourceFile: /src/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_inet_pton(x,y,z)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/libtest/lib1960.c:84,1
    - Dst: atoi
      Src: /src/curl/tests/libtest/lib1960.c:87,1
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1960.c:89,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1960.c:90,1
    - Dst: CURL_SOCKET
      Src: /src/curl/tests/libtest/lib1960.c:99,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1960.c:101,1
    - Dst: htons
      Src: /src/curl/tests/libtest/lib1960.c:106,1
    - Dst: my_inet_pton
      Src: /src/curl/tests/libtest/lib1960.c:108,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1960.c:109,1
    - Dst: connect
      Src: /src/curl/tests/libtest/lib1960.c:113,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1960.c:115,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1960.c:119,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1960.c:121,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:125,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:126,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:127,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:128,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:129,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:130,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:131,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:132,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:133,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1960.c:134,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1960.c:136,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1960.c:139,1
    - Dst: sclose
      Src: /src/curl/tests/libtest/lib1960.c:141,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1960.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 145
    functionName: test_lib1960
    functionSourceFile: /src/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - strcmp
    - sclose
    - curl_global_init
    - htons
    - test_setopt
    - CURL_SOCKET
    - atoi
    - curl_easy_init
    - my_inet_pton
    - connect
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1960(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1960.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: test_lib1960
    functionSourceFile: /src/curl/tests/libtest/lib1960.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1960(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1594.c:38,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib1594.c:40,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib1594.c:42,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1594.c:44,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1594.c:48,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1594.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1594.c:57,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1594.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1594.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: test_lib1594
    functionSourceFile: /src/curl/tests/libtest/lib1594.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_easy_getinfo
    - curl_mprintf
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1594(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/curl/tests/libtest/lib1522.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: sockopt_callback
    functionSourceFile: /src/curl/tests/libtest/lib1522.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: "int sockopt_callback(void *clientp, curl_socket_t curlfd,\n                            curlsocktype
      purpose)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1522.c:55,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib1522.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1522.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1522.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1522.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1522.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1522.c:65,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1522.c:66,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1522.c:67,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1522.c:70,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1522.c:72,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1522.c:74,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/tests/libtest/lib1522.c:78,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1522.c:80,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1522.c:83,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1522.c:86,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib1522.c:91,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1522.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1522.c:95,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1522.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: test_lib1522
    functionSourceFile: /src/curl/tests/libtest/lib1522.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - memset
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_easy_getinfo
    - curl_mprintf
    - test_setopt
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1522(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/libtest/lib758.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: t758_tag
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *t758_tag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib758.c:70,1
    - Dst: t758_tag
      Src: /src/curl/tests/libtest/lib758.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: t758_msg
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - t758_tag
    linkageType: ''
    returnType: void
    signature: void t758_msg(const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib758.c:93,1
    - Dst: t758_tag
      Src: /src/curl/tests/libtest/lib758.c:94,1
    - Dst: memmove
      Src: /src/curl/tests/libtest/lib758.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sockets
    - fd
    - mention
    argTypes:
    - struct t758_Sockets*
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: t758_removeFd
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - memmove
    - t758_tag
    linkageType: ''
    returnType: void
    signature: "void t758_removeFd(struct t758_Sockets *sockets, curl_socket_t fd,\n
      \                         int mention)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib758.c:117,1
    - Dst: t758_tag
      Src: /src/curl/tests/libtest/lib758.c:118,1
    - Dst: t758_removeFd
      Src: /src/curl/tests/libtest/lib758.c:119,1
    - Dst: malloc
      Src: /src/curl/tests/libtest/lib758.c:124,1
    - Dst: realloc
      Src: /src/curl/tests/libtest/lib758.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - sockets
    - fd
    - what
    argTypes:
    - struct t758_Sockets*
    - curl_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: t758_addFd
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_tag
    - malloc
    - curl_mfprintf
    - t758_removeFd
    - realloc
    linkageType: ''
    returnType: int
    signature: "int t758_addFd(struct t758_Sockets *sockets, curl_socket_t fd,\n                      const
      char *what)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:158,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:160,1
    - Dst: t758_addFd
      Src: /src/curl/tests/libtest/lib758.c:165,1
    - Dst: t758_addFd
      Src: /src/curl/tests/libtest/lib758.c:169,1
    - Dst: t758_removeFd
      Src: /src/curl/tests/libtest/lib758.c:173,1
    - Dst: t758_removeFd
      Src: /src/curl/tests/libtest/lib758.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - easy
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 178
    functionName: t758_curlSocketCallback
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_msg
    - t758_addFd
    - t758_removeFd
    linkageType: ''
    returnType: int
    signature: "int t758_curlSocketCallback(CURL *easy, curl_socket_t s, int action,\n
      \                                  void *userp, void *socketp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:189,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:191,1
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib758.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: t758_curlTimerCallback
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_msg
    - curlx_now
    linkageType: ''
    returnType: int
    signature: int t758_curlTimerCallback(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/curl/tests/libtest/lib758.c:208,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/curl/tests/libtest/lib758.c:209,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:213,1
    - Dst: SSL_set_retry_verify
      Src: /src/curl/tests/libtest/lib758.c:214,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:217,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:221,1
    - Dst: SSL_set_retry_verify
      Src: /src/curl/tests/libtest/lib758.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: t758_cert_verify_callback
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - t758_msg
    - X509_STORE_CTX_get_ex_data
    - SSL_set_retry_verify
    - SSL_get_ex_data_X509_STORE_CTX_idx
    linkageType: ''
    returnType: int
    signature: int t758_cert_verify_callback(X509_STORE_CTX *ctx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/curl/tests/libtest/lib758.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - curl
    - ssl_ctx
    - clientp
    argTypes:
    - CURL*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: t758_set_ssl_ctx_callback
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cert_verify_callback
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t758_set_ssl_ctx_callback(CURL *curl, void *ssl_ctx, void
      *clientp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/curl/tests/libtest/lib758.c:244,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib758.c:255,1
    - Dst: t758_tag
      Src: /src/curl/tests/libtest/lib758.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - curl
    - success
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 262
    functionName: t758_checkForCompletion
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_multi_info_read
    - t758_tag
    linkageType: ''
    returnType: int
    signature: int t758_checkForCompletion(CURLM *curl, int *success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/tests/libtest/lib758.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: t758_getMicroSecondTimeout
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t t758_getMicroSecondTimeout(struct curltime *timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_SET
      Src: /src/curl/tests/libtest/lib758.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sockets
    - fdset
    - maxFd
    argTypes:
    - struct t758_Sockets*
    - fd_set*
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: t758_updateFdSet
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void t758_updateFdSet(struct t758_Sockets *sockets, fd_set* fdset,\n
      \                            curl_socket_t *maxFd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/tests/libtest/lib758.c:303,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib758.c:305,1
    - Dst: t758_tag
      Src: /src/curl/tests/libtest/lib758.c:306,1
    - Dst: curl_multi_strerror
      Src: /src/curl/tests/libtest/lib758.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - curl
    - s
    - evBitmask
    - info
    argTypes:
    - CURLM*
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: t758_saction
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - curl_mfprintf
    - curl_multi_strerror
    - t758_tag
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode t758_saction(CURLM *curl, curl_socket_t s,\n                              int
      evBitmask, const char *info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/curl/tests/libtest/lib758.c:321,1
    - Dst: t758_saction
      Src: /src/curl/tests/libtest/lib758.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - curl
    - sockets
    - fdset
    - evBitmask
    - name
    argTypes:
    - CURLM*
    - struct t758_Sockets*
    - fd_set*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: t758_checkFdSet
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - t758_saction
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode t758_checkFdSet(CURLM *curl, struct t758_Sockets *sockets,\n
      \                                fd_set *fdset, int evBitmask,\n                                 const
      char *name)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/libtest/lib758.c:341,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:345,1
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib758.c:346,1
    - Dst: curl_global_sslset
      Src: /src/curl/tests/libtest/lib758.c:348,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:349,1
    - Dst: res_global_init
      Src: /src/curl/tests/libtest/lib758.c:354,1
    - Dst: curl_global_trace
      Src: /src/curl/tests/libtest/lib758.c:358,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib758.c:361,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib758.c:364,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib758.c:365,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib758.c:366,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib758.c:369,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib758.c:372,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib758.c:374,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib758.c:376,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib758.c:378,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib758.c:379,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib758.c:381,1
    - Dst: multi_setopt
      Src: /src/curl/tests/libtest/lib758.c:382,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib758.c:384,1
    - Dst: t758_saction
      Src: /src/curl/tests/libtest/lib758.c:386,1
    - Dst: t758_checkForCompletion
      Src: /src/curl/tests/libtest/lib758.c:390,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:399,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:404,1
    - Dst: t758_saction
      Src: /src/curl/tests/libtest/lib758.c:409,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:410,1
    - Dst: curl_easy_pause
      Src: /src/curl/tests/libtest/lib758.c:414,1
    - Dst: t758_saction
      Src: /src/curl/tests/libtest/lib758.c:415,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:416,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:421,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:425,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib758.c:427,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib758.c:428,1
    - Dst: t758_updateFdSet
      Src: /src/curl/tests/libtest/lib758.c:429,1
    - Dst: t758_updateFdSet
      Src: /src/curl/tests/libtest/lib758.c:430,1
    - Dst: curlx_sztosi
      Src: /src/curl/tests/libtest/lib758.c:433,1
    - Dst: t758_getMicroSecondTimeout
      Src: /src/curl/tests/libtest/lib758.c:433,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib758.c:442,1
    - Dst: t758_checkFdSet
      Src: /src/curl/tests/libtest/lib758.c:445,1
    - Dst: t758_checkFdSet
      Src: /src/curl/tests/libtest/lib758.c:450,1
    - Dst: t758_getMicroSecondTimeout
      Src: /src/curl/tests/libtest/lib758.c:457,1
    - Dst: t758_saction
      Src: /src/curl/tests/libtest/lib758.c:459,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib758.c:465,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:468,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:474,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:481,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/tests/libtest/lib758.c:482,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib758.c:483,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib758.c:484,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib758.c:485,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib758.c:488,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib758.c:489,1
    - Dst: t758_msg
      Src: /src/curl/tests/libtest/lib758.c:490,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 126
    argCount: 3
    argNames:
    - URL
    - timer_fail_at
    - socket_fail_at
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 493
    functionName: t758_one
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    - curl_global_trace
    - multi_add_handle
    - t758_checkFdSet
    - test_setopt
    - easy_setopt
    - abort_on_test_timeout
    - multi_init
    - curl_global_cleanup
    - curlx_sztosi
    - start_test_timing
    - t758_msg
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - free
    - t758_updateFdSet
    - res_global_init
    - curl_global_sslset
    - t758_saction
    - select_test
    - easy_init
    - FD_ZERO
    - multi_setopt
    - t758_checkForCompletion
    - curl_multi_cleanup
    - t758_getMicroSecondTimeout
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode t758_one(const char *URL, int timer_fail_at,\n                         int
      socket_fail_at)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t758_one
      Src: /src/curl/tests/libtest/lib758.c:500,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib758.c:502,1
    - Dst: t758_tag
      Src: /src/curl/tests/libtest/lib758.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 505
    functionName: test_lib758
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - t758_one
    - t758_tag
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib758(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: test_lib758
    functionSourceFile: /src/curl/tests/libtest/lib758.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib758(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1550.c:39,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/libtest/lib1550.c:40,1
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/lib1550.c:43,1
    - Dst: curl_multi_setopt
      Src: /src/curl/tests/libtest/lib1550.c:44,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib1550.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1550.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: test_lib1550
    functionSourceFile: /src/curl/tests/libtest/lib1550.c
    functionUses: 0
    functionsReached:
    - curl_multi_setopt
    - curl_global_cleanup
    - curl_multi_cleanup
    - global_init
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1550(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2306.c:32,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib2306.c:34,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2306.c:35,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2306.c:36,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2306.c:37,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib2306.c:42,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2306.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2306.c:46,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2306.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 49
    functionName: test_lib2306
    functionSourceFile: /src/curl/tests/libtest/lib2306.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - easy_init
    - curl_easy_cleanup
    - curl_global_cleanup
    - easy_setopt
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2306(const char *URL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2302.c:47,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2302.c:49,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2302.c:51,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2302.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - wd
    argTypes:
    - struct ws_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: flush_data
    functionSourceFile: /src/curl/tests/libtest/lib2302.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void flush_data(struct ws_data *wd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flush_data
      Src: /src/curl/tests/libtest/lib2302.c:65,1
    - Dst: memcpy
      Src: /src/curl/tests/libtest/lib2302.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - wd
    - buf
    - blen
    - meta
    argTypes:
    - struct ws_data*
    - char*
    - size_t
    - struct curl_ws_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: add_data
    functionSourceFile: /src/curl/tests/libtest/lib2302.c
    functionUses: 0
    functionsReached:
    - memcpy
    - flush_data
    linkageType: ''
    returnType: size_t
    signature: "size_t add_data(struct ws_data *wd, const char *buf, size_t blen,\n
      \                      const struct curl_ws_frame *meta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_meta
      Src: /src/curl/tests/libtest/lib2302.c:86,1
    - Dst: add_data
      Src: /src/curl/tests/libtest/lib2302.c:87,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2302.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: t2302_write_cb
    functionSourceFile: /src/curl/tests/libtest/lib2302.c
    functionUses: 0
    functionsReached:
    - curl_ws_meta
    - add_data
    - curl_mfprintf
    linkageType: ''
    returnType: size_t
    signature: size_t t2302_write_cb(char *buffer, size_t size, size_t nitems, void
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2302.c:102,1
    - Dst: memset
      Src: /src/curl/tests/libtest/lib2302.c:104,1
    - Dst: calloc
      Src: /src/curl/tests/libtest/lib2302.c:105,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib2302.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2302.c:111,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2302.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2302.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2302.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2302.c:116,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2302.c:117,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib2302.c:118,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2302.c:120,1
    - Dst: flush_data
      Src: /src/curl/tests/libtest/lib2302.c:121,1
    - Dst: free
      Src: /src/curl/tests/libtest/lib2302.c:123,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2302.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 130
    functionName: test_lib2302
    functionSourceFile: /src/curl/tests/libtest/lib2302.c
    functionUses: 0
    functionsReached:
    - calloc
    - curl_easy_perform
    - flush_data
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - free
    - curl_easy_init
    - memset
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2302(const char *URL)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib1567.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1567.c:37,1
    - Dst: curl_url
      Src: /src/curl/tests/libtest/lib1567.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1567.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1567.c:42,1
    - Dst: curl_url_set
      Src: /src/curl/tests/libtest/lib1567.c:43,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib1567.c:44,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1567.c:45,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1567.c:49,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1567.c:50,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/libtest/lib1567.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1567.c:56,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1567.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: test_lib1567
    functionSourceFile: /src/curl/tests/libtest/lib1567.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_url
    - curl_global_cleanup
    - curl_easy_init
    - curl_url_cleanup
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1567(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nitems
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: t1975_read_cb
    functionSourceFile: /src/curl/tests/libtest/lib1975.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t t1975_read_cb(char *ptr, size_t size, size_t nitems, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/libtest/lib1975.c:44,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1975.c:45,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib1975.c:49,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib1975.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1975.c:52,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1975.c:56,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1975.c:57,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1975.c:58,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1975.c:59,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1975.c:60,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1975.c:61,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1975.c:62,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1975.c:63,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1975.c:66,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1975.c:68,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/libtest/lib1975.c:70,1
    - Dst: test_setopt
      Src: /src/curl/tests/libtest/lib1975.c:72,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib1975.c:74,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1975.c:78,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/libtest/lib1975.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib1975.c:80,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib1975.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 84
    functionName: test_lib1975
    functionSourceFile: /src/curl/tests/libtest/lib1975.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_slist_free_all
    - curl_slist_append
    - curl_global_init
    - test_setopt
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib1975(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: cb_curl
    functionSourceFile: /src/curl/tests/libtest/lib2308.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cb_curl(char *buffer, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2308.c:40,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib2308.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2308.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2308.c:43,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2308.c:44,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2308.c:45,1
    - Dst: fflush
      Src: /src/curl/tests/libtest/lib2308.c:46,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2308.c:47,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2308.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: test_lib2308
    functionSourceFile: /src/curl/tests/libtest/lib2308.c
    functionUses: 0
    functionsReached:
    - fflush
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_init
    - curl_mprintf
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2308(const char *URL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test_timing
      Src: /src/curl/tests/libtest/lib564.c:39,1
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib564.c:41,1
    - Dst: easy_init
      Src: /src/curl/tests/libtest/lib564.c:43,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib564.c:45,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib564.c:46,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib564.c:47,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib564.c:48,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib564.c:49,1
    - Dst: easy_setopt
      Src: /src/curl/tests/libtest/lib564.c:50,1
    - Dst: multi_init
      Src: /src/curl/tests/libtest/lib564.c:52,1
    - Dst: multi_add_handle
      Src: /src/curl/tests/libtest/lib564.c:54,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/libtest/lib564.c:56,1
    - Dst: multi_perform
      Src: /src/curl/tests/libtest/lib564.c:66,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib564.c:68,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib564.c:73,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib564.c:74,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/libtest/lib564.c:75,1
    - Dst: multi_fdset
      Src: /src/curl/tests/libtest/lib564.c:77,1
    - Dst: select_test
      Src: /src/curl/tests/libtest/lib564.c:81,1
    - Dst: abort_on_test_timeout
      Src: /src/curl/tests/libtest/lib564.c:83,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib564.c:90,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/libtest/lib564.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib564.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 95
    functionName: test_lib564
    functionSourceFile: /src/curl/tests/libtest/lib564.c
    functionUses: 0
    functionsReached:
    - multi_fdset
    - multi_init
    - select_test
    - curl_mfprintf
    - easy_init
    - multi_add_handle
    - FD_ZERO
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - multi_perform
    - easy_setopt
    - global_init
    - start_test_timing
    - abort_on_test_timeout
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib564(const char *URL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: cb_ignore
    functionSourceFile: /src/curl/tests/libtest/lib2309.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cb_ignore(char *buffer, size_t size, size_t nmemb, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/libtest/lib2309.c:41,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/libtest/lib2309.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2309.c:44,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2309.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2309.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2309.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2309.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/libtest/lib2309.c:49,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/tests/libtest/lib2309.c:51,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/libtest/lib2309.c:53,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/libtest/lib2309.c:54,1
    - Dst: fflush
      Src: /src/curl/tests/libtest/lib2309.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2309.c:56,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/libtest/lib2309.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/libtest/lib2309.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - URL
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: test_lib2309
    functionSourceFile: /src/curl/tests/libtest/lib2309.c
    functionUses: 0
    functionsReached:
    - fflush
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_easy_init
    - curl_mprintf
    - curl_easy_duphandle
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_lib2309(const char *URL)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parse_cert_parameter
      Src: /src/curl/tests/tunit/tool1394.c:72,1
    - Dst: strcmp
      Src: /src/curl/tests/tunit/tool1394.c:75,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/tunit/tool1394.c:76,1
    - Dst: fail
      Src: /src/curl/tests/tunit/tool1394.c:78,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/tunit/tool1394.c:82,1
    - Dst: fail
      Src: /src/curl/tests/tunit/tool1394.c:84,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/tunit/tool1394.c:89,1
    - Dst: fail
      Src: /src/curl/tests/tunit/tool1394.c:91,1
    - Dst: strcmp
      Src: /src/curl/tests/tunit/tool1394.c:96,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/tunit/tool1394.c:97,1
    - Dst: fail
      Src: /src/curl/tests/tunit/tool1394.c:99,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/tunit/tool1394.c:103,1
    - Dst: fail
      Src: /src/curl/tests/tunit/tool1394.c:105,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/tunit/tool1394.c:110,1
    - Dst: fail
      Src: /src/curl/tests/tunit/tool1394.c:112,1
    - Dst: free
      Src: /src/curl/tests/tunit/tool1394.c:116,1
    - Dst: free
      Src: /src/curl/tests/tunit/tool1394.c:118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 122
    functionName: test_tool1394
    functionSourceFile: /src/curl/tests/tunit/tool1394.c
    functionUses: 0
    functionsReached:
    - fail
    - free
    - strcmp
    - curl_mprintf
    - parse_cert_parameter
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_tool1394(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/tests/tunit/tool1604.c:34,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/tunit/tool1604.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: getflagstr
    functionSourceFile: /src/curl/tests/tunit/tool1604.c
    functionUses: 0
    functionsReached:
    - malloc
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *getflagstr(int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/tests/tunit/tool1604.c:47,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/tunit/tool1604.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: getcurlcodestr
    functionSourceFile: /src/curl/tests/tunit/tool1604.c
    functionUses: 0
    functionsReached:
    - malloc
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *getcurlcodestr(int cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/tunit/tool1604.c:202,1
    - Dst: sanitize_file_name
      Src: /src/curl/tests/tunit/tool1604.c:209,1
    - Dst: strcmp
      Src: /src/curl/tests/tunit/tool1604.c:214,1
    - Dst: free
      Src: /src/curl/tests/tunit/tool1604.c:215,1
    - Dst: getflagstr
      Src: /src/curl/tests/tunit/tool1604.c:219,1
    - Dst: abort_unless
      Src: /src/curl/tests/tunit/tool1604.c:220,1
    - Dst: getcurlcodestr
      Src: /src/curl/tests/tunit/tool1604.c:221,1
    - Dst: abort_unless
      Src: /src/curl/tests/tunit/tool1604.c:222,1
    - Dst: getcurlcodestr
      Src: /src/curl/tests/tunit/tool1604.c:223,1
    - Dst: abort_unless
      Src: /src/curl/tests/tunit/tool1604.c:224,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/tunit/tool1604.c:227,1
    - Dst: free
      Src: /src/curl/tests/tunit/tool1604.c:243,1
    - Dst: free
      Src: /src/curl/tests/tunit/tool1604.c:244,1
    - Dst: free
      Src: /src/curl/tests/tunit/tool1604.c:245,1
    - Dst: free
      Src: /src/curl/tests/tunit/tool1604.c:246,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/tunit/tool1604.c:250,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 254
    functionName: test_tool1604
    functionSourceFile: /src/curl/tests/tunit/tool1604.c
    functionUses: 0
    functionsReached:
    - getcurlcodestr
    - curl_mfprintf
    - getflagstr
    - free
    - abort_unless
    - strcmp
    - CURL_ARRAYSIZE
    - sanitize_file_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_tool1604(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/curl/tests/tunit/tool1621.c:43,1
    - Dst: defined
      Src: /src/curl/tests/tunit/tool1621.c:49,1
    - Dst: stripcredentials
      Src: /src/curl/tests/tunit/tool1621.c:75,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/tunit/tool1621.c:77,1
    - Dst: fail_if
      Src: /src/curl/tests/tunit/tool1621.c:81,1
    - Dst: strcmp
      Src: /src/curl/tests/tunit/tool1621.c:81,1
    - Dst: curl_free
      Src: /src/curl/tests/tunit/tool1621.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 87
    functionName: test_tool1621
    functionSourceFile: /src/curl/tests/tunit/tool1621.c
    functionUses: 0
    functionsReached:
    - fail_if
    - stripcredentials
    - curl_free
    - strcmp
    - defined
    - curl_mprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_tool1621(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/tests/server/first.c:36,1
    - Dst: strcmp
      Src: /src/curl/tests/server/first.c:43,1
    - Dst: fprintf
      Src: /src/curl/tests/server/first.c:50,1
    - Dst: entry_func
      Src: /src/curl/tests/server/first.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/curl/tests/server/first.c
    functionUses: 0
    functionsReached:
    - strcmp
    - entry_func
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - p2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CURL_STRNICMP
    functionSourceFile: /src/curl/tests/server/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRNICMP(p1, p2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - p2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: CURL_STRNICMP
    functionSourceFile: /src/curl/tests/server/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRNICMP(p1, p2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - p2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: CURL_STRNICMP
    functionSourceFile: /src/curl/tests/server/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRNICMP(p1, p2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - p2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: CURL_STRNICMP
    functionSourceFile: /src/curl/tests/server/first.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRNICMP(p1, p2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: EAT_SPACE
    functionSourceFile: /src/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAT_SPACE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: EAT_WORD
    functionSourceFile: /src/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAT_WORD(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: show
    functionSourceFile: /src/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: show(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: show
    functionSourceFile: /src/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: show(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - bytestocheck
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: line_length
    functionSourceFile: /src/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t line_length(const char *buffer, int bytestocheck)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/tests/server/getpart.c:87,1
    - Dst: curlx_uztosi
      Src: /src/curl/tests/server/getpart.c:94,1
    - Dst: fgets
      Src: /src/curl/tests/server/getpart.c:96,1
    - Dst: line_length
      Src: /src/curl/tests/server/getpart.c:101,1
    - Dst: realloc
      Src: /src/curl/tests/server/getpart.c:108,1
    - Dst: memset
      Src: /src/curl/tests/server/getpart.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - buffer
    - bufsize
    - length
    - stream
    argTypes:
    - char**
    - size_t*
    - size_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 117
    functionName: readline
    functionSourceFile: /src/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached:
    - curlx_uztosi
    - calloc
    - line_length
    - memset
    - fgets
    - realloc
    linkageType: ''
    returnType: int
    signature: "int readline(char **buffer, size_t *bufsize, size_t *length,\n                    FILE
      *stream)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/curl/tests/server/getpart.c:169,1
    - Dst: memcpy
      Src: /src/curl/tests/server/getpart.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - dst_buf
    - dst_len
    - dst_alloc
    - src_buf
    - src_len
    - src_b64
    argTypes:
    - char**
    - size_t*
    - size_t*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 183
    functionName: appenddata
    functionSourceFile: /src/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached:
    - memcpy
    - realloc
    linkageType: ''
    returnType: int
    signature: "int appenddata(char  **dst_buf,   /* dest buffer */\n                      size_t
      *dst_len,   /* dest buffer data length */\n                      size_t *dst_alloc,
      /* dest buffer allocated size */\n                      char   *src_buf,   /*
      source buffer */\n                      size_t  src_len,   /* source buffer
      length */\n                      int     src_b64)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_base64_decode
      Src: /src/curl/tests/server/getpart.c:196,1
    - Dst: free
      Src: /src/curl/tests/server/getpart.c:207,1
    - Dst: memcpy
      Src: /src/curl/tests/server/getpart.c:213,1
    - Dst: free
      Src: /src/curl/tests/server/getpart.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 220
    functionName: decodedata
    functionSourceFile: /src/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached:
    - free
    - curlx_base64_decode
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int decodedata(char  **buf,   /* dest buffer */\n                      size_t
      *len)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/tests/server/getpart.c:276,1
    - Dst: readline
      Src: /src/curl/tests/server/getpart.c:283,1
    - Dst: EAT_SPACE
      Src: /src/curl/tests/server/getpart.c:286,1
    - Dst: show
      Src: /src/curl/tests/server/getpart.c:290,1
    - Dst: appenddata
      Src: /src/curl/tests/server/getpart.c:291,1
    - Dst: EAT_WORD
      Src: /src/curl/tests/server/getpart.c:308,1
    - Dst: memcpy
      Src: /src/curl/tests/server/getpart.c:314,1
    - Dst: strcmp
      Src: /src/curl/tests/server/getpart.c:317,1
    - Dst: decodedata
      Src: /src/curl/tests/server/getpart.c:324,1
    - Dst: strcmp
      Src: /src/curl/tests/server/getpart.c:333,1
    - Dst: decodedata
      Src: /src/curl/tests/server/getpart.c:340,1
    - Dst: strcmp
      Src: /src/curl/tests/server/getpart.c:349,1
    - Dst: EAT_WORD
      Src: /src/curl/tests/server/getpart.c:365,1
    - Dst: memcpy
      Src: /src/curl/tests/server/getpart.c:371,1
    - Dst: show
      Src: /src/curl/tests/server/getpart.c:376,1
    - Dst: EAT_SPACE
      Src: /src/curl/tests/server/getpart.c:382,1
    - Dst: memcpy
      Src: /src/curl/tests/server/getpart.c:391,1
    - Dst: strcpy
      Src: /src/curl/tests/server/getpart.c:396,1
    - Dst: strcpy
      Src: /src/curl/tests/server/getpart.c:402,1
    - Dst: strcpy
      Src: /src/curl/tests/server/getpart.c:408,1
    - Dst: strcmp
      Src: /src/curl/tests/server/getpart.c:410,1
    - Dst: strcmp
      Src: /src/curl/tests/server/getpart.c:410,1
    - Dst: strstr
      Src: /src/curl/tests/server/getpart.c:413,1
    - Dst: strstr
      Src: /src/curl/tests/server/getpart.c:417,1
    - Dst: show
      Src: /src/curl/tests/server/getpart.c:418,1
    - Dst: show
      Src: /src/curl/tests/server/getpart.c:428,1
    - Dst: appenddata
      Src: /src/curl/tests/server/getpart.c:429,1
    - Dst: free
      Src: /src/curl/tests/server/getpart.c:436,1
    - Dst: free
      Src: /src/curl/tests/server/getpart.c:442,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 134
    argCount: 5
    argNames:
    - outbuf
    - outlen
    - main
    - sub
    - stream
    argTypes:
    - char**
    - size_t*
    - char*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 449
    functionName: getpart
    functionSourceFile: /src/curl/tests/server/getpart.c
    functionUses: 0
    functionsReached:
    - EAT_SPACE
    - malloc
    - strstr
    - readline
    - appenddata
    - memcpy
    - free
    - strcmp
    - show
    - EAT_WORD
    - decodedata
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int getpart(char **outbuf, size_t *outlen,\n            const char
      *main, const char *sub, FILE *stream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: socket_domain_is_ip
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool socket_domain_is_ip(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/tests/server/sws.c:181,1
    - Dst: fgets
      Src: /src/curl/tests/server/sws.c:185,1
    - Dst: sscanf
      Src: /src/curl/tests/server/sws.c:186,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:187,1
    - Dst: fclose
      Src: /src/curl/tests/server/sws.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: parse_cmdfile
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - sscanf
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: int parse_cmdfile(struct sws_httprequest *req)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: test2fopen
      Src: /src/curl/tests/server/sws.c:202,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:209,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:210,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:211,1
    - Dst: getpart
      Src: /src/curl/tests/server/sws.c:222,1
    - Dst: fclose
      Src: /src/curl/tests/server/sws.c:223,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:225,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:234,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:234,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:235,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:238,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:238,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:239,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:243,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:243,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:244,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:247,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:248,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:249,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:252,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:252,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:253,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:256,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:256,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:257,1
    - Dst: sscanf
      Src: /src/curl/tests/server/sws.c:260,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:261,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:264,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:264,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:265,1
    - Dst: sscanf
      Src: /src/curl/tests/server/sws.c:268,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:269,1
    - Dst: sscanf
      Src: /src/curl/tests/server/sws.c:272,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:273,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:277,1
    - Dst: strchr
      Src: /src/curl/tests/server/sws.c:280,1
    - Dst: strchr
      Src: /src/curl/tests/server/sws.c:282,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:297,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 301
    functionName: sws_parse_servercmd
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - getpart
    - curlx_strerror
    - strlen
    - test2fopen
    - sscanf
    - strchr
    - free
    - strncmp
    linkageType: ''
    returnType: int
    signature: int sws_parse_servercmd(struct sws_httprequest *req)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:310,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:314,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:322,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:323,1
    - Dst: sscanf
      Src: /src/curl/tests/server/sws.c:334,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:336,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:336,1
    - Dst: sscanf
      Src: /src/curl/tests/server/sws.c:338,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:342,1
    - Dst: ISSPACE
      Src: /src/curl/tests/server/sws.c:346,1
    - Dst: ISSPACE
      Src: /src/curl/tests/server/sws.c:351,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:374,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:375,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:378,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:380,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:381,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:386,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:387,1
    - Dst: atol
      Src: /src/curl/tests/server/sws.c:394,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:404,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:407,1
    - Dst: sscanf
      Src: /src/curl/tests/server/sws.c:416,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:420,1
    - Dst: ISXDIGIT
      Src: /src/curl/tests/server/sws.c:433,1
    - Dst: curlx_str_hex
      Src: /src/curl/tests/server/sws.c:435,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:441,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:443,1
    - Dst: strchr
      Src: /src/curl/tests/server/sws.c:450,1
    - Dst: ISDIGIT
      Src: /src/curl/tests/server/sws.c:452,1
    - Dst: atoi
      Src: /src/curl/tests/server/sws.c:453,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:455,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:460,1
    - Dst: parse_cmdfile
      Src: /src/curl/tests/server/sws.c:467,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:470,1
    - Dst: sws_parse_servercmd
      Src: /src/curl/tests/server/sws.c:474,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:478,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:485,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:488,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:492,1
    - Dst: atol
      Src: /src/curl/tests/server/sws.c:494,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:495,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:498,1
    - Dst: sws_parse_servercmd
      Src: /src/curl/tests/server/sws.c:503,1
    - Dst: strrchr
      Src: /src/curl/tests/server/sws.c:511,1
    - Dst: ISDIGIT
      Src: /src/curl/tests/server/sws.c:517,1
    - Dst: atol
      Src: /src/curl/tests/server/sws.c:520,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:529,1
    - Dst: CURL_STRNICMP
      Src: /src/curl/tests/server/sws.c:549,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:555,1
    - Dst: curlx_str_numblanks
      Src: /src/curl/tests/server/sws.c:556,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:558,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:567,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:569,1
    - Dst: CURL_STRNICMP
      Src: /src/curl/tests/server/sws.c:571,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:572,1
    - Dst: CURL_STRNICMP
      Src: /src/curl/tests/server/sws.c:576,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:577,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:581,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:585,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:589,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:590,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:592,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:594,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:597,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:602,1
    - Dst: strchr
      Src: /src/curl/tests/server/sws.c:608,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:614,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:617,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:620,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:624,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:633,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:639,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:642,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:646,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:648,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:652,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:656,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:659,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:664,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:666,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:671,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:673,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:673,1
    - Dst: strncmp
      Src: /src/curl/tests/server/sws.c:674,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:674,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:677,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:685,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:689,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:691,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:697,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 234
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 704
    functionName: sws_ProcessRequest
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_str_hex
    - curlx_str_numblanks
    - strlen
    - sws_parse_servercmd
    - strstr
    - ISSPACE
    - strrchr
    - sscanf
    - strchr
    - parse_cmdfile
    - CURL_STRNICMP
    - ISXDIGIT
    - atoi
    - ISDIGIT
    - strncmp
    - atol
    linkageType: ''
    returnType: int
    signature: int sws_ProcessRequest(struct sws_httprequest *req)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/sws.c:717,1
    - Dst: fopen
      Src: /src/curl/tests/server/sws.c:726,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:730,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:731,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:732,1
    - Dst: fwrite
      Src: /src/curl/tests/server/sws.c:738,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:748,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:750,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:751,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:752,1
    - Dst: fclose
      Src: /src/curl/tests/server/sws.c:758,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:760,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:761,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - reqbuf
    - totalsize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 762
    functionName: sws_storerequest
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - curlx_strerror
    - fwrite
    - snprintf
    - fopen
    linkageType: ''
    returnType: void
    signature: void sws_storerequest(const char *reqbuf, size_t totalsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 789
    functionName: init_httprequest
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_httprequest(struct sws_httprequest *req)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:804,1
    - Dst: sws_send_doc
      Src: /src/curl/tests/server/sws.c:805,1
    - Dst: sws_storerequest
      Src: /src/curl/tests/server/sws.c:809,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:814,1
    - Dst: sread
      Src: /src/curl/tests/server/sws.c:816,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:820,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:831,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sws.c:832,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sws.c:833,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sws.c:839,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:844,1
    - Dst: select
      Src: /src/curl/tests/server/sws.c:845,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:847,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:854,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:857,1
    - Dst: sws_storerequest
      Src: /src/curl/tests/server/sws.c:860,1
    - Dst: init_httprequest
      Src: /src/curl/tests/server/sws.c:863,1
    - Dst: sread
      Src: /src/curl/tests/server/sws.c:877,1
    - Dst: sread
      Src: /src/curl/tests/server/sws.c:879,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:885,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:895,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:896,1
    - Dst: sws_storerequest
      Src: /src/curl/tests/server/sws.c:902,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:906,1
    - Dst: sws_ProcessRequest
      Src: /src/curl/tests/server/sws.c:911,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:917,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:923,1
    - Dst: sws_storerequest
      Src: /src/curl/tests/server/sws.c:933,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - curl_socket_t
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 938
    functionName: sws_get_request
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_strerror
    - sread
    - sws_storerequest
    - FD_ZERO
    - sws_send_doc
    - FD_SET
    - init_httprequest
    - sws_ProcessRequest
    - select
    linkageType: ''
    returnType: int
    signature: int sws_get_request(curl_socket_t sock, struct sws_httprequest *req)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/sws.c:960,1
    - Dst: swrite
      Src: /src/curl/tests/server/sws.c:970,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:974,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:993,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:998,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sws.c:999,1
    - Dst: our_getpid
      Src: /src/curl/tests/server/sws.c:1000,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:1001,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sws.c:1003,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sws.c:1005,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1012,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:1017,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sws.c:1027,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sws.c:1029,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1031,1
    - Dst: test2fopen
      Src: /src/curl/tests/server/sws.c:1033,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1036,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1037,1
    - Dst: getpart
      Src: /src/curl/tests/server/sws.c:1041,1
    - Dst: fclose
      Src: /src/curl/tests/server/sws.c:1042,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1044,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1051,1
    - Dst: test2fopen
      Src: /src/curl/tests/server/sws.c:1056,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1059,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1060,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1061,1
    - Dst: getpart
      Src: /src/curl/tests/server/sws.c:1066,1
    - Dst: fclose
      Src: /src/curl/tests/server/sws.c:1067,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1069,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1070,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1077,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1078,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:1085,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1087,1
    - Dst: strstr
      Src: /src/curl/tests/server/sws.c:1089,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1091,1
    - Dst: fopen
      Src: /src/curl/tests/server/sws.c:1096,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1099,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1100,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1101,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1102,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1103,1
    - Dst: swrite
      Src: /src/curl/tests/server/sws.c:1117,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/sws.c:1120,1
    - Dst: fwrite
      Src: /src/curl/tests/server/sws.c:1128,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1138,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/sws.c:1144,1
    - Dst: fclose
      Src: /src/curl/tests/server/sws.c:1150,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1152,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1153,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1156,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1157,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1162,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1167,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1168,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1172,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1174,1
    - Dst: sscanf
      Src: /src/curl/tests/server/sws.c:1182,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:1183,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1184,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/sws.c:1188,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1192,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1193,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1198,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1201,1
    - Dst: strchr
      Src: /src/curl/tests/server/sws.c:1203,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:1210,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 186
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - curl_socket_t
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 1217
    functionName: sws_send_doc
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 1
    functionsReached:
    - logmsg
    - fclose
    - strlen
    - our_getpid
    - curlx_strerror
    - swrite
    - test2fopen
    - getpart
    - strstr
    - curlx_wait_ms
    - fwrite
    - snprintf
    - sscanf
    - fopen
    - strchr
    - free
    - strcmp
    linkageType: ''
    returnType: int
    signature: int sws_send_doc(curl_socket_t sock, struct sws_httprequest *req)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1239,1
    - Dst: socket
      Src: /src/curl/tests/server/sws.c:1243,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1246,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1247,1
    - Dst: socket_domain_is_ip
      Src: /src/curl/tests/server/sws.c:1252,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/sws.c:1255,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1257,1
    - Dst: curlx_nonblock
      Src: /src/curl/tests/server/sws.c:1264,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1266,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1267,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1268,1
    - Dst: memset
      Src: /src/curl/tests/server/sws.c:1274,1
    - Dst: htons
      Src: /src/curl/tests/server/sws.c:1276,1
    - Dst: curlx_inet_pton
      Src: /src/curl/tests/server/sws.c:1277,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1278,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1279,1
    - Dst: connect
      Src: /src/curl/tests/server/sws.c:1283,1
    - Dst: memset
      Src: /src/curl/tests/server/sws.c:1287,1
    - Dst: htons
      Src: /src/curl/tests/server/sws.c:1289,1
    - Dst: curlx_inet_pton
      Src: /src/curl/tests/server/sws.c:1290,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1291,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1292,1
    - Dst: connect
      Src: /src/curl/tests/server/sws.c:1296,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1301,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1307,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sws.c:1318,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sws.c:1323,1
    - Dst: select
      Src: /src/curl/tests/server/sws.c:1328,1
    - Dst: getsockopt
      Src: /src/curl/tests/server/sws.c:1333,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1342,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1343,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1349,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1350,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1351,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1355,1
    - Dst: curlx_nonblock
      Src: /src/curl/tests/server/sws.c:1358,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1360,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1361,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1362,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 2
    argNames:
    - ipaddr
    - port
    argTypes:
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1367
    functionName: connect_to
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_nonblock
    - curlx_strerror
    - socket
    - FD_SET
    - FD_ZERO
    - curlx_inet_pton
    - getsockopt
    - socket_domain_is_ip
    - memset
    - htons
    - select
    - setsockopt
    - sclose
    - connect
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t connect_to(const char *ipaddr, unsigned short port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1382
    functionName: data_or_ctrl
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_or_ctrl(x)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/sws.c:1416,1
    - Dst: connect_to
      Src: /src/curl/tests/server/sws.c:1420,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sws.c:1441,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sws.c:1442,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sws.c:1455,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sws.c:1472,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sws.c:1486,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sws.c:1502,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sws.c:1516,1
    - Dst: select
      Src: /src/curl/tests/server/sws.c:1529,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sws.c:1544,1
    - Dst: accept
      Src: /src/curl/tests/server/sws.c:1546,1
    - Dst: malloc
      Src: /src/curl/tests/server/sws.c:1551,1
    - Dst: memset
      Src: /src/curl/tests/server/sws.c:1555,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1556,1
    - Dst: socket_domain_is_ip
      Src: /src/curl/tests/server/sws.c:1558,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/sws.c:1561,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1563,1
    - Dst: init_httprequest
      Src: /src/curl/tests/server/sws.c:1566,1
    - Dst: sws_get_request
      Src: /src/curl/tests/server/sws.c:1568,1
    - Dst: sws_send_doc
      Src: /src/curl/tests/server/sws.c:1577,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/sws.c:1581,1
    - Dst: connect_to
      Src: /src/curl/tests/server/sws.c:1584,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1604,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1605,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sws.c:1619,1
    - Dst: sread
      Src: /src/curl/tests/server/sws.c:1621,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1623,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1623,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1624,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1628,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1628,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1629,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1629,1
    - Dst: data_to_hex
      Src: /src/curl/tests/server/sws.c:1630,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sws.c:1637,1
    - Dst: sread
      Src: /src/curl/tests/server/sws.c:1639,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1641,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1641,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1642,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1646,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1646,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1647,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1647,1
    - Dst: data_to_hex
      Src: /src/curl/tests/server/sws.c:1648,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sws.c:1654,1
    - Dst: swrite
      Src: /src/curl/tests/server/sws.c:1656,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1658,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1658,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1659,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1664,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1664,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1665,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1665,1
    - Dst: data_to_hex
      Src: /src/curl/tests/server/sws.c:1666,1
    - Dst: memmove
      Src: /src/curl/tests/server/sws.c:1668,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sws.c:1674,1
    - Dst: swrite
      Src: /src/curl/tests/server/sws.c:1676,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1678,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1678,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1679,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1684,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1684,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1685,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1685,1
    - Dst: data_to_hex
      Src: /src/curl/tests/server/sws.c:1686,1
    - Dst: memmove
      Src: /src/curl/tests/server/sws.c:1688,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1706,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1706,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1707,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1711,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1711,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1712,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1719,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1719,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1720,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1724,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1724,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1725,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/sws.c:1735,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1742,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1742,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1743,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1746,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1746,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1756,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1756,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1757,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1760,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1760,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1783,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1793,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1793,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1794,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1795,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1798,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1798,1
    - Dst: shutdown
      Src: /src/curl/tests/server/sws.c:1799,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1800,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1804,1
    - Dst: data_or_ctrl
      Src: /src/curl/tests/server/sws.c:1804,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 266
    argCount: 5
    argNames:
    - infdp
    - rootfd
    - ipaddr
    - ipport
    - keepalive_secs
    argTypes:
    - curl_socket_t*
    - curl_socket_t
    - char*
    - unsigned short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1386
    functionDepth: 6
    functionLinenumber: 1386
    functionLinenumberEnd: 1809
    functionName: http_connect
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - swrite
    - FD_SET
    - data_to_hex
    - sclose
    - sws_get_request
    - curlx_wait_ms
    - sread
    - connect_to
    - sws_send_doc
    - FD_ISSET
    - logmsg
    - memmove
    - accept
    - data_or_ctrl
    - socket_domain_is_ip
    - setsockopt
    - malloc
    - FD_ZERO
    - shutdown
    - init_httprequest
    - memset
    - select
    linkageType: ''
    returnType: void
    signature: "void http_connect(curl_socket_t *infdp,\n                         curl_socket_t
      rootfd,\n                         const char *ipaddr,\n                         unsigned
      short ipport,\n                         int keepalive_secs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sws_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1811
    functionDepth: 1
    functionLinenumber: 1811
    functionLinenumberEnd: 1816
    functionName: http_upgrade
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    linkageType: ''
    returnType: void
    signature: void http_upgrade(struct sws_httprequest *req)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1829,1
    - Dst: accept
      Src: /src/curl/tests/server/sws.c:1833,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1837,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1847,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1848,1
    - Dst: curlx_nonblock
      Src: /src/curl/tests/server/sws.c:1852,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1854,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1855,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1856,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/sws.c:1860,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1863,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:1864,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:1865,1
    - Dst: set_advisor_read_lock
      Src: /src/curl/tests/server/sws.c:1876,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1879,1
    - Dst: socket_domain_is_ip
      Src: /src/curl/tests/server/sws.c:1885,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/sws.c:1890,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1892,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - sock
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1897
    functionName: accept_connection
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_nonblock
    - curlx_strerror
    - accept
    - socket_domain_is_ip
    - set_advisor_read_lock
    - setsockopt
    - sclose
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t accept_connection(curl_socket_t sock)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sws_get_request
      Src: /src/curl/tests/server/sws.c:1911,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1922,1
    - Dst: sws_send_doc
      Src: /src/curl/tests/server/sws.c:1931,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1936,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1940,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1947,1
    - Dst: http_connect
      Src: /src/curl/tests/server/sws.c:1951,1
    - Dst: http_upgrade
      Src: /src/curl/tests/server/sws.c:1959,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1966,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:1970,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 5
    argNames:
    - msgsock
    - req
    - listensock
    - connecthost
    - keepalive_secs
    argTypes:
    - curl_socket_t*
    - struct sws_httprequest*
    - curl_socket_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1901
    functionDepth: 7
    functionLinenumber: 1901
    functionLinenumberEnd: 1974
    functionName: service_connection
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - logmsg
    - sws_get_request
    - http_connect
    - sws_send_doc
    - http_upgrade
    linkageType: ''
    returnType: int
    signature: "int service_connection(curl_socket_t *msgsock,\n                              struct
      sws_httprequest *req,\n                              curl_socket_t listensock,\n
      \                             const char *connecthost,\n                              int
      keepalive_secs)"
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2008,1
    - Dst: puts
      Src: /src/curl/tests/server/sws.c:2009,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2019,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2024,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2029,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2034,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2039,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2044,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2050,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2056,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2064,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:2069,1
    - Dst: fprintf
      Src: /src/curl/tests/server/sws.c:2070,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2082,1
    - Dst: atoi
      Src: /src/curl/tests/server/sws.c:2085,1
    - Dst: fprintf
      Src: /src/curl/tests/server/sws.c:2087,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2095,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2102,1
    - Dst: atoi
      Src: /src/curl/tests/server/sws.c:2105,1
    - Dst: fprintf
      Src: /src/curl/tests/server/sws.c:2107,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sws.c:2115,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2124,1
    - Dst: puts
      Src: /src/curl/tests/server/sws.c:2128,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sws.c:2145,1
    - Dst: win32_init
      Src: /src/curl/tests/server/sws.c:2150,1
    - Dst: install_signal_handlers
      Src: /src/curl/tests/server/sws.c:2154,1
    - Dst: calloc
      Src: /src/curl/tests/server/sws.c:2156,1
    - Dst: socket
      Src: /src/curl/tests/server/sws.c:2160,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2167,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:2168,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/sws.c:2173,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2176,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:2177,1
    - Dst: curlx_nonblock
      Src: /src/curl/tests/server/sws.c:2180,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2182,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:2183,1
    - Dst: memset
      Src: /src/curl/tests/server/sws.c:2189,1
    - Dst: htons
      Src: /src/curl/tests/server/sws.c:2192,1
    - Dst: bind
      Src: /src/curl/tests/server/sws.c:2193,1
    - Dst: memset
      Src: /src/curl/tests/server/sws.c:2197,1
    - Dst: htons
      Src: /src/curl/tests/server/sws.c:2200,1
    - Dst: bind
      Src: /src/curl/tests/server/sws.c:2201,1
    - Dst: bind_unix_socket
      Src: /src/curl/tests/server/sws.c:2206,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2213,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:2214,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2217,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:2218,1
    - Dst: memset
      Src: /src/curl/tests/server/sws.c:2235,1
    - Dst: getsockname
      Src: /src/curl/tests/server/sws.c:2236,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2238,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:2239,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:2240,1
    - Dst: ntohs
      Src: /src/curl/tests/server/sws.c:2245,1
    - Dst: ntohs
      Src: /src/curl/tests/server/sws.c:2249,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2257,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2258,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2259,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2260,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:2261,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sws.c:2268,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2270,1
    - Dst: listen
      Src: /src/curl/tests/server/sws.c:2274,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2277,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:2278,1
    - Dst: write_pidfile
      Src: /src/curl/tests/server/sws.c:2292,1
    - Dst: write_portfile
      Src: /src/curl/tests/server/sws.c:2296,1
    - Dst: init_httprequest
      Src: /src/curl/tests/server/sws.c:2304,1
    - Dst: memmove
      Src: /src/curl/tests/server/sws.c:2320,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sws.c:2329,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sws.c:2330,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sws.c:2338,1
    - Dst: select
      Src: /src/curl/tests/server/sws.c:2350,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2358,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:2359,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sws.c:2370,1
    - Dst: accept_connection
      Src: /src/curl/tests/server/sws.c:2374,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2375,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/sws.c:2380,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sws.c:2387,1
    - Dst: service_connection
      Src: /src/curl/tests/server/sws.c:2394,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2400,1
    - Dst: sws_storerequest
      Src: /src/curl/tests/server/sws.c:2404,1
    - Dst: strlen
      Src: /src/curl/tests/server/sws.c:2404,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/sws.c:2412,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:2415,1
    - Dst: clear_advisor_read_lock
      Src: /src/curl/tests/server/sws.c:2421,1
    - Dst: init_httprequest
      Src: /src/curl/tests/server/sws.c:2442,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:2456,1
    - Dst: sclose
      Src: /src/curl/tests/server/sws.c:2459,1
    - Dst: unlink
      Src: /src/curl/tests/server/sws.c:2463,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2464,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sws.c:2465,1
    - Dst: free
      Src: /src/curl/tests/server/sws.c:2469,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2472,1
    - Dst: unlink
      Src: /src/curl/tests/server/sws.c:2475,1
    - Dst: unlink
      Src: /src/curl/tests/server/sws.c:2477,1
    - Dst: clear_advisor_read_lock
      Src: /src/curl/tests/server/sws.c:2481,1
    - Dst: restore_signal_handlers
      Src: /src/curl/tests/server/sws.c:2484,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2487,1
    - Dst: our_getpid
      Src: /src/curl/tests/server/sws.c:2488,1
    - Dst: raise
      Src: /src/curl/tests/server/sws.c:2494,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sws.c:2497,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 333
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2499
      start: 1976
    functionDepth: 8
    functionLinenumber: 1976
    functionLinenumberEnd: 2499
    functionName: test_sws
    functionSourceFile: /src/curl/tests/server/sws.c
    functionUses: 0
    functionsReached:
    - service_connection
    - unlink
    - FD_SET
    - install_signal_handlers
    - getsockname
    - sclose
    - raise
    - calloc
    - curlx_nonblock
    - curlx_wait_ms
    - sws_storerequest
    - ntohs
    - FD_ISSET
    - write_portfile
    - accept_connection
    - listen
    - logmsg
    - memmove
    - strlen
    - snprintf
    - free
    - strcmp
    - bind_unix_socket
    - atoi
    - setsockopt
    - write_pidfile
    - puts
    - bind
    - curlx_strerror
    - our_getpid
    - socket
    - win32_init
    - FD_ZERO
    - fprintf
    - init_httprequest
    - restore_signal_handlers
    - memset
    - htons
    - select
    - clear_advisor_read_lock
    linkageType: ''
    returnType: int
    signature: int test_sws(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:114,1
    - Dst: GetStdHandle
      Src: /src/curl/tests/server/sockfilt.c:115,1
    - Dst: read
      Src: /src/curl/tests/server/sockfilt.c:118,1
    - Dst: GetConsoleMode
      Src: /src/curl/tests/server/sockfilt.c:121,1
    - Dst: ReadConsole
      Src: /src/curl/tests/server/sockfilt.c:122,1
    - Dst: curlx_uztoul
      Src: /src/curl/tests/server/sockfilt.c:122,1
    - Dst: ReadFile
      Src: /src/curl/tests/server/sockfilt.c:125,1
    - Dst: curlx_uztoul
      Src: /src/curl/tests/server/sockfilt.c:125,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/tests/server/sockfilt.c:131,1
    - Dst: GetLastError
      Src: /src/curl/tests/server/sockfilt.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: read_wincon
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - ReadConsole
    - read
    - ReadFile
    - curlx_uztoul
    - fileno
    - GetStdHandle
    - GetLastError
    - GetConsoleMode
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_wincon(int fd, void *buf, size_t count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:144,1
    - Dst: GetStdHandle
      Src: /src/curl/tests/server/sockfilt.c:145,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:147,1
    - Dst: GetStdHandle
      Src: /src/curl/tests/server/sockfilt.c:148,1
    - Dst: write
      Src: /src/curl/tests/server/sockfilt.c:151,1
    - Dst: GetConsoleMode
      Src: /src/curl/tests/server/sockfilt.c:154,1
    - Dst: WriteConsole
      Src: /src/curl/tests/server/sockfilt.c:155,1
    - Dst: curlx_uztoul
      Src: /src/curl/tests/server/sockfilt.c:155,1
    - Dst: WriteFile
      Src: /src/curl/tests/server/sockfilt.c:158,1
    - Dst: curlx_uztoul
      Src: /src/curl/tests/server/sockfilt.c:158,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/tests/server/sockfilt.c:164,1
    - Dst: GetLastError
      Src: /src/curl/tests/server/sockfilt.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: write_wincon
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - write
    - CURL_SETERRNO
    - WriteFile
    - WriteConsole
    - curlx_uztoul
    - fileno
    - GetStdHandle
    - GetLastError
    - GetConsoleMode
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t write_wincon(int fd, const void *buf, size_t count)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SOCKFILT_read
      Src: /src/curl/tests/server/sockfilt.c:193,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:198,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:209,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:213,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:214,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sockfilt.c:215,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:220,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - filedes
    - buffer
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 232
    functionName: fullread
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - SOCKFILT_read
    - curlx_strerror
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t fullread(int filedes, void *buffer, size_t nbytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SOCKFILT_write
      Src: /src/curl/tests/server/sockfilt.c:247,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:252,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:262,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:263,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sockfilt.c:264,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:269,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - filedes
    - buffer
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 281
    functionName: fullwrite
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - SOCKFILT_write
    - curlx_strerror
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t fullwrite(int filedes, const void *buffer, size_t nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fullread
      Src: /src/curl/tests/server/sockfilt.c:292,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:292,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - nbytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: read_stdin
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fullread
    - fileno
    linkageType: ''
    returnType: bool
    signature: bool read_stdin(void *buffer, size_t nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/curl/tests/server/sockfilt.c:312,1
    - Dst: fullwrite
      Src: /src/curl/tests/server/sockfilt.c:315,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:315,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - nbytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 322
    functionName: write_stdout
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fileno
    - fullwrite
    - puts
    linkageType: ''
    returnType: bool
    signature: bool write_stdout(const void *buffer, size_t nbytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/sockfilt.c:337,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sockfilt.c:343,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sockfilt.c:349,1
    - Dst: ISGRAPH
      Src: /src/curl/tests/server/sockfilt.c:349,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:358,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 366
    functionName: lograw
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - snprintf
    - ISGRAPH
    linkageType: ''
    returnType: void
    signature: void lograw(unsigned char *buffer, ssize_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_stdin
      Src: /src/curl/tests/server/sockfilt.c:379,1
    - Dst: curlx_str_hex
      Src: /src/curl/tests/server/sockfilt.c:385,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:386,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:391,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:395,1
    - Dst: read_stdin
      Src: /src/curl/tests/server/sockfilt.c:397,1
    - Dst: lograw
      Src: /src/curl/tests/server/sockfilt.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - buffer
    - maxlen
    - buffer_len
    argTypes:
    - unsigned char*
    - ssize_t
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 403
    functionName: read_data_block
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_str_hex
    - read_stdin
    - lograw
    linkageType: ''
    returnType: bool
    signature: "bool read_data_block(unsigned char *buffer, ssize_t maxlen,\n                            ssize_t
      *buffer_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/tests/server/sockfilt.c:440,1
    - Dst: GetFileType
      Src: /src/curl/tests/server/sockfilt.c:446,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/curl/tests/server/sockfilt.c:457,1
    - Dst: GetFileSize
      Src: /src/curl/tests/server/sockfilt.c:462,1
    - Dst: GetLastError
      Src: /src/curl/tests/server/sockfilt.c:464,1
    - Dst: SetFilePointer
      Src: /src/curl/tests/server/sockfilt.c:468,1
    - Dst: GetLastError
      Src: /src/curl/tests/server/sockfilt.c:470,1
    - Dst: SleepEx
      Src: /src/curl/tests/server/sockfilt.c:474,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:480,1
    - Dst: SetEvent
      Src: /src/curl/tests/server/sockfilt.c:481,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/curl/tests/server/sockfilt.c:493,1
    - Dst: GetConsoleMode
      Src: /src/curl/tests/server/sockfilt.c:496,1
    - Dst: PeekConsoleInput
      Src: /src/curl/tests/server/sockfilt.c:499,1
    - Dst: ReadConsoleInput
      Src: /src/curl/tests/server/sockfilt.c:503,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:509,1
    - Dst: SetEvent
      Src: /src/curl/tests/server/sockfilt.c:510,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/curl/tests/server/sockfilt.c:522,1
    - Dst: PeekNamedPipe
      Src: /src/curl/tests/server/sockfilt.c:526,1
    - Dst: SleepEx
      Src: /src/curl/tests/server/sockfilt.c:529,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:533,1
    - Dst: GetLastError
      Src: /src/curl/tests/server/sockfilt.c:538,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:540,1
    - Dst: SleepEx
      Src: /src/curl/tests/server/sockfilt.c:541,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:545,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:549,1
    - Dst: SetEvent
      Src: /src/curl/tests/server/sockfilt.c:550,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/curl/tests/server/sockfilt.c:556,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:558,1
    - Dst: SetEvent
      Src: /src/curl/tests/server/sockfilt.c:559,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 1
    argNames:
    - lpParameter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 565
    functionName: select_ws_wait_thread
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - SleepEx
    - SetFilePointer
    - logmsg
    - GetFileType
    - PeekNamedPipe
    - free
    - WaitForMultipleObjectsEx
    - PeekConsoleInput
    - GetFileSize
    - GetLastError
    - SetEvent
    - ReadConsoleInput
    - GetConsoleMode
    linkageType: ''
    returnType: DWORD
    signature: DWORD select_ws_wait_thread(void *lpParameter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/tests/server/sockfilt.c:572,1
    - Dst: CreateThread
      Src: /src/curl/tests/server/sockfilt.c:581,1
    - Dst: free
      Src: /src/curl/tests/server/sockfilt.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - handle
    - signal
    - abort
    argTypes:
    - HANDLE
    - HANDLE
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 590
    functionName: select_ws_wait
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - free
    - CreateThread
    - malloc
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE select_ws_wait(HANDLE handle, HANDLE signal, HANDLE abort)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: SET_SOCKERRNO
      Src: /src/curl/tests/server/sockfilt.c:615,1
    - Dst: curlx_tvtoms
      Src: /src/curl/tests/server/sockfilt.c:621,1
    - Dst: SleepEx
      Src: /src/curl/tests/server/sockfilt.c:629,1
    - Dst: CreateEvent
      Src: /src/curl/tests/server/sockfilt.c:634,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/tests/server/sockfilt.c:636,1
    - Dst: calloc
      Src: /src/curl/tests/server/sockfilt.c:641,1
    - Dst: CloseHandle
      Src: /src/curl/tests/server/sockfilt.c:643,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/tests/server/sockfilt.c:644,1
    - Dst: calloc
      Src: /src/curl/tests/server/sockfilt.c:649,1
    - Dst: CloseHandle
      Src: /src/curl/tests/server/sockfilt.c:651,1
    - Dst: free
      Src: /src/curl/tests/server/sockfilt.c:652,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/tests/server/sockfilt.c:653,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sockfilt.c:666,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sockfilt.c:667,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sockfilt.c:668,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:670,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sockfilt.c:671,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:675,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sockfilt.c:676,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:680,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sockfilt.c:681,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:688,1
    - Dst: CreateEvent
      Src: /src/curl/tests/server/sockfilt.c:689,1
    - Dst: GetStdHandle
      Src: /src/curl/tests/server/sockfilt.c:691,1
    - Dst: select_ws_wait
      Src: /src/curl/tests/server/sockfilt.c:692,1
    - Dst: CloseHandle
      Src: /src/curl/tests/server/sockfilt.c:701,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:705,1
    - Dst: GetStdHandle
      Src: /src/curl/tests/server/sockfilt.c:706,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:709,1
    - Dst: GetStdHandle
      Src: /src/curl/tests/server/sockfilt.c:710,1
    - Dst: WSACreateEvent
      Src: /src/curl/tests/server/sockfilt.c:714,1
    - Dst: send
      Src: /src/curl/tests/server/sockfilt.c:717,1
    - Dst: WSAEventSelect
      Src: /src/curl/tests/server/sockfilt.c:719,1
    - Dst: select
      Src: /src/curl/tests/server/sockfilt.c:728,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:729,1
    - Dst: WSASetEvent
      Src: /src/curl/tests/server/sockfilt.c:730,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:731,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:733,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:735,1
    - Dst: WSACloseEvent
      Src: /src/curl/tests/server/sockfilt.c:742,1
    - Dst: CreateEvent
      Src: /src/curl/tests/server/sockfilt.c:743,1
    - Dst: select_ws_wait
      Src: /src/curl/tests/server/sockfilt.c:746,1
    - Dst: CloseHandle
      Src: /src/curl/tests/server/sockfilt.c:755,1
    - Dst: WaitForMultipleObjectsEx
      Src: /src/curl/tests/server/sockfilt.c:775,1
    - Dst: SetEvent
      Src: /src/curl/tests/server/sockfilt.c:778,1
    - Dst: WaitForSingleObjectEx
      Src: /src/curl/tests/server/sockfilt.c:780,1
    - Dst: CloseHandle
      Src: /src/curl/tests/server/sockfilt.c:781,1
    - Dst: WaitForSingleObjectEx
      Src: /src/curl/tests/server/sockfilt.c:793,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:795,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:797,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:798,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:800,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:800,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:802,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:803,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/curl/tests/server/sockfilt.c:808,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:815,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:819,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:823,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:828,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:828,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:829,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:835,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:836,1
    - Dst: FD_CLR
      Src: /src/curl/tests/server/sockfilt.c:837,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:842,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:843,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:844,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:845,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:846,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:847,1
    - Dst: WSAEventSelect
      Src: /src/curl/tests/server/sockfilt.c:851,1
    - Dst: WSACloseEvent
      Src: /src/curl/tests/server/sockfilt.c:852,1
    - Dst: CloseHandle
      Src: /src/curl/tests/server/sockfilt.c:856,1
    - Dst: CloseHandle
      Src: /src/curl/tests/server/sockfilt.c:858,1
    - Dst: free
      Src: /src/curl/tests/server/sockfilt.c:860,1
    - Dst: free
      Src: /src/curl/tests/server/sockfilt.c:861,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 191
    argCount: 5
    argNames:
    - nfds
    - readfds
    - writefds
    - exceptfds
    - tv
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 864
    functionName: select_ws
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - SET_SOCKERRNO
    - FD_SET
    - curlx_tvtoms
    - WSACloseEvent
    - SetEvent
    - WSAEventSelect
    - calloc
    - CreateEvent
    - WSAEnumNetworkEvents
    - WSACreateEvent
    - FD_ISSET
    - FD_CLR
    - CloseHandle
    - logmsg
    - WSASetEvent
    - select_ws_wait
    - free
    - SleepEx
    - WaitForSingleObjectEx
    - FD_ZERO
    - WaitForMultipleObjectsEx
    - fileno
    - GetStdHandle
    - send
    - select
    linkageType: ''
    returnType: int
    signature: "int select_ws(int nfds, fd_set *readfds, fd_set *writefds,\n                     fd_set
      *exceptfds, struct timeval *tv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 866
    functionName: SOCKFILT_select
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKFILT_select(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 868
    functionName: SOCKFILT_select
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKFILT_select(a,b,c,d,e)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:879,1
    - Dst: read_stdin
      Src: /src/curl/tests/server/sockfilt.c:885,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:887,1
    - Dst: memcmp
      Src: /src/curl/tests/server/sockfilt.c:890,1
    - Dst: memcmp
      Src: /src/curl/tests/server/sockfilt.c:894,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:895,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:896,1
    - Dst: memcmp
      Src: /src/curl/tests/server/sockfilt.c:899,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:901,1
    - Dst: read_data_block
      Src: /src/curl/tests/server/sockfilt.c:902,1
    - Dst: memcmp
      Src: /src/curl/tests/server/sockfilt.c:906,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:908,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:912,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 877
    functionDepth: 4
    functionLinenumber: 877
    functionLinenumberEnd: 925
    functionName: disc_handshake
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - logmsg
    - read_stdin
    - write_stdout
    - read_data_block
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool disc_handshake(void)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:958,1
    - Dst: getppid
      Src: /src/curl/tests/server/sockfilt.c:965,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:966,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sockfilt.c:974,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sockfilt.c:975,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/sockfilt.c:976,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sockfilt.c:982,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:982,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sockfilt.c:998,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1010,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sockfilt.c:1019,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/sockfilt.c:1036,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1043,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1050,1
    - Dst: SOCKFILT_select
      Src: /src/curl/tests/server/sockfilt.c:1062,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1065,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1072,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sockfilt.c:1073,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:1082,1
    - Dst: fileno
      Src: /src/curl/tests/server/sockfilt.c:1082,1
    - Dst: read_stdin
      Src: /src/curl/tests/server/sockfilt.c:1099,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1102,1
    - Dst: memcmp
      Src: /src/curl/tests/server/sockfilt.c:1105,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1107,1
    - Dst: memcmp
      Src: /src/curl/tests/server/sockfilt.c:1111,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sockfilt.c:1114,1
    - Dst: strlen
      Src: /src/curl/tests/server/sockfilt.c:1116,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sockfilt.c:1117,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1118,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1120,1
    - Dst: memcmp
      Src: /src/curl/tests/server/sockfilt.c:1123,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1125,1
    - Dst: memcmp
      Src: /src/curl/tests/server/sockfilt.c:1128,1
    - Dst: read_data_block
      Src: /src/curl/tests/server/sockfilt.c:1130,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1137,1
    - Dst: disc_handshake
      Src: /src/curl/tests/server/sockfilt.c:1138,1
    - Dst: swrite
      Src: /src/curl/tests/server/sockfilt.c:1143,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1145,1
    - Dst: memcmp
      Src: /src/curl/tests/server/sockfilt.c:1150,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1152,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1155,1
    - Dst: sclose
      Src: /src/curl/tests/server/sockfilt.c:1156,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1164,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/sockfilt.c:1170,1
    - Dst: accept
      Src: /src/curl/tests/server/sockfilt.c:1175,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1178,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sockfilt.c:1179,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1182,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1183,1
    - Dst: sread
      Src: /src/curl/tests/server/sockfilt.c:1192,1
    - Dst: snprintf
      Src: /src/curl/tests/server/sockfilt.c:1195,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1196,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1198,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1201,1
    - Dst: lograw
      Src: /src/curl/tests/server/sockfilt.c:1202,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1206,1
    - Dst: disc_handshake
      Src: /src/curl/tests/server/sockfilt.c:1207,1
    - Dst: sclose
      Src: /src/curl/tests/server/sockfilt.c:1209,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 152
    argCount: 3
    argNames:
    - sockfdp
    - listenfd
    - mode
    argTypes:
    - curl_socket_t*
    - curl_socket_t
    - enum sockmode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 934
    functionDepth: 5
    functionLinenumber: 934
    functionLinenumberEnd: 1221
    functionName: juggle
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - read_stdin
    - swrite
    - FD_SET
    - sclose
    - sread
    - FD_ISSET
    - logmsg
    - SOCKFILT_select
    - strlen
    - write_stdout
    - snprintf
    - accept
    - getppid
    - disc_handshake
    - curlx_strerror
    - FD_ZERO
    - lograw
    - read_data_block
    - fileno
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool juggle(curl_socket_t *sockfdp,\n                   curl_socket_t
      listenfd,\n                   enum sockmode *mode)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1243,1
    - Dst: printf
      Src: /src/curl/tests/server/sockfilt.c:1244,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1253,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1257,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1262,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1267,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1272,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1279,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1287,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1291,1
    - Dst: atol
      Src: /src/curl/tests/server/sockfilt.c:1294,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1298,1
    - Dst: atoi
      Src: /src/curl/tests/server/sockfilt.c:1303,1
    - Dst: fprintf
      Src: /src/curl/tests/server/sockfilt.c:1305,1
    - Dst: strcmp
      Src: /src/curl/tests/server/sockfilt.c:1313,1
    - Dst: puts
      Src: /src/curl/tests/server/sockfilt.c:1322,1
    - Dst: win32_init
      Src: /src/curl/tests/server/sockfilt.c:1339,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/server/sockfilt.c:1343,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/server/sockfilt.c:1344,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/server/sockfilt.c:1345,1
    - Dst: install_signal_handlers
      Src: /src/curl/tests/server/sockfilt.c:1347,1
    - Dst: socket
      Src: /src/curl/tests/server/sockfilt.c:1349,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1353,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sockfilt.c:1354,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1355,1
    - Dst: memset
      Src: /src/curl/tests/server/sockfilt.c:1364,1
    - Dst: htons
      Src: /src/curl/tests/server/sockfilt.c:1366,1
    - Dst: curlx_inet_pton
      Src: /src/curl/tests/server/sockfilt.c:1370,1
    - Dst: connect
      Src: /src/curl/tests/server/sockfilt.c:1372,1
    - Dst: memset
      Src: /src/curl/tests/server/sockfilt.c:1376,1
    - Dst: htons
      Src: /src/curl/tests/server/sockfilt.c:1378,1
    - Dst: curlx_inet_pton
      Src: /src/curl/tests/server/sockfilt.c:1381,1
    - Dst: connect
      Src: /src/curl/tests/server/sockfilt.c:1383,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1391,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/sockfilt.c:1392,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1393,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1396,1
    - Dst: sockdaemon
      Src: /src/curl/tests/server/sockfilt.c:1401,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1403,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1409,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1412,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1414,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1416,1
    - Dst: write_pidfile
      Src: /src/curl/tests/server/sockfilt.c:1418,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1420,1
    - Dst: write_portfile
      Src: /src/curl/tests/server/sockfilt.c:1424,1
    - Dst: write_stdout
      Src: /src/curl/tests/server/sockfilt.c:1426,1
    - Dst: juggle
      Src: /src/curl/tests/server/sockfilt.c:1432,1
    - Dst: sclose
      Src: /src/curl/tests/server/sockfilt.c:1438,1
    - Dst: sclose
      Src: /src/curl/tests/server/sockfilt.c:1441,1
    - Dst: unlink
      Src: /src/curl/tests/server/sockfilt.c:1444,1
    - Dst: unlink
      Src: /src/curl/tests/server/sockfilt.c:1446,1
    - Dst: restore_signal_handlers
      Src: /src/curl/tests/server/sockfilt.c:1448,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1451,1
    - Dst: raise
      Src: /src/curl/tests/server/sockfilt.c:1457,1
    - Dst: logmsg
      Src: /src/curl/tests/server/sockfilt.c:1460,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 168
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1223
    functionDepth: 6
    functionLinenumber: 1223
    functionLinenumberEnd: 1462
    functionName: test_sockfilt
    functionSourceFile: /src/curl/tests/server/sockfilt.c
    functionUses: 0
    functionsReached:
    - unlink
    - CURLX_SET_BINMODE
    - install_signal_handlers
    - sclose
    - connect
    - raise
    - juggle
    - curlx_inet_pton
    - write_portfile
    - logmsg
    - sockdaemon
    - write_stdout
    - strcmp
    - printf
    - atoi
    - write_pidfile
    - puts
    - curlx_strerror
    - socket
    - win32_init
    - fprintf
    - restore_signal_handlers
    - memset
    - htons
    - atol
    linkageType: ''
    returnType: int
    signature: int test_sockfilt(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:95,1
    - Dst: strcpy
      Src: /src/curl/tests/server/socksd.c:104,1
    - Dst: strcpy
      Src: /src/curl/tests/server/socksd.c:105,1
    - Dst: strcpy
      Src: /src/curl/tests/server/socksd.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: socksd_resetdefaults
    functionSourceFile: /src/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - strcpy
    linkageType: ''
    returnType: void
    signature: void socksd_resetdefaults(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/curl/tests/server/socksd.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: shortval
    functionSourceFile: /src/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short shortval(char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/tests/server/socksd.c:117,1
    - Dst: socksd_resetdefaults
      Src: /src/curl/tests/server/socksd.c:118,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:121,1
    - Dst: fgets
      Src: /src/curl/tests/server/socksd.c:122,1
    - Dst: sscanf
      Src: /src/curl/tests/server/socksd.c:125,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:126,1
    - Dst: byteval
      Src: /src/curl/tests/server/socksd.c:127,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:128,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:130,1
    - Dst: byteval
      Src: /src/curl/tests/server/socksd.c:131,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:132,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:134,1
    - Dst: byteval
      Src: /src/curl/tests/server/socksd.c:135,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:136,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:138,1
    - Dst: strcpy
      Src: /src/curl/tests/server/socksd.c:139,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:140,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:142,1
    - Dst: shortval
      Src: /src/curl/tests/server/socksd.c:143,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:144,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:146,1
    - Dst: strcpy
      Src: /src/curl/tests/server/socksd.c:147,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:148,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:150,1
    - Dst: strcpy
      Src: /src/curl/tests/server/socksd.c:151,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:152,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:159,1
    - Dst: byteval
      Src: /src/curl/tests/server/socksd.c:160,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:161,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:163,1
    - Dst: byteval
      Src: /src/curl/tests/server/socksd.c:164,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:165,1
    - Dst: fclose
      Src: /src/curl/tests/server/socksd.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 171
    functionName: socksd_getconfig
    functionSourceFile: /src/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - socksd_resetdefaults
    - sscanf
    - shortval
    - fopen
    - strcmp
    - byteval
    - fgets
    - strcpy
    linkageType: ''
    returnType: void
    signature: void socksd_getconfig(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/curl/tests/server/socksd.c:200,1
    - Dst: memset
      Src: /src/curl/tests/server/socksd.c:203,1
    - Dst: htons
      Src: /src/curl/tests/server/socksd.c:205,1
    - Dst: curlx_inet_pton
      Src: /src/curl/tests/server/socksd.c:207,1
    - Dst: connect
      Src: /src/curl/tests/server/socksd.c:209,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:214,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/socksd.c:215,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - connectport
    - connectaddr
    argTypes:
    - unsigned short
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: socksconnect
    functionSourceFile: /src/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_strerror
    - socket
    - curlx_inet_pton
    - memset
    - htons
    - connect
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t socksconnect(unsigned short connectport,\n                                  const
      char *connectaddr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:232,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:236,1
    - Dst: socksconnect
      Src: /src/curl/tests/server/socksd.c:245,1
    - Dst: memcpy
      Src: /src/curl/tests/server/socksd.c:257,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:260,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:263,1
    - Dst: loghex
      Src: /src/curl/tests/server/socksd.c:264,1
    - Dst: sclose
      Src: /src/curl/tests/server/socksd.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - fd
    - buffer
    - rc
    argTypes:
    - curl_socket_t
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 274
    functionName: socks4
    functionSourceFile: /src/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - memcpy
    - sclose
    - socksconnect
    - loghex
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t socks4(curl_socket_t fd,\n                            unsigned
      char *buffer,\n                            ssize_t rc)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: socksd_getconfig
      Src: /src/curl/tests/server/socksd.c:289,1
    - Dst: recv
      Src: /src/curl/tests/server/socksd.c:291,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:293,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:297,1
    - Dst: loghex
      Src: /src/curl/tests/server/socksd.c:298,1
    - Dst: socks4
      Src: /src/curl/tests/server/socksd.c:301,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:304,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:309,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:314,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:321,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:324,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:331,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:334,1
    - Dst: loghex
      Src: /src/curl/tests/server/socksd.c:335,1
    - Dst: recv
      Src: /src/curl/tests/server/socksd.c:338,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:340,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:344,1
    - Dst: loghex
      Src: /src/curl/tests/server/socksd.c:345,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:359,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:363,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:368,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:373,1
    - Dst: strlen
      Src: /src/curl/tests/server/socksd.c:376,1
    - Dst: strlen
      Src: /src/curl/tests/server/socksd.c:377,1
    - Dst: memcmp
      Src: /src/curl/tests/server/socksd.c:378,1
    - Dst: memcmp
      Src: /src/curl/tests/server/socksd.c:379,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:381,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:388,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:391,1
    - Dst: loghex
      Src: /src/curl/tests/server/socksd.c:392,1
    - Dst: recv
      Src: /src/curl/tests/server/socksd.c:397,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:399,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:403,1
    - Dst: loghex
      Src: /src/curl/tests/server/socksd.c:404,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:407,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:412,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:417,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:422,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:448,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:452,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:455,1
    - Dst: fopen
      Src: /src/curl/tests/server/socksd.c:459,1
    - Dst: fprintf
      Src: /src/curl/tests/server/socksd.c:462,1
    - Dst: fprintf
      Src: /src/curl/tests/server/socksd.c:466,1
    - Dst: fprintf
      Src: /src/curl/tests/server/socksd.c:472,1
    - Dst: fprintf
      Src: /src/curl/tests/server/socksd.c:477,1
    - Dst: fprintf
      Src: /src/curl/tests/server/socksd.c:479,1
    - Dst: fclose
      Src: /src/curl/tests/server/socksd.c:482,1
    - Dst: socksconnect
      Src: /src/curl/tests/server/socksd.c:494,1
    - Dst: memcpy
      Src: /src/curl/tests/server/socksd.c:527,1
    - Dst: memcpy
      Src: /src/curl/tests/server/socksd.c:530,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:535,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:538,1
    - Dst: loghex
      Src: /src/curl/tests/server/socksd.c:539,1
    - Dst: sclose
      Src: /src/curl/tests/server/socksd.c:545,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 173
    argCount: 1
    argNames:
    - fd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 548
    functionName: sockit
    functionSourceFile: /src/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - recv
    - strlen
    - fopen
    - fprintf
    - socksd_getconfig
    - memcpy
    - sclose
    - memcmp
    - socksconnect
    - socks4
    - loghex
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t sockit(curl_socket_t fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/socksd.c:564,1
    - Dst: recv
      Src: /src/curl/tests/server/socksd.c:566,1
    - Dst: send
      Src: /src/curl/tests/server/socksd.c:568,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/socksd.c:577,1
    - Dst: recv
      Src: /src/curl/tests/server/socksd.c:579,1
    - Dst: send
      Src: /src/curl/tests/server/socksd.c:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cp
    - fds
    argTypes:
    - struct perclient*
    - fd_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 591
    functionName: tunnel
    functionSourceFile: /src/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - FD_ISSET
    - recv
    - send
    linkageType: ''
    returnType: int
    signature: int tunnel(struct perclient *cp, fd_set *fds)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/server/socksd.c:607,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:609,1
    - Dst: getppid
      Src: /src/curl/tests/server/socksd.c:615,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:616,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/socksd.c:629,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/socksd.c:630,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/socksd.c:631,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/socksd.c:638,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/socksd.c:650,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/socksd.c:661,1
    - Dst: select
      Src: /src/curl/tests/server/socksd.c:672,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:674,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:680,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/socksd.c:681,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/socksd.c:685,1
    - Dst: accept
      Src: /src/curl/tests/server/socksd.c:686,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:689,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/socksd.c:690,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:694,1
    - Dst: sockit
      Src: /src/curl/tests/server/socksd.c:696,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:698,1
    - Dst: sclose
      Src: /src/curl/tests/server/socksd.c:699,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:703,1
    - Dst: tunnel
      Src: /src/curl/tests/server/socksd.c:720,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:721,1
    - Dst: sclose
      Src: /src/curl/tests/server/socksd.c:723,1
    - Dst: sclose
      Src: /src/curl/tests/server/socksd.c:724,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 1
    argNames:
    - listenfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 733
    functionName: socksd_incoming
    functionSourceFile: /src/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_strerror
    - FD_SET
    - FD_ZERO
    - accept
    - sockit
    - FD_ISSET
    - tunnel
    - memset
    - select
    - getppid
    - sclose
    linkageType: ''
    returnType: bool
    signature: bool socksd_incoming(curl_socket_t listenfd)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:757,1
    - Dst: printf
      Src: /src/curl/tests/server/socksd.c:758,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:767,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:772,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:777,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:782,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:787,1
    - Dst: atoi
      Src: /src/curl/tests/server/socksd.c:790,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:792,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:797,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:802,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:809,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:816,1
    - Dst: strlen
      Src: /src/curl/tests/server/socksd.c:822,1
    - Dst: fprintf
      Src: /src/curl/tests/server/socksd.c:823,1
    - Dst: strcmp
      Src: /src/curl/tests/server/socksd.c:834,1
    - Dst: atol
      Src: /src/curl/tests/server/socksd.c:837,1
    - Dst: puts
      Src: /src/curl/tests/server/socksd.c:842,1
    - Dst: win32_init
      Src: /src/curl/tests/server/socksd.c:860,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/server/socksd.c:864,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/server/socksd.c:865,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/server/socksd.c:866,1
    - Dst: install_signal_handlers
      Src: /src/curl/tests/server/socksd.c:868,1
    - Dst: socket
      Src: /src/curl/tests/server/socksd.c:870,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:874,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/socksd.c:875,1
    - Dst: sockdaemon
      Src: /src/curl/tests/server/socksd.c:881,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:891,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:895,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:898,1
    - Dst: write_pidfile
      Src: /src/curl/tests/server/socksd.c:900,1
    - Dst: write_portfile
      Src: /src/curl/tests/server/socksd.c:906,1
    - Dst: socksd_incoming
      Src: /src/curl/tests/server/socksd.c:913,1
    - Dst: sclose
      Src: /src/curl/tests/server/socksd.c:919,1
    - Dst: sclose
      Src: /src/curl/tests/server/socksd.c:922,1
    - Dst: unlink
      Src: /src/curl/tests/server/socksd.c:926,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:927,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/socksd.c:928,1
    - Dst: unlink
      Src: /src/curl/tests/server/socksd.c:933,1
    - Dst: unlink
      Src: /src/curl/tests/server/socksd.c:935,1
    - Dst: restore_signal_handlers
      Src: /src/curl/tests/server/socksd.c:937,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:940,1
    - Dst: raise
      Src: /src/curl/tests/server/socksd.c:946,1
    - Dst: logmsg
      Src: /src/curl/tests/server/socksd.c:949,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 139
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 735
    functionDepth: 5
    functionLinenumber: 735
    functionLinenumberEnd: 951
    functionName: test_socksd
    functionSourceFile: /src/curl/tests/server/socksd.c
    functionUses: 0
    functionsReached:
    - unlink
    - CURLX_SET_BINMODE
    - install_signal_handlers
    - sclose
    - raise
    - write_portfile
    - logmsg
    - sockdaemon
    - strlen
    - strcmp
    - printf
    - atoi
    - write_pidfile
    - puts
    - curlx_strerror
    - socket
    - win32_init
    - fprintf
    - restore_signal_handlers
    - socksd_incoming
    - atol
    linkageType: ''
    returnType: int
    signature: int test_socksd(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/util.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: data_to_hex
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *data_to_hex(char *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/util.c:67,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: loghex
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 2
    functionsReached:
    - logmsg
    - snprintf
    linkageType: ''
    returnType: void
    signature: void loghex(unsigned char *buffer, ssize_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/tests/server/util.c:89,1
    - Dst: curlx_now
      Src: /src/curl/tests/server/util.c:93,1
    - Dst: time
      Src: /src/curl/tests/server/util.c:95,1
    - Dst: localtime
      Src: /src/curl/tests/server/util.c:100,1
    - Dst: snprintf
      Src: /src/curl/tests/server/util.c:102,1
    - Dst: va_start
      Src: /src/curl/tests/server/util.c:106,1
    - Dst: vsnprintf
      Src: /src/curl/tests/server/util.c:111,1
    - Dst: va_end
      Src: /src/curl/tests/server/util.c:115,1
    - Dst: fopen
      Src: /src/curl/tests/server/util.c:118,1
    - Dst: fprintf
      Src: /src/curl/tests/server/util.c:122,1
    - Dst: fclose
      Src: /src/curl/tests/server/util.c:123,1
    - Dst: fprintf
      Src: /src/curl/tests/server/util.c:128,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:129,1
    - Dst: fprintf
      Src: /src/curl/tests/server/util.c:130,1
    - Dst: fprintf
      Src: /src/curl/tests/server/util.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 133
    functionName: logmsg
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 31
    functionsReached:
    - localtime
    - fclose
    - curlx_strerror
    - va_start
    - snprintf
    - curlx_now
    - fopen
    - fprintf
    - va_end
    - vsnprintf
    - time
    linkageType: ''
    returnType: void
    signature: void logmsg(const char *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/curl/tests/server/util.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: byteval
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - atoi
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char byteval(char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_winapi_strerror
      Src: /src/curl/tests/server/util.c:147,1
    - Dst: fprintf
      Src: /src/curl/tests/server/util.c:149,1
    - Dst: fprintf
      Src: /src/curl/tests/server/util.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: win32_perror
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - curlx_winapi_strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void win32_perror(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/curl/tests/server/util.c:156,1
    - Dst: _flushall
      Src: /src/curl/tests/server/util.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: win32_cleanup
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - _flushall
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void win32_cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now_init
      Src: /src/curl/tests/server/util.c:165,1
    - Dst: MAKEWORD
      Src: /src/curl/tests/server/util.c:172,1
    - Dst: WSAStartup
      Src: /src/curl/tests/server/util.c:173,1
    - Dst: win32_perror
      Src: /src/curl/tests/server/util.c:176,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:177,1
    - Dst: LOBYTE
      Src: /src/curl/tests/server/util.c:181,1
    - Dst: LOBYTE
      Src: /src/curl/tests/server/util.c:181,1
    - Dst: HIBYTE
      Src: /src/curl/tests/server/util.c:182,1
    - Dst: HIBYTE
      Src: /src/curl/tests/server/util.c:182,1
    - Dst: WSACleanup
      Src: /src/curl/tests/server/util.c:183,1
    - Dst: win32_perror
      Src: /src/curl/tests/server/util.c:184,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:185,1
    - Dst: atexit
      Src: /src/curl/tests/server/util.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 192
    functionName: win32_init
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - logmsg
    - WSAStartup
    - curlx_now_init
    - atexit
    - win32_perror
    - WSACleanup
    - HIBYTE
    - LOBYTE
    - MAKEWORD
    linkageType: ''
    returnType: int
    signature: int win32_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/util.c:201,1
    - Dst: fopen
      Src: /src/curl/tests/server/util.c:202,1
    - Dst: snprintf
      Src: /src/curl/tests/server/util.c:207,1
    - Dst: fopen
      Src: /src/curl/tests/server/util.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - testno
    - logdir2
    argTypes:
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: test2fopen
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 2
    functionsReached:
    - snprintf
    - fopen
    linkageType: ''
    returnType: FILE
    signature: FILE *test2fopen(long testno, const char *logdir2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: t_getpid
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t_getpid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: t_getpid
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t_getpid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t_getpid
      Src: /src/curl/tests/server/util.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: our_getpid
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 2
    functionsReached:
    - t_getpid
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t our_getpid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: our_getpid
      Src: /src/curl/tests/server/util.c:238,1
    - Dst: fopen
      Src: /src/curl/tests/server/util.c:239,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:242,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:243,1
    - Dst: fprintf
      Src: /src/curl/tests/server/util.c:246,1
    - Dst: fclose
      Src: /src/curl/tests/server/util.c:247,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 250
    functionName: write_pidfile
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - logmsg
    - fclose
    - our_getpid
    - curlx_strerror
    - fopen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int write_pidfile(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/tests/server/util.c:255,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:258,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:259,1
    - Dst: fprintf
      Src: /src/curl/tests/server/util.c:262,1
    - Dst: fclose
      Src: /src/curl/tests/server/util.c:263,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - filename
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: write_portfile
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - logmsg
    - fclose
    - curlx_strerror
    - fopen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int write_portfile(const char *filename, int port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/tests/server/util.c:276,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:280,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:281,1
    - Dst: fclose
      Src: /src/curl/tests/server/util.c:285,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:287,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 289
    functionName: set_advisor_read_lock
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - logmsg
    - fclose
    - curlx_strerror
    - fopen
    linkageType: ''
    returnType: void
    signature: void set_advisor_read_lock(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/curl/tests/server/util.c:303,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:308,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: clear_advisor_read_lock
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - logmsg
    - unlink
    - curlx_strerror
    linkageType: ''
    returnType: void
    signature: void clear_advisor_read_lock(const char *filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/curl/tests/server/util.c:372,1
    - Dst: open
      Src: /src/curl/tests/server/util.c:380,1
    - Dst: write
      Src: /src/curl/tests/server/util.c:383,1
    - Dst: close
      Src: /src/curl/tests/server/util.c:384,1
    - Dst: write
      Src: /src/curl/tests/server/util.c:388,1
    - Dst: write
      Src: /src/curl/tests/server/util.c:389,1
    - Dst: strlen
      Src: /src/curl/tests/server/util.c:389,1
    - Dst: write
      Src: /src/curl/tests/server/util.c:390,1
    - Dst: SetEvent
      Src: /src/curl/tests/server/util.c:398,1
    - Dst: signal
      Src: /src/curl/tests/server/util.c:401,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/tests/server/util.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 403
    functionName: exit_signal_handler
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - write
    - strlen
    - CURL_SETERRNO
    - open
    - SetEvent
    - signal
    - close
    linkageType: ''
    returnType: void
    signature: void exit_signal_handler(int signum)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:426,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:447,1
    - Dst: raise
      Src: /src/curl/tests/server/util.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - dwCtrlType
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 451
    functionName: ctrl_event_handler
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - logmsg
    - raise
    linkageType: ''
    returnType: BOOL
    signature: BOOL ctrl_event_handler(DWORD dwCtrlType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PostQuitMessage
      Src: /src/curl/tests/server/util.c:474,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:478,1
    - Dst: raise
      Src: /src/curl/tests/server/util.c:479,1
    - Dst: DefWindowProc
      Src: /src/curl/tests/server/util.c:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - hwnd
    - uMsg
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 483
    functionName: main_window_proc
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - logmsg
    - PostQuitMessage
    - DefWindowProc
    - raise
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT main_window_proc(HWND hwnd, UINT uMsg,\n                                         WPARAM
      wParam, LPARAM lParam)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/curl/tests/server/util.c:492,1
    - Dst: TEXT
      Src: /src/curl/tests/server/util.c:495,1
    - Dst: RegisterClass
      Src: /src/curl/tests/server/util.c:496,1
    - Dst: win32_perror
      Src: /src/curl/tests/server/util.c:497,1
    - Dst: CreateWindowEx
      Src: /src/curl/tests/server/util.c:501,1
    - Dst: TEXT
      Src: /src/curl/tests/server/util.c:501,1
    - Dst: TEXT
      Src: /src/curl/tests/server/util.c:502,1
    - Dst: win32_perror
      Src: /src/curl/tests/server/util.c:509,1
    - Dst: GetMessage
      Src: /src/curl/tests/server/util.c:514,1
    - Dst: win32_perror
      Src: /src/curl/tests/server/util.c:516,1
    - Dst: DestroyWindow
      Src: /src/curl/tests/server/util.c:521,1
    - Dst: TranslateMessage
      Src: /src/curl/tests/server/util.c:523,1
    - Dst: DispatchMessage
      Src: /src/curl/tests/server/util.c:524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - lpParameter
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 531
    functionName: main_window_loop
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - CreateWindowEx
    - TEXT
    - win32_perror
    - DispatchMessage
    - RegisterClass
    - TranslateMessage
    - ZeroMemory
    - GetMessage
    - DestroyWindow
    linkageType: ''
    returnType: DWORD
    signature: DWORD main_window_loop(void *lpParameter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/server/util.c:541,1
    - Dst: sigemptyset
      Src: /src/curl/tests/server/util.c:543,1
    - Dst: sigaddset
      Src: /src/curl/tests/server/util.c:544,1
    - Dst: sigaction
      Src: /src/curl/tests/server/util.c:547,1
    - Dst: signal
      Src: /src/curl/tests/server/util.c:552,1
    - Dst: siginterrupt
      Src: /src/curl/tests/server/util.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - signum
    - handler
    - restartable
    argTypes:
    - int
    - SIGHANDLER_T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 563
    functionName: set_signal
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 0
    functionsReached:
    - sigaction
    - sigemptyset
    - memset
    - siginterrupt
    - sigaddset
    - signal
    linkageType: ''
    returnType: SIGHANDLER_T
    signature: "SIGHANDLER_T set_signal(int signum, SIGHANDLER_T handler,\n                               bool
      restartable)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CreateEvent
      Src: /src/curl/tests/server/util.c:572,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:574,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:578,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:580,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:581,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:585,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:587,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:588,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:593,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:595,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:596,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:603,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:605,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:606,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:610,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:612,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:613,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:617,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:619,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:620,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/curl/tests/server/util.c:624,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:625,1
    - Dst: CreateThread
      Src: /src/curl/tests/server/util.c:629,1
    - Dst: GetModuleHandle
      Src: /src/curl/tests/server/util.c:630,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:632,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - keep_sigalrm
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 635
    functionName: install_signal_handlers
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - logmsg
    - CreateThread
    - CreateEvent
    - curlx_strerror
    - SetConsoleCtrlHandler
    - set_signal
    - GetModuleHandle
    linkageType: ''
    returnType: void
    signature: void install_signal_handlers(bool keep_sigalrm)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:641,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:645,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:650,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:657,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:661,1
    - Dst: set_signal
      Src: /src/curl/tests/server/util.c:665,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/curl/tests/server/util.c:669,1
    - Dst: PostThreadMessage
      Src: /src/curl/tests/server/util.c:673,1
    - Dst: WaitForSingleObjectEx
      Src: /src/curl/tests/server/util.c:674,1
    - Dst: CloseHandle
      Src: /src/curl/tests/server/util.c:675,1
    - Dst: CloseHandle
      Src: /src/curl/tests/server/util.c:683,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - keep_sigalrm
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 689
    functionName: restore_signal_handlers
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 3
    functionsReached:
    - WaitForSingleObjectEx
    - PostThreadMessage
    - SetConsoleCtrlHandler
    - set_signal
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void restore_signal_handlers(bool keep_sigalrm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/server/util.c:699,1
    - Dst: memset
      Src: /src/curl/tests/server/util.c:701,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:704,1
    - Dst: strcpy
      Src: /src/curl/tests/server/util.c:707,1
    - Dst: bind
      Src: /src/curl/tests/server/util.c:708,1
    - Dst: socket
      Src: /src/curl/tests/server/util.c:712,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:714,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:715,1
    - Dst: connect
      Src: /src/curl/tests/server/util.c:719,1
    - Dst: sclose
      Src: /src/curl/tests/server/util.c:721,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:723,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:724,1
    - Dst: curlx_win32_stat
      Src: /src/curl/tests/server/util.c:730,1
    - Dst: lstat
      Src: /src/curl/tests/server/util.c:732,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:735,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:736,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:741,1
    - Dst: unlink
      Src: /src/curl/tests/server/util.c:746,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:748,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:749,1
    - Dst: bind
      Src: /src/curl/tests/server/util.c:753,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - sock
    - unix_socket
    - sau
    argTypes:
    - curl_socket_t
    - char*
    - struct sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 756
    functionName: bind_unix_socket
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 1
    functionsReached:
    - logmsg
    - lstat
    - bind
    - strlen
    - curlx_strerror
    - connect
    - socket
    - curlx_win32_stat
    - unlink
    - memset
    - sclose
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int bind_unix_socket(curl_socket_t sock, const char *unix_socket,\n
      \                    struct sockaddr_un *sau)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/curl/tests/server/util.c:782,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:786,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:787,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/util.c:789,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:793,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:794,1
    - Dst: sclose
      Src: /src/curl/tests/server/util.c:795,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:799,1
    - Dst: sclose
      Src: /src/curl/tests/server/util.c:800,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:810,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:812,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:813,1
    - Dst: memset
      Src: /src/curl/tests/server/util.c:821,1
    - Dst: htons
      Src: /src/curl/tests/server/util.c:824,1
    - Dst: bind
      Src: /src/curl/tests/server/util.c:825,1
    - Dst: memset
      Src: /src/curl/tests/server/util.c:829,1
    - Dst: htons
      Src: /src/curl/tests/server/util.c:832,1
    - Dst: bind
      Src: /src/curl/tests/server/util.c:833,1
    - Dst: bind_unix_socket
      Src: /src/curl/tests/server/util.c:838,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:849,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:850,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:853,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:854,1
    - Dst: sclose
      Src: /src/curl/tests/server/util.c:855,1
    - Dst: memset
      Src: /src/curl/tests/server/util.c:874,1
    - Dst: getsockname
      Src: /src/curl/tests/server/util.c:875,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:877,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:878,1
    - Dst: sclose
      Src: /src/curl/tests/server/util.c:879,1
    - Dst: ntohs
      Src: /src/curl/tests/server/util.c:884,1
    - Dst: ntohs
      Src: /src/curl/tests/server/util.c:888,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:896,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:897,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:898,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:899,1
    - Dst: sclose
      Src: /src/curl/tests/server/util.c:900,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:907,1
    - Dst: listen
      Src: /src/curl/tests/server/util.c:912,1
    - Dst: logmsg
      Src: /src/curl/tests/server/util.c:915,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/util.c:916,1
    - Dst: sclose
      Src: /src/curl/tests/server/util.c:917,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 102
    argCount: 4
    argNames:
    - sock
    - listenport
    - unix_socket
    - bind_only
    argTypes:
    - curl_socket_t
    - unsigned short*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 759
    functionDepth: 3
    functionLinenumber: 759
    functionLinenumberEnd: 922
    functionName: sockdaemon
    functionSourceFile: /src/curl/tests/server/util.c
    functionUses: 2
    functionsReached:
    - logmsg
    - bind
    - curlx_wait_ms
    - curlx_strerror
    - getsockname
    - ntohs
    - bind_unix_socket
    - memset
    - htons
    - setsockopt
    - sclose
    - listen
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t sockdaemon(curl_socket_t sock,\n                         unsigned
      short *listenport,\n                         const char *unix_socket,\n                         bool
      bind_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - size
    argTypes:
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: get16bit
    functionSourceFile: /src/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: "unsigned short get16bit(const unsigned char **pkt,\n                               size_t
      *size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pkt
    - size
    argTypes:
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: qname
    functionSourceFile: /src/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int qname(const unsigned char **pkt, size_t *size)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - qtype
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: type2string
    functionSourceFile: /src/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *type2string(unsigned short qtype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/dnsd.c:102,1
    - Dst: fopen
      Src: /src/curl/tests/server/dnsd.c:105,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:109,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/dnsd.c:110,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:111,1
    - Dst: get16bit
      Src: /src/curl/tests/server/dnsd.c:132,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:136,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:137,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:138,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:139,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:140,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:141,1
    - Dst: get16bit
      Src: /src/curl/tests/server/dnsd.c:143,1
    - Dst: qname
      Src: /src/curl/tests/server/dnsd.c:152,1
    - Dst: get16bit
      Src: /src/curl/tests/server/dnsd.c:153,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:154,1
    - Dst: type2string
      Src: /src/curl/tests/server/dnsd.c:154,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:156,1
    - Dst: type2string
      Src: /src/curl/tests/server/dnsd.c:157,1
    - Dst: get16bit
      Src: /src/curl/tests/server/dnsd.c:159,1
    - Dst: memcpy
      Src: /src/curl/tests/server/dnsd.c:162,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:165,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:168,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:170,1
    - Dst: fclose
      Src: /src/curl/tests/server/dnsd.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 6
    argNames:
    - data
    - size
    - qbuf
    - qlen
    - qtype
    - idp
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - unsigned short*
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 176
    functionName: store_incoming
    functionSourceFile: /src/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - curlx_strerror
    - snprintf
    - type2string
    - fopen
    - fprintf
    - memcpy
    - get16bit
    - qname
    linkageType: ''
    returnType: int
    signature: "int store_incoming(const unsigned char *data, size_t size,\n                          unsigned
      char *qbuf, size_t *qlen,\n                          unsigned short *qtype,
      unsigned short *idp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/tests/server/dnsd.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - bytes
    - w
    - a
    - alen
    - qtype
    argTypes:
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 210
    functionName: add_answer
    functionSourceFile: /src/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void add_answer(unsigned char *bytes, size_t *w,\n                       const
      unsigned char *a, size_t alen,\n                       unsigned short qtype)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/tests/server/dnsd.c:271,1
    - Dst: add_answer
      Src: /src/curl/tests/server/dnsd.c:280,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:281,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/tests/server/dnsd.c:282,1
    - Dst: add_answer
      Src: /src/curl/tests/server/dnsd.c:289,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:290,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/tests/server/dnsd.c:291,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:305,1
    - Dst: sendto
      Src: /src/curl/tests/server/dnsd.c:308,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 7
    argNames:
    - sock
    - addr
    - addrlen
    - qbuf
    - qlen
    - qtype
    - id
    argTypes:
    - curl_socket_t
    - struct sockaddr*
    - curl_socklen_t
    - unsigned char*
    - size_t
    - unsigned short
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 314
    functionName: send_response
    functionSourceFile: /src/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - sendto
    - fprintf
    - memcpy
    - add_answer
    - curlx_inet_ntop
    linkageType: ''
    returnType: int
    signature: "int send_response(curl_socket_t sock,\n                         const
      struct sockaddr *addr, curl_socklen_t addrlen,\n                         unsigned
      char *qbuf, size_t qlen,\n                         unsigned short qtype, unsigned
      short id)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/dnsd.c:321,1
    - Dst: fopen
      Src: /src/curl/tests/server/dnsd.c:322,1
    - Dst: fgets
      Src: /src/curl/tests/server/dnsd.c:327,1
    - Dst: strchr
      Src: /src/curl/tests/server/dnsd.c:328,1
    - Dst: strncmp
      Src: /src/curl/tests/server/dnsd.c:332,1
    - Dst: curlx_inet_pton
      Src: /src/curl/tests/server/dnsd.c:333,1
    - Dst: strncmp
      Src: /src/curl/tests/server/dnsd.c:336,1
    - Dst: strchr
      Src: /src/curl/tests/server/dnsd.c:339,1
    - Dst: curlx_inet_pton
      Src: /src/curl/tests/server/dnsd.c:344,1
    - Dst: strncmp
      Src: /src/curl/tests/server/dnsd.c:347,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:368,1
    - Dst: fclose
      Src: /src/curl/tests/server/dnsd.c:372,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:375,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 376
    functionName: read_instructions
    functionSourceFile: /src/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - strchr
    - snprintf
    - curlx_inet_pton
    - fopen
    - fgets
    - strncmp
    linkageType: ''
    returnType: void
    signature: void read_instructions(void)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/server/dnsd.c:396,1
    - Dst: strcmp
      Src: /src/curl/tests/server/dnsd.c:400,1
    - Dst: printf
      Src: /src/curl/tests/server/dnsd.c:401,1
    - Dst: strcmp
      Src: /src/curl/tests/server/dnsd.c:410,1
    - Dst: strcmp
      Src: /src/curl/tests/server/dnsd.c:415,1
    - Dst: strcmp
      Src: /src/curl/tests/server/dnsd.c:420,1
    - Dst: strcmp
      Src: /src/curl/tests/server/dnsd.c:425,1
    - Dst: strcmp
      Src: /src/curl/tests/server/dnsd.c:430,1
    - Dst: strcmp
      Src: /src/curl/tests/server/dnsd.c:437,1
    - Dst: strcmp
      Src: /src/curl/tests/server/dnsd.c:444,1
    - Dst: atoi
      Src: /src/curl/tests/server/dnsd.c:447,1
    - Dst: fprintf
      Src: /src/curl/tests/server/dnsd.c:453,1
    - Dst: puts
      Src: /src/curl/tests/server/dnsd.c:454,1
    - Dst: snprintf
      Src: /src/curl/tests/server/dnsd.c:467,1
    - Dst: win32_init
      Src: /src/curl/tests/server/dnsd.c:471,1
    - Dst: socket
      Src: /src/curl/tests/server/dnsd.c:478,1
    - Dst: socket
      Src: /src/curl/tests/server/dnsd.c:481,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:486,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/dnsd.c:487,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/dnsd.c:493,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:496,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/dnsd.c:497,1
    - Dst: memset
      Src: /src/curl/tests/server/dnsd.c:505,1
    - Dst: htons
      Src: /src/curl/tests/server/dnsd.c:508,1
    - Dst: bind
      Src: /src/curl/tests/server/dnsd.c:509,1
    - Dst: memset
      Src: /src/curl/tests/server/dnsd.c:513,1
    - Dst: htons
      Src: /src/curl/tests/server/dnsd.c:516,1
    - Dst: bind
      Src: /src/curl/tests/server/dnsd.c:517,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:522,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/dnsd.c:523,1
    - Dst: memset
      Src: /src/curl/tests/server/dnsd.c:541,1
    - Dst: getsockname
      Src: /src/curl/tests/server/dnsd.c:542,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:544,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/dnsd.c:545,1
    - Dst: sclose
      Src: /src/curl/tests/server/dnsd.c:546,1
    - Dst: ntohs
      Src: /src/curl/tests/server/dnsd.c:551,1
    - Dst: ntohs
      Src: /src/curl/tests/server/dnsd.c:555,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:563,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:564,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:565,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:566,1
    - Dst: write_pidfile
      Src: /src/curl/tests/server/dnsd.c:572,1
    - Dst: write_portfile
      Src: /src/curl/tests/server/dnsd.c:579,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:586,1
    - Dst: recvfrom
      Src: /src/curl/tests/server/dnsd.c:605,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:610,1
    - Dst: read_instructions
      Src: /src/curl/tests/server/dnsd.c:617,1
    - Dst: store_incoming
      Src: /src/curl/tests/server/dnsd.c:619,1
    - Dst: set_advisor_read_lock
      Src: /src/curl/tests/server/dnsd.c:621,1
    - Dst: send_response
      Src: /src/curl/tests/server/dnsd.c:624,1
    - Dst: clear_advisor_read_lock
      Src: /src/curl/tests/server/dnsd.c:631,1
    - Dst: sclose
      Src: /src/curl/tests/server/dnsd.c:641,1
    - Dst: sclose
      Src: /src/curl/tests/server/dnsd.c:645,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:648,1
    - Dst: unlink
      Src: /src/curl/tests/server/dnsd.c:651,1
    - Dst: unlink
      Src: /src/curl/tests/server/dnsd.c:653,1
    - Dst: clear_advisor_read_lock
      Src: /src/curl/tests/server/dnsd.c:657,1
    - Dst: restore_signal_handlers
      Src: /src/curl/tests/server/dnsd.c:660,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:663,1
    - Dst: our_getpid
      Src: /src/curl/tests/server/dnsd.c:664,1
    - Dst: raise
      Src: /src/curl/tests/server/dnsd.c:670,1
    - Dst: logmsg
      Src: /src/curl/tests/server/dnsd.c:673,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 191
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 675
    functionName: test_dnsd
    functionSourceFile: /src/curl/tests/server/dnsd.c
    functionUses: 0
    functionsReached:
    - unlink
    - store_incoming
    - getsockname
    - sclose
    - raise
    - recvfrom
    - ntohs
    - send_response
    - write_portfile
    - logmsg
    - snprintf
    - strcmp
    - printf
    - atoi
    - setsockopt
    - read_instructions
    - write_pidfile
    - puts
    - bind
    - curlx_strerror
    - our_getpid
    - socket
    - win32_init
    - fprintf
    - set_advisor_read_lock
    - restore_signal_handlers
    - memset
    - htons
    - clear_advisor_read_lock
    linkageType: ''
    returnType: int
    signature: int test_dnsd(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/server/tftpd.c:263,1
    - Dst: sigaction
      Src: /src/curl/tests/server/tftpd.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: mysignal
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - sigaction
    - memset
    linkageType: ''
    returnType: void
    signature: void mysignal(int sig, void (*handler)(int))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:275,1
    - Dst: unlink
      Src: /src/curl/tests/server/tftpd.c:281,1
    - Dst: unlink
      Src: /src/curl/tests/server/tftpd.c:285,1
    - Dst: clear_advisor_read_lock
      Src: /src/curl/tests/server/tftpd.c:289,1
    - Dst: exit
      Src: /src/curl/tests/server/tftpd.c:291,1
    - Dst: siglongjmp
      Src: /src/curl/tests/server/tftpd.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 296
    functionName: timer
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - siglongjmp
    - unlink
    - exit
    - clear_advisor_read_lock
    linkageType: ''
    returnType: void
    signature: void timer(int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: justtimeout
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void justtimeout(int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: rw_init
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tftphdr
    signature: struct tftphdr *rw_init(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rw_init
      Src: /src/curl/tests/server/tftpd.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: w_init
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 3
    functionsReached:
    - rw_init
    linkageType: ''
    returnType: struct tftphdr
    signature: struct tftphdr *w_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rw_init
      Src: /src/curl/tests/server/tftpd.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: r_init
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - rw_init
    linkageType: ''
    returnType: struct tftphdr
    signature: struct tftphdr *r_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_ahead
      Src: /src/curl/tests/server/tftpd.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - test
    - dpp
    - convert
    argTypes:
    - struct testcase*
    - struct tftphdr**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: readit
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - read_ahead
    linkageType: ''
    returnType: int
    signature: "int readit(struct testcase *test, struct tftphdr * volatile *dpp,\n
      \                 int convert /* if true, convert to ASCII */)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/curl/tests/server/tftpd.c:372,1
    - Dst: memcpy
      Src: /src/curl/tests/server/tftpd.c:373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - test
    - convert
    argTypes:
    - struct testcase*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 408
    functionName: read_ahead
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - memcpy
    - CURLMIN
    linkageType: ''
    returnType: void
    signature: "void read_ahead(struct testcase *test,\n                       int
      convert /* if true, convert to ASCII */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_behind
      Src: /src/curl/tests/server/tftpd.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - test
    - dpp
    - ct
    - convert
    argTypes:
    - struct testcase*
    - struct tftphdr**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: writeit
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - write_behind
    linkageType: ''
    returnType: int
    signature: "int writeit(struct testcase *test, struct tftphdr * volatile *dpp,\n
      \                  int ct, int convert)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/tftpd.c:447,1
    - Dst: open
      Src: /src/curl/tests/server/tftpd.c:448,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:450,1
    - Dst: write
      Src: /src/curl/tests/server/tftpd.c:468,1
    - Dst: lseek
      Src: /src/curl/tests/server/tftpd.c:476,1
    - Dst: write
      Src: /src/curl/tests/server/tftpd.c:484,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - test
    - convert
    argTypes:
    - struct testcase*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 490
    functionName: write_behind
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - logmsg
    - write
    - lseek
    - snprintf
    - open
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t write_behind(struct testcase *test, int convert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IoctlSocket
      Src: /src/curl/tests/server/tftpd.c:513,1
    - Dst: ioctlsocket
      Src: /src/curl/tests/server/tftpd.c:516,1
    - Dst: ioctl
      Src: /src/curl/tests/server/tftpd.c:519,1
    - Dst: recvfrom
      Src: /src/curl/tests/server/tftpd.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 538
    functionName: synchnet
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - ioctl
    - recvfrom
    - IoctlSocket
    - ioctlsocket
    linkageType: ''
    returnType: int
    signature: int synchnet(curl_socket_t f /* socket to flush */)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/tftpd.c:898,1
    - Dst: fopen
      Src: /src/curl/tests/server/tftpd.c:901,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:905,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/tftpd.c:906,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:907,1
    - Dst: fprintf
      Src: /src/curl/tests/server/tftpd.c:912,1
    - Dst: fprintf
      Src: /src/curl/tests/server/tftpd.c:940,1
    - Dst: nak
      Src: /src/curl/tests/server/tftpd.c:953,1
    - Dst: fclose
      Src: /src/curl/tests/server/tftpd.c:954,1
    - Dst: fprintf
      Src: /src/curl/tests/server/tftpd.c:959,1
    - Dst: ISUPPER
      Src: /src/curl/tests/server/tftpd.c:962,1
    - Dst: tolower
      Src: /src/curl/tests/server/tftpd.c:963,1
    - Dst: fclose
      Src: /src/curl/tests/server/tftpd.c:966,1
    - Dst: strcmp
      Src: /src/curl/tests/server/tftpd.c:969,1
    - Dst: nak
      Src: /src/curl/tests/server/tftpd.c:972,1
    - Dst: validate_access
      Src: /src/curl/tests/server/tftpd.c:975,1
    - Dst: nak
      Src: /src/curl/tests/server/tftpd.c:977,1
    - Dst: getsockopt
      Src: /src/curl/tests/server/tftpd.c:983,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/tftpd.c:986,1
    - Dst: recvtftp
      Src: /src/curl/tests/server/tftpd.c:991,1
    - Dst: sendtftp
      Src: /src/curl/tests/server/tftpd.c:993,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/tftpd.c:997,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 3
    argNames:
    - test
    - tp
    - size
    argTypes:
    - struct testcase*
    - struct tftphdr*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 1002
    functionName: do_tftp
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - curlx_strerror
    - tolower
    - nak
    - sendtftp
    - snprintf
    - getsockopt
    - fopen
    - fprintf
    - ISUPPER
    - recvtftp
    - strcmp
    - validate_access
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int do_tftp(struct testcase *test, struct tftphdr *tp, ssize_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test2fopen
      Src: /src/curl/tests/server/tftpd.c:1010,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1014,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/tftpd.c:1015,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1016,1
    - Dst: getpart
      Src: /src/curl/tests/server/tftpd.c:1026,1
    - Dst: fclose
      Src: /src/curl/tests/server/tftpd.c:1027,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1029,1
    - Dst: sscanf
      Src: /src/curl/tests/server/tftpd.c:1036,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1037,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1041,1
    - Dst: strchr
      Src: /src/curl/tests/server/tftpd.c:1044,1
    - Dst: strchr
      Src: /src/curl/tests/server/tftpd.c:1046,1
    - Dst: free
      Src: /src/curl/tests/server/tftpd.c:1061,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct testcase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1065
    functionName: tftpd_parse_servercmd
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - getpart
    - curlx_strerror
    - test2fopen
    - sscanf
    - strchr
    - free
    linkageType: ''
    returnType: int
    signature: int tftpd_parse_servercmd(struct testcase *req)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1076,1
    - Dst: strncmp
      Src: /src/curl/tests/server/tftpd.c:1078,1
    - Dst: snprintf
      Src: /src/curl/tests/server/tftpd.c:1080,1
    - Dst: our_getpid
      Src: /src/curl/tests/server/tftpd.c:1081,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1083,1
    - Dst: strdup
      Src: /src/curl/tests/server/tftpd.c:1084,1
    - Dst: strrchr
      Src: /src/curl/tests/server/tftpd.c:1092,1
    - Dst: ISDIGIT
      Src: /src/curl/tests/server/tftpd.c:1103,1
    - Dst: atol
      Src: /src/curl/tests/server/tftpd.c:1107,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1116,1
    - Dst: tftpd_parse_servercmd
      Src: /src/curl/tests/server/tftpd.c:1120,1
    - Dst: test2fopen
      Src: /src/curl/tests/server/tftpd.c:1122,1
    - Dst: snprintf
      Src: /src/curl/tests/server/tftpd.c:1125,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1130,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/tftpd.c:1131,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1132,1
    - Dst: getpart
      Src: /src/curl/tests/server/tftpd.c:1137,1
    - Dst: fclose
      Src: /src/curl/tests/server/tftpd.c:1138,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1140,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1153,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 3
    argNames:
    - test
    - filename
    - mode
    argTypes:
    - struct testcase*
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1071
    functionDepth: 4
    functionLinenumber: 1071
    functionLinenumberEnd: 1159
    functionName: validate_access
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - logmsg
    - fclose
    - getpart
    - our_getpid
    - curlx_strerror
    - test2fopen
    - strdup
    - strrchr
    - snprintf
    - ISDIGIT
    - strncmp
    - atol
    - tftpd_parse_servercmd
    linkageType: ''
    returnType: int
    signature: "int validate_access(struct testcase *test,\n                           const
      char *filename, unsigned short mode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: r_init
      Src: /src/curl/tests/server/tftpd.c:1170,1
    - Dst: mysignal
      Src: /src/curl/tests/server/tftpd.c:1175,1
    - Dst: readit
      Src: /src/curl/tests/server/tftpd.c:1178,1
    - Dst: nak
      Src: /src/curl/tests/server/tftpd.c:1180,1
    - Dst: htons
      Src: /src/curl/tests/server/tftpd.c:1183,1
    - Dst: htons
      Src: /src/curl/tests/server/tftpd.c:1184,1
    - Dst: sigsetjmp
      Src: /src/curl/tests/server/tftpd.c:1187,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1190,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/tftpd.c:1192,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1196,1
    - Dst: swrite
      Src: /src/curl/tests/server/tftpd.c:1197,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1198,1
    - Dst: read_ahead
      Src: /src/curl/tests/server/tftpd.c:1201,1
    - Dst: alarm
      Src: /src/curl/tests/server/tftpd.c:1204,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1206,1
    - Dst: sread
      Src: /src/curl/tests/server/tftpd.c:1207,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1208,1
    - Dst: alarm
      Src: /src/curl/tests/server/tftpd.c:1210,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1215,1
    - Dst: ntohs
      Src: /src/curl/tests/server/tftpd.c:1218,1
    - Dst: ntohs
      Src: /src/curl/tests/server/tftpd.c:1219,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1222,1
    - Dst: synchnet
      Src: /src/curl/tests/server/tftpd.c:1231,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - test
    - pf
    argTypes:
    - struct testcase*
    - struct formats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1240
    functionName: sendtftp
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - logmsg
    - curlx_wait_ms
    - swrite
    - read_ahead
    - nak
    - sread
    - r_init
    - sigsetjmp
    - mysignal
    - ntohs
    - readit
    - htons
    - synchnet
    - alarm
    linkageType: ''
    returnType: void
    signature: void sendtftp(struct testcase *test, const struct formats *pf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: w_init
      Src: /src/curl/tests/server/tftpd.c:1254,1
    - Dst: mysignal
      Src: /src/curl/tests/server/tftpd.c:1256,1
    - Dst: htons
      Src: /src/curl/tests/server/tftpd.c:1261,1
    - Dst: htons
      Src: /src/curl/tests/server/tftpd.c:1262,1
    - Dst: sigsetjmp
      Src: /src/curl/tests/server/tftpd.c:1265,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1268,1
    - Dst: swrite
      Src: /src/curl/tests/server/tftpd.c:1269,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1270,1
    - Dst: write_behind
      Src: /src/curl/tests/server/tftpd.c:1273,1
    - Dst: alarm
      Src: /src/curl/tests/server/tftpd.c:1276,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1278,1
    - Dst: sread
      Src: /src/curl/tests/server/tftpd.c:1279,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1280,1
    - Dst: alarm
      Src: /src/curl/tests/server/tftpd.c:1282,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1287,1
    - Dst: ntohs
      Src: /src/curl/tests/server/tftpd.c:1290,1
    - Dst: ntohs
      Src: /src/curl/tests/server/tftpd.c:1291,1
    - Dst: synchnet
      Src: /src/curl/tests/server/tftpd.c:1299,1
    - Dst: writeit
      Src: /src/curl/tests/server/tftpd.c:1305,1
    - Dst: nak
      Src: /src/curl/tests/server/tftpd.c:1308,1
    - Dst: nak
      Src: /src/curl/tests/server/tftpd.c:1310,1
    - Dst: write_behind
      Src: /src/curl/tests/server/tftpd.c:1314,1
    - Dst: close
      Src: /src/curl/tests/server/tftpd.c:1317,1
    - Dst: htons
      Src: /src/curl/tests/server/tftpd.c:1321,1
    - Dst: htons
      Src: /src/curl/tests/server/tftpd.c:1322,1
    - Dst: swrite
      Src: /src/curl/tests/server/tftpd.c:1323,1
    - Dst: mysignal
      Src: /src/curl/tests/server/tftpd.c:1325,1
    - Dst: alarm
      Src: /src/curl/tests/server/tftpd.c:1326,1
    - Dst: sread
      Src: /src/curl/tests/server/tftpd.c:1329,1
    - Dst: alarm
      Src: /src/curl/tests/server/tftpd.c:1331,1
    - Dst: swrite
      Src: /src/curl/tests/server/tftpd.c:1338,1
    - Dst: close
      Src: /src/curl/tests/server/tftpd.c:1343,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 2
    argNames:
    - test
    - pf
    argTypes:
    - struct testcase*
    - struct formats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1245
    functionDepth: 3
    functionLinenumber: 1245
    functionLinenumberEnd: 1347
    functionName: recvtftp
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 1
    functionsReached:
    - logmsg
    - swrite
    - sread
    - nak
    - writeit
    - sigsetjmp
    - w_init
    - close
    - mysignal
    - ntohs
    - write_behind
    - htons
    - synchnet
    - alarm
    linkageType: ''
    returnType: void
    signature: void recvtftp(struct testcase *test, const struct formats *pf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/curl/tests/server/tftpd.c:1360,1
    - Dst: htons
      Src: /src/curl/tests/server/tftpd.c:1361,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/tftpd.c:1366,1
    - Dst: strlen
      Src: /src/curl/tests/server/tftpd.c:1369,1
    - Dst: memcpy
      Src: /src/curl/tests/server/tftpd.c:1373,1
    - Dst: swrite
      Src: /src/curl/tests/server/tftpd.c:1375,1
    - Dst: logmsg
      Src: /src/curl/tests/server/tftpd.c:1376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1377
    functionName: nak
    functionSourceFile: /src/curl/tests/server/tftpd.c
    functionUses: 3
    functionsReached:
    - logmsg
    - strlen
    - curlx_strerror
    - swrite
    - memcpy
    - htons
    linkageType: ''
    returnType: void
    signature: void nak(int error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: SET_RTP_PKT_CHN
    functionSourceFile: /src/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RTP_PKT_CHN(p,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: SET_RTP_PKT_LEN
    functionSourceFile: /src/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RTP_PKT_LEN(p,l)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:152,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:154,1
    - Dst: sscanf
      Src: /src/curl/tests/server/rtspd.c:160,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:169,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:172,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:177,1
    - Dst: strrchr
      Src: /src/curl/tests/server/rtspd.c:184,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:189,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:189,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:190,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:193,1
    - Dst: strncmp
      Src: /src/curl/tests/server/rtspd.c:196,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:197,1
    - Dst: strncmp
      Src: /src/curl/tests/server/rtspd.c:202,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:203,1
    - Dst: ISDIGIT
      Src: /src/curl/tests/server/rtspd.c:211,1
    - Dst: atol
      Src: /src/curl/tests/server/rtspd.c:214,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:223,1
    - Dst: test2fopen
      Src: /src/curl/tests/server/rtspd.c:225,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:230,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:231,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:232,1
    - Dst: getpart
      Src: /src/curl/tests/server/rtspd.c:248,1
    - Dst: fclose
      Src: /src/curl/tests/server/rtspd.c:249,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:251,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:258,1
    - Dst: strncmp
      Src: /src/curl/tests/server/rtspd.c:261,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:261,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:262,1
    - Dst: strncmp
      Src: /src/curl/tests/server/rtspd.c:265,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:265,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:266,1
    - Dst: strncmp
      Src: /src/curl/tests/server/rtspd.c:270,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:270,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:271,1
    - Dst: sscanf
      Src: /src/curl/tests/server/rtspd.c:274,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:275,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:277,1
    - Dst: sscanf
      Src: /src/curl/tests/server/rtspd.c:282,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:283,1
    - Dst: sscanf
      Src: /src/curl/tests/server/rtspd.c:286,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:293,1
    - Dst: malloc
      Src: /src/curl/tests/server/rtspd.c:298,1
    - Dst: SET_RTP_PKT_CHN
      Src: /src/curl/tests/server/rtspd.c:304,1
    - Dst: SET_RTP_PKT_LEN
      Src: /src/curl/tests/server/rtspd.c:307,1
    - Dst: memcpy
      Src: /src/curl/tests/server/rtspd.c:311,1
    - Dst: realloc
      Src: /src/curl/tests/server/rtspd.c:319,1
    - Dst: memcpy
      Src: /src/curl/tests/server/rtspd.c:322,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:325,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:327,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:332,1
    - Dst: strchr
      Src: /src/curl/tests/server/rtspd.c:335,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:341,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:343,1
    - Dst: sscanf
      Src: /src/curl/tests/server/rtspd.c:347,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:349,1
    - Dst: strncmp
      Src: /src/curl/tests/server/rtspd.c:355,1
    - Dst: strncmp
      Src: /src/curl/tests/server/rtspd.c:358,1
    - Dst: strchr
      Src: /src/curl/tests/server/rtspd.c:361,1
    - Dst: ISDIGIT
      Src: /src/curl/tests/server/rtspd.c:362,1
    - Dst: atol
      Src: /src/curl/tests/server/rtspd.c:363,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:371,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:379,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:382,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:387,1
    - Dst: CURL_STRNICMP
      Src: /src/curl/tests/server/rtspd.c:404,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:410,1
    - Dst: curlx_str_numblanks
      Src: /src/curl/tests/server/rtspd.c:411,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:413,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:419,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:421,1
    - Dst: CURL_STRNICMP
      Src: /src/curl/tests/server/rtspd.c:424,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:425,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:431,1
    - Dst: strchr
      Src: /src/curl/tests/server/rtspd.c:438,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:444,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:447,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:450,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:456,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:459,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:463,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:465,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:469,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:473,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:476,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:481,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:483,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:489,1
    - Dst: strncmp
      Src: /src/curl/tests/server/rtspd.c:490,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:490,1
    - Dst: strncmp
      Src: /src/curl/tests/server/rtspd.c:491,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:491,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:494,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:503,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:506,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:518,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 218
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct rtspd_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 525
    functionName: rtspd_ProcessRequest
    functionSourceFile: /src/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - getpart
    - strrchr
    - SET_RTP_PKT_LEN
    - realloc
    - strstr
    - test2fopen
    - strchr
    - SET_RTP_PKT_CHN
    - strncmp
    - logmsg
    - strlen
    - sscanf
    - memcpy
    - free
    - strcmp
    - CURL_STRNICMP
    - fclose
    - malloc
    - curlx_strerror
    - ISDIGIT
    - curlx_str_numblanks
    - atol
    linkageType: ''
    returnType: int
    signature: int rtspd_ProcessRequest(struct rtspd_httprequest *req)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/rtspd.c:538,1
    - Dst: fopen
      Src: /src/curl/tests/server/rtspd.c:546,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:550,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:551,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:552,1
    - Dst: fwrite
      Src: /src/curl/tests/server/rtspd.c:558,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:568,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:570,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:571,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:572,1
    - Dst: fclose
      Src: /src/curl/tests/server/rtspd.c:578,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:580,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:581,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - reqbuf
    - totalsize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 582
    functionName: rtspd_storerequest
    functionSourceFile: /src/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - curlx_strerror
    - fwrite
    - snprintf
    - fopen
    linkageType: ''
    returnType: void
    signature: void rtspd_storerequest(char *reqbuf, size_t totalsize)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/curl/tests/server/rtspd.c:627,1
    - Dst: curlx_uztosz
      Src: /src/curl/tests/server/rtspd.c:628,1
    - Dst: sread
      Src: /src/curl/tests/server/rtspd.c:636,1
    - Dst: sread
      Src: /src/curl/tests/server/rtspd.c:638,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:644,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:649,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:650,1
    - Dst: rtspd_storerequest
      Src: /src/curl/tests/server/rtspd.c:656,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:660,1
    - Dst: rtspd_ProcessRequest
      Src: /src/curl/tests/server/rtspd.c:665,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:669,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:676,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:682,1
    - Dst: rtspd_storerequest
      Src: /src/curl/tests/server/rtspd.c:691,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - curl_socket_t
    - struct rtspd_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 696
    functionName: rtspd_get_request
    functionSourceFile: /src/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - memmove
    - curlx_strerror
    - sread
    - curlx_uztosz
    - rtspd_storerequest
    - rtspd_ProcessRequest
    linkageType: ''
    returnType: int
    signature: int rtspd_get_request(curl_socket_t sock, struct rtspd_httprequest
      *req)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/rtspd.c:717,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:719,1
    - Dst: swrite
      Src: /src/curl/tests/server/rtspd.c:728,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:732,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:751,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:756,1
    - Dst: snprintf
      Src: /src/curl/tests/server/rtspd.c:757,1
    - Dst: our_getpid
      Src: /src/curl/tests/server/rtspd.c:758,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:759,1
    - Dst: snprintf
      Src: /src/curl/tests/server/rtspd.c:760,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:766,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:769,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:773,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:778,1
    - Dst: strlen
      Src: /src/curl/tests/server/rtspd.c:788,1
    - Dst: test2fopen
      Src: /src/curl/tests/server/rtspd.c:791,1
    - Dst: snprintf
      Src: /src/curl/tests/server/rtspd.c:794,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:797,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:798,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:799,1
    - Dst: getpart
      Src: /src/curl/tests/server/rtspd.c:803,1
    - Dst: fclose
      Src: /src/curl/tests/server/rtspd.c:804,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:806,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:813,1
    - Dst: test2fopen
      Src: /src/curl/tests/server/rtspd.c:818,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:821,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:822,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:823,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:824,1
    - Dst: getpart
      Src: /src/curl/tests/server/rtspd.c:829,1
    - Dst: fclose
      Src: /src/curl/tests/server/rtspd.c:830,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:832,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:833,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:840,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:841,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:848,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:850,1
    - Dst: strstr
      Src: /src/curl/tests/server/rtspd.c:852,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:854,1
    - Dst: fopen
      Src: /src/curl/tests/server/rtspd.c:859,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:862,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:863,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:864,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:865,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:866,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:867,1
    - Dst: swrite
      Src: /src/curl/tests/server/rtspd.c:879,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:885,1
    - Dst: fwrite
      Src: /src/curl/tests/server/rtspd.c:888,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:898,1
    - Dst: swrite
      Src: /src/curl/tests/server/rtspd.c:904,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:913,1
    - Dst: fclose
      Src: /src/curl/tests/server/rtspd.c:917,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:919,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:920,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:923,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:924,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:929,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:932,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:933,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:937,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:939,1
    - Dst: sscanf
      Src: /src/curl/tests/server/rtspd.c:947,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:948,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:949,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/server/rtspd.c:953,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:959,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:960,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:965,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:968,1
    - Dst: strchr
      Src: /src/curl/tests/server/rtspd.c:970,1
    - Dst: free
      Src: /src/curl/tests/server/rtspd.c:977,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 203
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - curl_socket_t
    - struct rtspd_httprequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 699
    functionDepth: 3
    functionLinenumber: 699
    functionLinenumberEnd: 984
    functionName: rtspd_send_doc
    functionSourceFile: /src/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - strlen
    - our_getpid
    - curlx_strerror
    - swrite
    - test2fopen
    - getpart
    - strstr
    - fwrite
    - sscanf
    - snprintf
    - curlx_wait_ms
    - fopen
    - strchr
    - free
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rtspd_send_doc(curl_socket_t sock, struct rtspd_httprequest *req)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/server/rtspd.c:1002,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:1009,1
    - Dst: printf
      Src: /src/curl/tests/server/rtspd.c:1010,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:1021,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:1026,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:1031,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:1036,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:1041,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:1048,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:1055,1
    - Dst: atol
      Src: /src/curl/tests/server/rtspd.c:1058,1
    - Dst: strcmp
      Src: /src/curl/tests/server/rtspd.c:1062,1
    - Dst: puts
      Src: /src/curl/tests/server/rtspd.c:1070,1
    - Dst: snprintf
      Src: /src/curl/tests/server/rtspd.c:1084,1
    - Dst: win32_init
      Src: /src/curl/tests/server/rtspd.c:1088,1
    - Dst: install_signal_handlers
      Src: /src/curl/tests/server/rtspd.c:1092,1
    - Dst: socket
      Src: /src/curl/tests/server/rtspd.c:1097,1
    - Dst: socket
      Src: /src/curl/tests/server/rtspd.c:1100,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1105,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:1106,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/rtspd.c:1111,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1114,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:1115,1
    - Dst: memset
      Src: /src/curl/tests/server/rtspd.c:1122,1
    - Dst: htons
      Src: /src/curl/tests/server/rtspd.c:1125,1
    - Dst: bind
      Src: /src/curl/tests/server/rtspd.c:1126,1
    - Dst: memset
      Src: /src/curl/tests/server/rtspd.c:1130,1
    - Dst: htons
      Src: /src/curl/tests/server/rtspd.c:1133,1
    - Dst: bind
      Src: /src/curl/tests/server/rtspd.c:1134,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1139,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:1140,1
    - Dst: memset
      Src: /src/curl/tests/server/rtspd.c:1157,1
    - Dst: getsockname
      Src: /src/curl/tests/server/rtspd.c:1158,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1160,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:1161,1
    - Dst: sclose
      Src: /src/curl/tests/server/rtspd.c:1162,1
    - Dst: ntohs
      Src: /src/curl/tests/server/rtspd.c:1167,1
    - Dst: ntohs
      Src: /src/curl/tests/server/rtspd.c:1171,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1179,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1180,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1181,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1182,1
    - Dst: sclose
      Src: /src/curl/tests/server/rtspd.c:1183,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1187,1
    - Dst: listen
      Src: /src/curl/tests/server/rtspd.c:1190,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1193,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:1194,1
    - Dst: write_pidfile
      Src: /src/curl/tests/server/rtspd.c:1203,1
    - Dst: write_portfile
      Src: /src/curl/tests/server/rtspd.c:1208,1
    - Dst: accept
      Src: /src/curl/tests/server/rtspd.c:1214,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1220,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/rtspd.c:1221,1
    - Dst: set_advisor_read_lock
      Src: /src/curl/tests/server/rtspd.c:1231,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1234,1
    - Dst: setsockopt
      Src: /src/curl/tests/server/rtspd.c:1242,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1244,1
    - Dst: rtspd_get_request
      Src: /src/curl/tests/server/rtspd.c:1258,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1266,1
    - Dst: rtspd_send_doc
      Src: /src/curl/tests/server/rtspd.c:1275,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1280,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1284,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1289,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1296,1
    - Dst: sclose
      Src: /src/curl/tests/server/rtspd.c:1297,1
    - Dst: clear_advisor_read_lock
      Src: /src/curl/tests/server/rtspd.c:1302,1
    - Dst: sclose
      Src: /src/curl/tests/server/rtspd.c:1312,1
    - Dst: sclose
      Src: /src/curl/tests/server/rtspd.c:1315,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1318,1
    - Dst: unlink
      Src: /src/curl/tests/server/rtspd.c:1321,1
    - Dst: unlink
      Src: /src/curl/tests/server/rtspd.c:1323,1
    - Dst: clear_advisor_read_lock
      Src: /src/curl/tests/server/rtspd.c:1327,1
    - Dst: restore_signal_handlers
      Src: /src/curl/tests/server/rtspd.c:1330,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1333,1
    - Dst: our_getpid
      Src: /src/curl/tests/server/rtspd.c:1334,1
    - Dst: raise
      Src: /src/curl/tests/server/rtspd.c:1340,1
    - Dst: logmsg
      Src: /src/curl/tests/server/rtspd.c:1343,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 227
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 987
    functionDepth: 5
    functionLinenumber: 987
    functionLinenumberEnd: 1345
    functionName: test_rtspd
    functionSourceFile: /src/curl/tests/server/rtspd.c
    functionUses: 0
    functionsReached:
    - unlink
    - install_signal_handlers
    - getsockname
    - sclose
    - raise
    - ntohs
    - write_portfile
    - listen
    - logmsg
    - rtspd_send_doc
    - snprintf
    - accept
    - strcmp
    - printf
    - setsockopt
    - write_pidfile
    - puts
    - bind
    - curlx_strerror
    - our_getpid
    - socket
    - win32_init
    - rtspd_get_request
    - set_advisor_read_lock
    - restore_signal_handlers
    - memset
    - htons
    - clear_advisor_read_lock
    - atol
    linkageType: ''
    returnType: int
    signature: int test_rtspd(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: mqttd_resetdefaults
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    linkageType: ''
    returnType: void
    signature: void mqttd_resetdefaults(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/tests/server/mqttd.c:76,1
    - Dst: mqttd_resetdefaults
      Src: /src/curl/tests/server/mqttd.c:77,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:80,1
    - Dst: fgets
      Src: /src/curl/tests/server/mqttd.c:81,1
    - Dst: sscanf
      Src: /src/curl/tests/server/mqttd.c:84,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:85,1
    - Dst: byteval
      Src: /src/curl/tests/server/mqttd.c:86,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:87,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:89,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:90,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:93,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:94,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:97,1
    - Dst: byteval
      Src: /src/curl/tests/server/mqttd.c:98,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:99,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:101,1
    - Dst: atoi
      Src: /src/curl/tests/server/mqttd.c:102,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:103,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:105,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:106,1
    - Dst: fclose
      Src: /src/curl/tests/server/mqttd.c:111,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 116
    functionName: mqttd_getconfig
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - fclose
    - sscanf
    - fopen
    - mqttd_resetdefaults
    - strcmp
    - byteval
    - fgets
    - atoi
    linkageType: ''
    returnType: void
    signature: void mqttd_getconfig(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/mqttd.c:135,1
    - Dst: fprintf
      Src: /src/curl/tests/server/mqttd.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - dir
    - prefix
    - remlen
    - output
    - buffer
    - len
    argTypes:
    - mqttdir
    - char*
    - size_t
    - FILE*
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: logprotocol
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void logprotocol(mqttdir dir,\n                        const char
      *prefix, size_t remlen,\n                        FILE *output,\n                        unsigned
      char *buffer, ssize_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/curl/tests/server/mqttd.c:156,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:158,1
    - Dst: loghex
      Src: /src/curl/tests/server/mqttd.c:159,1
    - Dst: logprotocol
      Src: /src/curl/tests/server/mqttd.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - dump
    - fd
    argTypes:
    - FILE*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: connack
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - logprotocol
    - loghex
    - swrite
    linkageType: ''
    returnType: int
    signature: int connack(FILE *dump, curl_socket_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/curl/tests/server/mqttd.c:180,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:182,1
    - Dst: loghex
      Src: /src/curl/tests/server/mqttd.c:183,1
    - Dst: logprotocol
      Src: /src/curl/tests/server/mqttd.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - dump
    - fd
    - packetid
    argTypes:
    - FILE*
    - curl_socket_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: suback
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - logprotocol
    - loghex
    - swrite
    linkageType: ''
    returnType: int
    signature: int suback(FILE *dump, curl_socket_t fd, unsigned short packetid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/curl/tests/server/mqttd.c:202,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:204,1
    - Dst: loghex
      Src: /src/curl/tests/server/mqttd.c:205,1
    - Dst: logprotocol
      Src: /src/curl/tests/server/mqttd.c:206,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - dump
    - fd
    - packetid
    argTypes:
    - FILE*
    - curl_socket_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 211
    functionName: puback
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - logprotocol
    - loghex
    - swrite
    linkageType: ''
    returnType: int
    signature: int puback(FILE *dump, curl_socket_t fd, unsigned short packetid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/curl/tests/server/mqttd.c:220,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:222,1
    - Dst: loghex
      Src: /src/curl/tests/server/mqttd.c:223,1
    - Dst: logprotocol
      Src: /src/curl/tests/server/mqttd.c:224,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dump
    - fd
    argTypes:
    - FILE*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: disconnect
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - logprotocol
    - loghex
    - swrite
    linkageType: ''
    returnType: int
    signature: int disconnect(FILE *dump, curl_socket_t fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - packetlen
    - remlength
    argTypes:
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 273
    functionName: encode_length
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    linkageType: ''
    returnType: size_t
    signature: "size_t encode_length(size_t packetlen,\n                            unsigned
      char *remlength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - buflen
    - lenbytes
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 294
    functionName: decode_length
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t decode_length(unsigned char *buffer,\n                            size_t
      buflen, size_t *lenbytes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/tests/server/mqttd.c:302,1
    - Dst: encode_length
      Src: /src/curl/tests/server/mqttd.c:321,1
    - Dst: malloc
      Src: /src/curl/tests/server/mqttd.c:325,1
    - Dst: memcpy
      Src: /src/curl/tests/server/mqttd.c:330,1
    - Dst: memcpy
      Src: /src/curl/tests/server/mqttd.c:337,1
    - Dst: memcpy
      Src: /src/curl/tests/server/mqttd.c:340,1
    - Dst: swrite
      Src: /src/curl/tests/server/mqttd.c:346,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:348,1
    - Dst: loghex
      Src: /src/curl/tests/server/mqttd.c:349,1
    - Dst: logprotocol
      Src: /src/curl/tests/server/mqttd.c:350,1
    - Dst: free
      Src: /src/curl/tests/server/mqttd.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 6
    argNames:
    - dump
    - fd
    - packetid
    - topic
    - payload
    - payloadlen
    argTypes:
    - FILE*
    - curl_socket_t
    - unsigned short
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 356
    functionName: publish
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - strlen
    - malloc
    - swrite
    - memcpy
    - free
    - logprotocol
    - encode_length
    - loghex
    linkageType: ''
    returnType: int
    signature: "int publish(FILE *dump,\n                   curl_socket_t fd, unsigned
      short packetid,\n                   char *topic, const char *payload, size_t
      payloadlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sread
      Src: /src/curl/tests/server/mqttd.c:372,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:375,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:378,1
    - Dst: loghex
      Src: /src/curl/tests/server/mqttd.c:379,1
    - Dst: sread
      Src: /src/curl/tests/server/mqttd.c:386,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:388,1
    - Dst: decode_length
      Src: /src/curl/tests/server/mqttd.c:392,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - fd
    - bytep
    - remaining_lengthp
    - remaining_length_bytesp
    argTypes:
    - curl_socket_t
    - unsigned char*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 396
    functionName: fixedheader
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - decode_length
    - loghex
    - sread
    linkageType: ''
    returnType: int
    signature: "int fixedheader(curl_socket_t fd,\n                       unsigned
      char *bytep,\n                       size_t *remaining_lengthp,\n                       size_t
      *remaining_length_bytesp)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/tests/server/mqttd.c:421,1
    - Dst: fopen
      Src: /src/curl/tests/server/mqttd.c:422,1
    - Dst: mqttd_getconfig
      Src: /src/curl/tests/server/mqttd.c:426,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:431,1
    - Dst: malloc
      Src: /src/curl/tests/server/mqttd.c:433,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:435,1
    - Dst: memset
      Src: /src/curl/tests/server/mqttd.c:438,1
    - Dst: fixedheader
      Src: /src/curl/tests/server/mqttd.c:449,1
    - Dst: realloc
      Src: /src/curl/tests/server/mqttd.c:456,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:458,1
    - Dst: sread
      Src: /src/curl/tests/server/mqttd.c:466,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:468,1
    - Dst: loghex
      Src: /src/curl/tests/server/mqttd.c:469,1
    - Dst: logprotocol
      Src: /src/curl/tests/server/mqttd.c:474,1
    - Dst: memcmp
      Src: /src/curl/tests/server/mqttd.c:477,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:478,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:491,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:499,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:507,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:513,1
    - Dst: memcpy
      Src: /src/curl/tests/server/mqttd.c:516,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:519,1
    - Dst: connack
      Src: /src/curl/tests/server/mqttd.c:524,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:525,1
    - Dst: logprotocol
      Src: /src/curl/tests/server/mqttd.c:533,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:535,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:538,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:548,1
    - Dst: memcpy
      Src: /src/curl/tests/server/mqttd.c:552,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:557,1
    - Dst: test2fopen
      Src: /src/curl/tests/server/mqttd.c:558,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:562,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/mqttd.c:563,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:564,1
    - Dst: getpart
      Src: /src/curl/tests/server/mqttd.c:567,1
    - Dst: suback
      Src: /src/curl/tests/server/mqttd.c:570,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:571,1
    - Dst: free
      Src: /src/curl/tests/server/mqttd.c:572,1
    - Dst: publish
      Src: /src/curl/tests/server/mqttd.c:576,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:577,1
    - Dst: free
      Src: /src/curl/tests/server/mqttd.c:578,1
    - Dst: free
      Src: /src/curl/tests/server/mqttd.c:581,1
    - Dst: suback
      Src: /src/curl/tests/server/mqttd.c:583,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:584,1
    - Dst: publish
      Src: /src/curl/tests/server/mqttd.c:591,1
    - Dst: strlen
      Src: /src/curl/tests/server/mqttd.c:591,1
    - Dst: disconnect
      Src: /src/curl/tests/server/mqttd.c:593,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:598,1
    - Dst: logprotocol
      Src: /src/curl/tests/server/mqttd.c:599,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:603,1
    - Dst: puback
      Src: /src/curl/tests/server/mqttd.c:607,1
    - Dst: sread
      Src: /src/curl/tests/server/mqttd.c:611,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:613,1
    - Dst: loghex
      Src: /src/curl/tests/server/mqttd.c:614,1
    - Dst: logprotocol
      Src: /src/curl/tests/server/mqttd.c:615,1
    - Dst: free
      Src: /src/curl/tests/server/mqttd.c:626,1
    - Dst: fclose
      Src: /src/curl/tests/server/mqttd.c:628,1
    - Dst: fclose
      Src: /src/curl/tests/server/mqttd.c:630,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 160
    argCount: 1
    argNames:
    - fd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 632
    functionName: mqttit
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - getpart
    - suback
    - fixedheader
    - realloc
    - test2fopen
    - sread
    - fopen
    - connack
    - puback
    - logmsg
    - publish
    - strlen
    - snprintf
    - mqttd_getconfig
    - memcpy
    - free
    - logprotocol
    - fclose
    - disconnect
    - malloc
    - curlx_strerror
    - memcmp
    - memset
    - loghex
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t mqttit(curl_socket_t fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:648,1
    - Dst: getppid
      Src: /src/curl/tests/server/mqttd.c:654,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:655,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/mqttd.c:667,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/mqttd.c:668,1
    - Dst: FD_ZERO
      Src: /src/curl/tests/server/mqttd.c:669,1
    - Dst: FD_SET
      Src: /src/curl/tests/server/mqttd.c:676,1
    - Dst: select
      Src: /src/curl/tests/server/mqttd.c:683,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:685,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:691,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/mqttd.c:692,1
    - Dst: FD_ISSET
      Src: /src/curl/tests/server/mqttd.c:696,1
    - Dst: accept
      Src: /src/curl/tests/server/mqttd.c:697,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:700,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/mqttd.c:701,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:704,1
    - Dst: set_advisor_read_lock
      Src: /src/curl/tests/server/mqttd.c:706,1
    - Dst: mqttit
      Src: /src/curl/tests/server/mqttd.c:707,1
    - Dst: clear_advisor_read_lock
      Src: /src/curl/tests/server/mqttd.c:708,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:710,1
    - Dst: sclose
      Src: /src/curl/tests/server/mqttd.c:711,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - listenfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 717
    functionName: mqttd_incoming
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - logmsg
    - curlx_strerror
    - FD_SET
    - FD_ZERO
    - accept
    - FD_ISSET
    - mqttit
    - set_advisor_read_lock
    - select
    - getppid
    - clear_advisor_read_lock
    - sclose
    linkageType: ''
    returnType: bool
    signature: bool mqttd_incoming(curl_socket_t listenfd)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:737,1
    - Dst: printf
      Src: /src/curl/tests/server/mqttd.c:738,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:747,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:752,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:757,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:762,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:767,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:772,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:779,1
    - Dst: strcmp
      Src: /src/curl/tests/server/mqttd.c:787,1
    - Dst: atoi
      Src: /src/curl/tests/server/mqttd.c:790,1
    - Dst: fprintf
      Src: /src/curl/tests/server/mqttd.c:792,1
    - Dst: puts
      Src: /src/curl/tests/server/mqttd.c:801,1
    - Dst: snprintf
      Src: /src/curl/tests/server/mqttd.c:815,1
    - Dst: win32_init
      Src: /src/curl/tests/server/mqttd.c:819,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/server/mqttd.c:823,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/server/mqttd.c:824,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/tests/server/mqttd.c:825,1
    - Dst: install_signal_handlers
      Src: /src/curl/tests/server/mqttd.c:827,1
    - Dst: socket
      Src: /src/curl/tests/server/mqttd.c:829,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:833,1
    - Dst: curlx_strerror
      Src: /src/curl/tests/server/mqttd.c:834,1
    - Dst: sockdaemon
      Src: /src/curl/tests/server/mqttd.c:840,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:847,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:848,1
    - Dst: write_pidfile
      Src: /src/curl/tests/server/mqttd.c:850,1
    - Dst: write_portfile
      Src: /src/curl/tests/server/mqttd.c:855,1
    - Dst: mqttd_incoming
      Src: /src/curl/tests/server/mqttd.c:861,1
    - Dst: sclose
      Src: /src/curl/tests/server/mqttd.c:867,1
    - Dst: sclose
      Src: /src/curl/tests/server/mqttd.c:870,1
    - Dst: unlink
      Src: /src/curl/tests/server/mqttd.c:873,1
    - Dst: unlink
      Src: /src/curl/tests/server/mqttd.c:875,1
    - Dst: restore_signal_handlers
      Src: /src/curl/tests/server/mqttd.c:877,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:880,1
    - Dst: raise
      Src: /src/curl/tests/server/mqttd.c:886,1
    - Dst: logmsg
      Src: /src/curl/tests/server/mqttd.c:889,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 114
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 719
    functionDepth: 6
    functionLinenumber: 719
    functionLinenumberEnd: 891
    functionName: test_mqttd
    functionSourceFile: /src/curl/tests/server/mqttd.c
    functionUses: 0
    functionsReached:
    - unlink
    - CURLX_SET_BINMODE
    - install_signal_handlers
    - sclose
    - raise
    - write_portfile
    - mqttd_incoming
    - logmsg
    - sockdaemon
    - snprintf
    - strcmp
    - printf
    - atoi
    - write_pidfile
    - puts
    - curlx_strerror
    - socket
    - win32_init
    - fprintf
    - restore_signal_handlers
    linkageType: ''
    returnType: int
    signature: int test_mqttd(int argc, char *argv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/server/resolve.c:43,1
    - Dst: printf
      Src: /src/curl/tests/server/resolve.c:44,1
    - Dst: strcmp
      Src: /src/curl/tests/server/resolve.c:53,1
    - Dst: puts
      Src: /src/curl/tests/server/resolve.c:59,1
    - Dst: strcmp
      Src: /src/curl/tests/server/resolve.c:63,1
    - Dst: puts
      Src: /src/curl/tests/server/resolve.c:76,1
    - Dst: win32_init
      Src: /src/curl/tests/server/resolve.c:87,1
    - Dst: socket
      Src: /src/curl/tests/server/resolve.c:94,1
    - Dst: sclose
      Src: /src/curl/tests/server/resolve.c:99,1
    - Dst: memset
      Src: /src/curl/tests/server/resolve.c:108,1
    - Dst: getaddrinfo
      Src: /src/curl/tests/server/resolve.c:112,1
    - Dst: freeaddrinfo
      Src: /src/curl/tests/server/resolve.c:114,1
    - Dst: gethostbyname
      Src: /src/curl/tests/server/resolve.c:121,1
    - Dst: CURL_UNCONST
      Src: /src/curl/tests/server/resolve.c:121,1
    - Dst: gethostbyname
      Src: /src/curl/tests/server/resolve.c:123,1
    - Dst: printf
      Src: /src/curl/tests/server/resolve.c:131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 134
    functionName: test_resolve
    functionSourceFile: /src/curl/tests/server/resolve.c
    functionUses: 0
    functionsReached:
    - gethostbyname
    - socket
    - win32_init
    - getaddrinfo
    - CURL_UNCONST
    - strcmp
    - printf
    - freeaddrinfo
    - memset
    - sclose
    - puts
    linkageType: ''
    returnType: int
    signature: int test_resolve(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit3200.c:80,1
    - Dst: curlx_dyn_init
      Src: /src/curl/tests/unit/unit3200.c:85,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/unit/unit3200.c:87,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit3200.c:88,1
    - Dst: fwrite
      Src: /src/curl/tests/unit/unit3200.c:89,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit3200.c:89,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/unit/unit3200.c:90,1
    - Dst: curlx_fopen
      Src: /src/curl/tests/unit/unit3200.c:92,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit3200.c:93,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3200.c:95,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:98,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit3200.c:99,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:100,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3200.c:100,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:102,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit3200.c:103,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:104,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3200.c:104,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:106,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit3200.c:107,1
    - Dst: curlx_dyn_len
      Src: /src/curl/tests/unit/unit3200.c:107,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:110,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit3200.c:111,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:112,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3200.c:112,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:114,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit3200.c:115,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:116,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3200.c:116,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:118,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit3200.c:119,1
    - Dst: curlx_dyn_len
      Src: /src/curl/tests/unit/unit3200.c:119,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:122,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit3200.c:123,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:124,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3200.c:124,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:126,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:127,1
    - Dst: curlx_dyn_len
      Src: /src/curl/tests/unit/unit3200.c:127,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:131,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit3200.c:132,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:133,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3200.c:133,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:135,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:136,1
    - Dst: curlx_dyn_len
      Src: /src/curl/tests/unit/unit3200.c:136,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:140,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit3200.c:141,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:142,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3200.c:142,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:144,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:145,1
    - Dst: curlx_dyn_len
      Src: /src/curl/tests/unit/unit3200.c:145,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:149,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit3200.c:150,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3200.c:151,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3200.c:151,1
    - Dst: Curl_get_line
      Src: /src/curl/tests/unit/unit3200.c:153,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit3200.c:154,1
    - Dst: curlx_dyn_len
      Src: /src/curl/tests/unit/unit3200.c:154,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit3200.c:157,1
    - Dst: curlx_dyn_free
      Src: /src/curl/tests/unit/unit3200.c:160,1
    - Dst: curlx_fclose
      Src: /src/curl/tests/unit/unit3200.c:161,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3200.c:162,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 169
    functionName: test_unit3200
    functionSourceFile: /src/curl/tests/unit/unit3200.c
    functionUses: 0
    functionsReached:
    - strlen
    - fwrite
    - curl_mfprintf
    - fail_unless
    - curlx_fopen
    - abort_unless
    - curlx_dyn_free
    - curlx_dyn_init
    - strcmp
    - CURL_ARRAYSIZE
    - curlx_dyn_ptr
    - curlx_dyn_len
    - Curl_get_line
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3200(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1600.c:33,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1600.c:34,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1600.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: t1600_setup
    functionSourceFile: /src/curl/tests/unit/unit1600.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_global_cleanup
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1600_setup(CURL **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1600.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1600.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: t1600_stop
    functionSourceFile: /src/curl/tests/unit/unit1600.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1600_stop(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit1600.c:52,1
    - Dst: t1600_setup
      Src: /src/curl/tests/unit/unit1600.c:52,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/curl/tests/unit/unit1600.c:58,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1600.c:60,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/curl/tests/unit/unit1600.c:64,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1600.c:66,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/curl/tests/unit/unit1600.c:71,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1600.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 78
    functionName: test_unit1600
    functionSourceFile: /src/curl/tests/unit/unit1600.c
    functionUses: 0
    functionsReached:
    - t1600_setup
    - Curl_ntlm_core_mk_nt_hash
    - UNITTEST_BEGIN
    - verify_memory
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1600(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1303.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1303.c:35,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1303.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: t1303_setup
    functionSourceFile: /src/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_global_cleanup
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1303_setup(struct Curl_easy **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1303.c:45,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1303.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: t1303_stop
    functionSourceFile: /src/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1303_stop(struct Curl_easy *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: NOW
    functionSourceFile: /src/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOW(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: TIMEOUTS
    functionSourceFile: /src/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMEOUTS(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit1303.c:72,1
    - Dst: t1303_setup
      Src: /src/curl/tests/unit/unit1303.c:72,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1303.c:147,1
    - Dst: NOW
      Src: /src/curl/tests/unit/unit1303.c:149,1
    - Dst: TIMEOUTS
      Src: /src/curl/tests/unit/unit1303.c:150,1
    - Dst: Curl_timeleft
      Src: /src/curl/tests/unit/unit1303.c:151,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit1303.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 157
    functionName: test_unit1303
    functionSourceFile: /src/curl/tests/unit/unit1303.c
    functionUses: 0
    functionsReached:
    - UNITTEST_BEGIN
    - Curl_timeleft
    - fail
    - NOW
    - t1303_setup
    - TIMEOUTS
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1303(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1664.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: t1664_setup
    functionSourceFile: /src/curl/tests/unit/unit1664.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1664_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:60,1
    - Dst: curlx_str_word
      Src: /src/curl/tests/unit/unit1664.c:65,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:66,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:71,1
    - Dst: curlx_str_until
      Src: /src/curl/tests/unit/unit1664.c:76,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:77,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:99,1
    - Dst: curlx_str_quotedword
      Src: /src/curl/tests/unit/unit1664.c:104,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:105,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:122,1
    - Dst: curlx_str_single
      Src: /src/curl/tests/unit/unit1664.c:126,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:127,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:144,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/tests/unit/unit1664.c:148,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:149,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:165,1
    - Dst: curlx_str_single
      Src: /src/curl/tests/unit/unit1664.c:169,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:170,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:190,1
    - Dst: curlx_str_number
      Src: /src/curl/tests/unit/unit1664.c:195,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:196,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:222,1
    - Dst: curlx_str_number
      Src: /src/curl/tests/unit/unit1664.c:227,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:228,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:262,1
    - Dst: curlx_str_hex
      Src: /src/curl/tests/unit/unit1664.c:267,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:268,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:297,1
    - Dst: curlx_str_octal
      Src: /src/curl/tests/unit/unit1664.c:302,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:303,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:333,1
    - Dst: curlx_str_number
      Src: /src/curl/tests/unit/unit1664.c:338,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:339,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:359,1
    - Dst: curlx_str_newline
      Src: /src/curl/tests/unit/unit1664.c:363,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:364,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:385,1
    - Dst: curlx_str_hex
      Src: /src/curl/tests/unit/unit1664.c:390,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:391,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:412,1
    - Dst: curlx_str_octal
      Src: /src/curl/tests/unit/unit1664.c:417,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:418,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:436,1
    - Dst: curlx_str_octal
      Src: /src/curl/tests/unit/unit1664.c:441,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:442,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:472,1
    - Dst: curlx_str_hex
      Src: /src/curl/tests/unit/unit1664.c:477,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1664.c:478,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 79
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 484
    functionName: test_unit1664
    functionSourceFile: /src/curl/tests/unit/unit1664.c
    functionUses: 0
    functionsReached:
    - curlx_str_hex
    - curlx_str_newline
    - curlx_str_octal
    - curlx_str_word
    - curlx_str_number
    - curlx_str_single
    - curl_mprintf
    - curlx_str_singlespace
    - curlx_str_until
    - curlx_str_quotedword
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1664(const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: ret2name
    functionSourceFile: /src/curl/tests/unit/unit1307.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ret2name(int i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1307.c:283,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1307.c:286,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1307.c:290,1
    - Dst: Curl_fnmatch
      Src: /src/curl/tests/unit/unit1307.c:292,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1307.c:301,1
    - Dst: ret2name
      Src: /src/curl/tests/unit/unit1307.c:303,1
    - Dst: ret2name
      Src: /src/curl/tests/unit/unit1307.c:304,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit1307.c:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 310
    functionName: test_unit1307
    functionSourceFile: /src/curl/tests/unit/unit1307.c
    functionUses: 0
    functionsReached:
    - fail
    - ret2name
    - Curl_fnmatch
    - curl_mprintf
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1307(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: testcase
    functionSourceFile: /src/curl/tests/unit/unit1307.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UNITTEST_BEGIN_SIMPLE
    signature: UNITTEST_BEGIN_SIMPLE testcase
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: test_unit1307
    functionSourceFile: /src/curl/tests/unit/unit1307.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1307(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cert_hostcheck
      Src: /src/curl/tests/unit/unit1397.c:96,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1397.c:97,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1397.c:99,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1397.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 113
    functionName: test_unit1397
    functionSourceFile: /src/curl/tests/unit/unit1397.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - Curl_cert_hostcheck
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1397(const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: splayprint
      Src: /src/curl/tests/unit/unit1309.c:36,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1309.c:39,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1309.c:42,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1309.c:50,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1309.c:52,1
    - Dst: splayprint
      Src: /src/curl/tests/unit/unit1309.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - t
    - d
    - output
    argTypes:
    - struct Curl_tree*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: splayprint
    functionSourceFile: /src/curl/tests/unit/unit1309.c
    functionUses: 1
    functionsReached:
    - splayprint
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void splayprint(struct Curl_tree *t, int d, char output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_splayset
      Src: /src/curl/tests/unit/unit1309.c:80,1
    - Dst: Curl_splayinsert
      Src: /src/curl/tests/unit/unit1309.c:81,1
    - Dst: puts
      Src: /src/curl/tests/unit/unit1309.c:84,1
    - Dst: splayprint
      Src: /src/curl/tests/unit/unit1309.c:85,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1309.c:89,1
    - Dst: splayprint
      Src: /src/curl/tests/unit/unit1309.c:90,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1309.c:91,1
    - Dst: Curl_splayget
      Src: /src/curl/tests/unit/unit1309.c:92,1
    - Dst: Curl_splayremove
      Src: /src/curl/tests/unit/unit1309.c:93,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1309.c:96,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit1309.c:97,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1309.c:101,1
    - Dst: Curl_splayset
      Src: /src/curl/tests/unit/unit1309.c:113,1
    - Dst: Curl_splayinsert
      Src: /src/curl/tests/unit/unit1309.c:114,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1309.c:120,1
    - Dst: Curl_splaygetbest
      Src: /src/curl/tests/unit/unit1309.c:122,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1309.c:124,1
    - Dst: Curl_splayget
      Src: /src/curl/tests/unit/unit1309.c:125,1
    - Dst: Curl_splayget
      Src: /src/curl/tests/unit/unit1309.c:126,1
    - Dst: Curl_splaygetbest
      Src: /src/curl/tests/unit/unit1309.c:127,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1309.c:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 134
    functionName: test_unit1309
    functionSourceFile: /src/curl/tests/unit/unit1309.c
    functionUses: 0
    functionsReached:
    - fail
    - fail_unless
    - Curl_splayremove
    - Curl_splayinsert
    - Curl_splaygetbest
    - splayprint
    - curl_mprintf
    - Curl_splayset
    - Curl_splayget
    - puts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1309(const char *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1302.c:128,1
    - Dst: curlx_base64_encode
      Src: /src/curl/tests/unit/unit1302.c:136,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1302.c:137,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1302.c:138,1
    - Dst: memcmp
      Src: /src/curl/tests/unit/unit1302.c:139,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1302.c:140,1
    - Dst: Curl_safefree
      Src: /src/curl/tests/unit/unit1302.c:143,1
    - Dst: curlx_base64_decode
      Src: /src/curl/tests/unit/unit1302.c:146,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1302.c:148,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1302.c:152,1
    - Dst: memcmp
      Src: /src/curl/tests/unit/unit1302.c:156,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1302.c:157,1
    - Dst: Curl_safefree
      Src: /src/curl/tests/unit/unit1302.c:162,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1302.c:165,1
    - Dst: curlx_base64url_encode
      Src: /src/curl/tests/unit/unit1302.c:169,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1302.c:170,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1302.c:172,1
    - Dst: memcmp
      Src: /src/curl/tests/unit/unit1302.c:175,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1302.c:176,1
    - Dst: Curl_safefree
      Src: /src/curl/tests/unit/unit1302.c:180,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1302.c:183,1
    - Dst: curlx_base64_decode
      Src: /src/curl/tests/unit/unit1302.c:189,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1302.c:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 199
    functionName: test_unit1302
    functionSourceFile: /src/curl/tests/unit/unit1302.c
    functionUses: 0
    functionsReached:
    - curlx_base64url_encode
    - Curl_safefree
    - curlx_base64_encode
    - curl_mfprintf
    - curlx_base64_decode
    - abort_unless
    - memcmp
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1302(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/tests/unit/unit1330.c:32,1
    - Dst: Curl_safefree
      Src: /src/curl/tests/unit/unit1330.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: test_unit1330
    functionSourceFile: /src/curl/tests/unit/unit1330.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1330(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1607.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: t1607_setup
    functionSourceFile: /src/curl/tests/unit/unit1607.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1607_setup(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IPV6ONLY
      Src: /src/curl/tests/unit/unit1607.c:74,1
    - Dst: IPV6ONLY
      Src: /src/curl/tests/unit/unit1607.c:77,1
    - Dst: IPV6ONLY
      Src: /src/curl/tests/unit/unit1607.c:80,1
    - Dst: IPV6ONLY
      Src: /src/curl/tests/unit/unit1607.c:83,1
    - Dst: IPV6ONLY
      Src: /src/curl/tests/unit/unit1607.c:86,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1607.c:110,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1607.c:112,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1607.c:117,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/unit/unit1607.c:123,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/unit/unit1607.c:124,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/unit/unit1607.c:126,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit1607.c:129,1
    - Dst: Curl_loadhostpairs
      Src: /src/curl/tests/unit/unit1607.c:131,1
    - Dst: curl_maprintf
      Src: /src/curl/tests/unit/unit1607.c:133,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1607.c:136,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1607.c:137,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1607.c:138,1
    - Dst: Curl_addr2string
      Src: /src/curl/tests/unit/unit1607.c:153,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1607.c:155,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1607.c:163,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1607.c:171,1
    - Dst: curl_strequal
      Src: /src/curl/tests/unit/unit1607.c:178,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1607.c:179,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1607.c:188,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1607.c:197,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1607.c:206,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1607.c:216,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/unit/unit1607.c:218,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/unit/unit1607.c:220,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1607.c:229,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/unit/unit1607.c:230,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/unit/unit1607.c:231,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 234
    functionName: test_unit1607
    functionSourceFile: /src/curl/tests/unit/unit1607.c
    functionUses: 0
    functionsReached:
    - IPV6ONLY
    - strlen
    - Curl_loadhostpairs
    - curl_strequal
    - Curl_addr2string
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_slist_free_all
    - free
    - curl_slist_append
    - curl_multi_add_handle
    - CURL_ARRAYSIZE
    - Curl_hash_pick
    - curl_easy_init
    - curl_easy_setopt
    - curl_maprintf
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1607(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: IPV6ONLY
    functionSourceFile: /src/curl/tests/unit/unit1607.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPV6ONLY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: IPV6ONLY
    functionSourceFile: /src/curl/tests/unit/unit1607.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPV6ONLY(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/unit/unit1651.c:349,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1651.c:350,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1651.c:354,1
    - Dst: Curl_extract_certinfo
      Src: /src/curl/tests/unit/unit1651.c:356,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1651.c:358,1
    - Dst: Curl_extract_certinfo
      Src: /src/curl/tests/unit/unit1651.c:366,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1651.c:371,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1651.c:373,1
    - Dst: puts
      Src: /src/curl/tests/unit/unit1651.c:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 379
    functionName: test_unit1651
    functionSourceFile: /src/curl/tests/unit/unit1651.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_easy_cleanup
    - fail_unless
    - curl_global_cleanup
    - Curl_extract_certinfo
    - curl_global_init
    - curl_easy_init
    - puts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1651(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1608.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: t1608_setup
    functionSourceFile: /src/curl/tests/unit/unit1608.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1608_setup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1608.c:53,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1608.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit1608.c:56,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1608.c:57,1
    - Dst: Curl_shuffle_addr
      Src: /src/curl/tests/unit/unit1608.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1608.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1608.c:68,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1608.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: test_unit1608
    functionSourceFile: /src/curl/tests/unit/unit1608.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    - Curl_shuffle_addr
    - abort_unless
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1608(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: test_unit1608
    functionSourceFile: /src/curl/tests/unit/unit1608.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1608(const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit2603.c:35,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2603.c:36,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2603.c:38,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2603.c:42,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2603.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2603.c:46,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2603.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - s
    - exp_s
    - name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: check_eq
    functionSourceFile: /src/curl/tests/unit/unit2603.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - strcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void check_eq(const char *s, const char *exp_s, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_h1_req_parse_init
      Src: /src/curl/tests/unit/unit2603.c:70,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit2603.c:74,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/curl/tests/unit/unit2603.c:76,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2603.c:79,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2603.c:80,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2603.c:85,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2603.c:87,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2603.c:92,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2603.c:93,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2603.c:95,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2603.c:97,1
    - Dst: check_eq
      Src: /src/curl/tests/unit/unit2603.c:100,1
    - Dst: check_eq
      Src: /src/curl/tests/unit/unit2603.c:101,1
    - Dst: check_eq
      Src: /src/curl/tests/unit/unit2603.c:102,1
    - Dst: check_eq
      Src: /src/curl/tests/unit/unit2603.c:103,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/tests/unit/unit2603.c:104,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2603.c:105,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/tests/unit/unit2603.c:106,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2603.c:107,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/curl/tests/unit/unit2603.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tcase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 112
    functionName: parse_success
    functionSourceFile: /src/curl/tests/unit/unit2603.c
    functionUses: 0
    functionsReached:
    - fail_if
    - Curl_h1_req_parse_free
    - fail
    - strlen
    - Curl_dynhds_count
    - check_eq
    - curl_mfprintf
    - Curl_h1_req_parse_read
    - Curl_h1_req_parse_init
    linkageType: ''
    returnType: void
    signature: void parse_success(const struct tcase *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_success
      Src: /src/curl/tests/unit/unit2603.c:179,1
    - Dst: parse_success
      Src: /src/curl/tests/unit/unit2603.c:180,1
    - Dst: parse_success
      Src: /src/curl/tests/unit/unit2603.c:181,1
    - Dst: parse_success
      Src: /src/curl/tests/unit/unit2603.c:182,1
    - Dst: parse_success
      Src: /src/curl/tests/unit/unit2603.c:183,1
    - Dst: parse_success
      Src: /src/curl/tests/unit/unit2603.c:184,1
    - Dst: parse_success
      Src: /src/curl/tests/unit/unit2603.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 189
    functionName: test_unit2603
    functionSourceFile: /src/curl/tests/unit/unit2603.c
    functionUses: 0
    functionsReached:
    - parse_success
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2603(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1655.c:92,1
    - Dst: doh_req_encode
      Src: /src/curl/tests/unit/unit1655.c:101,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:105,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1655.c:109,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:113,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:116,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:118,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:123,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:125,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1655.c:125,1
    - Dst: doh_req_encode
      Src: /src/curl/tests/unit/unit1655.c:145,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:146,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1655.c:147,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:148,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1655.c:148,1
    - Dst: doh_req_encode
      Src: /src/curl/tests/unit/unit1655.c:152,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:153,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1655.c:154,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:155,1
    - Dst: doh_req_encode
      Src: /src/curl/tests/unit/unit1655.c:159,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:160,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1655.c:161,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:162,1
    - Dst: doh_req_encode
      Src: /src/curl/tests/unit/unit1655.c:165,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1655.c:166,1
    - Dst: doh_req_encode
      Src: /src/curl/tests/unit/unit1655.c:169,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:170,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1655.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 177
    functionName: test_unit1655
    functionSourceFile: /src/curl/tests/unit/unit1655.c
    functionUses: 0
    functionsReached:
    - fail_if
    - doh_req_encode
    - strlen
    - fail_unless
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1655(const char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/tests/unit/unit2604.c:78,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2604.c:79,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit2604.c:80,1
    - Dst: Curl_get_pathname
      Src: /src/curl/tests/unit/unit2604.c:85,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit2604.c:86,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit2604.c:89,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit2604.c:93,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit2604.c:94,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit2604.c:98,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit2604.c:99,1
    - Dst: curl_free
      Src: /src/curl/tests/unit/unit2604.c:103,1
    - Dst: free
      Src: /src/curl/tests/unit/unit2604.c:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 112
    functionName: test_unit2604
    functionSourceFile: /src/curl/tests/unit/unit2604.c
    functionUses: 0
    functionsReached:
    - calloc
    - fail_unless
    - curl_free
    - free
    - Curl_get_pathname
    - strcmp
    - curl_mprintf
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2604(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1605.c:32,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1605.c:33,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1605.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: t1605_setup
    functionSourceFile: /src/curl/tests/unit/unit1605.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_global_cleanup
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1605_setup(CURL **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1605.c:43,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1605.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: t1605_stop
    functionSourceFile: /src/curl/tests/unit/unit1605.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1605_stop(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit1605.c:51,1
    - Dst: t1605_setup
      Src: /src/curl/tests/unit/unit1605.c:51,1
    - Dst: curl_easy_escape
      Src: /src/curl/tests/unit/unit1605.c:56,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1605.c:57,1
    - Dst: curl_easy_unescape
      Src: /src/curl/tests/unit/unit1605.c:59,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1605.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: test_unit1605
    functionSourceFile: /src/curl/tests/unit/unit1605.c
    functionUses: 0
    functionsReached:
    - UNITTEST_BEGIN
    - curl_easy_unescape
    - fail_unless
    - curl_easy_escape
    - t1605_setup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1605(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3214.c:31,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit3214.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - size
    - allowed
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: checksize
    functionSourceFile: /src/curl/tests/unit/unit3214.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void checksize(const char *name, size_t size, size_t allowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:65,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:66,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:70,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:71,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:72,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:73,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:75,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:76,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:77,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:78,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:79,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:81,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:82,1
    - Dst: checksize
      Src: /src/curl/tests/unit/unit3214.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: test_unit3214
    functionSourceFile: /src/curl/tests/unit/unit3214.c
    functionUses: 0
    functionsReached:
    - checksize
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3214(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1980.c:81,1
    - Dst: curlx_dyn_init
      Src: /src/curl/tests/unit/unit1980.c:89,1
    - Dst: canon_query
      Src: /src/curl/tests/unit/unit1980.c:91,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit1980.c:92,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1980.c:93,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1980.c:99,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1980.c:100,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1980.c:101,1
    - Dst: curlx_dyn_free
      Src: /src/curl/tests/unit/unit1980.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 108
    functionName: test_unit1980
    functionSourceFile: /src/curl/tests/unit/unit1980.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - fail_unless
    - curlx_dyn_free
    - canon_query
    - curlx_dyn_init
    - strcmp
    - CURL_ARRAYSIZE
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1980(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:32,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1661.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: test_free
    functionSourceFile: /src/curl/tests/unit/unit1661.c
    functionUses: 0
    functionsReached:
    - free
    - fail_unless
    linkageType: ''
    returnType: void
    signature: void test_free(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_init
      Src: /src/curl/tests/unit/unit1661.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bufref
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: t1661_setup
    functionSourceFile: /src/curl/tests/unit/unit1661.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1661_setup(struct bufref *bufref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_free
      Src: /src/curl/tests/unit/unit1661.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufref
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: t1661_stop
    functionSourceFile: /src/curl/tests/unit/unit1661.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_free
    linkageType: ''
    returnType: void
    signature: void t1661_stop(struct bufref *bufref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:64,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:65,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:66,1
    - Dst: malloc
      Src: /src/curl/tests/unit/unit1661.c:71,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1661.c:72,1
    - Dst: Curl_bufref_set
      Src: /src/curl/tests/unit/unit1661.c:73,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:75,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:76,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:77,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:82,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/tests/unit/unit1661.c:82,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:88,1
    - Dst: Curl_bufref_len
      Src: /src/curl/tests/unit/unit1661.c:88,1
    - Dst: Curl_bufref_memdup
      Src: /src/curl/tests/unit/unit1661.c:93,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1661.c:94,1
    - Dst: curl_easy_strerror
      Src: /src/curl/tests/unit/unit1661.c:94,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:95,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:96,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/tests/unit/unit1661.c:97,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:98,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:99,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:101,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:102,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1661.c:102,1
    - Dst: Curl_bufref_free
      Src: /src/curl/tests/unit/unit1661.c:108,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:109,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:110,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:111,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1661.c:112,1
    - Dst: UNITTEST_END
      Src: /src/curl/tests/unit/unit1661.c:114,1
    - Dst: t1661_stop
      Src: /src/curl/tests/unit/unit1661.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: test_unit1661
    functionSourceFile: /src/curl/tests/unit/unit1661.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_memdup
    - Curl_bufref_set
    - malloc
    - t1661_stop
    - curl_easy_strerror
    - Curl_bufref_free
    - fail_unless
    - abort_unless
    - Curl_bufref_ptr
    - strcmp
    - Curl_bufref_len
    - UNITTEST_END
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1661(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: test_Curl_llist_dtor
    functionSourceFile: /src/curl/tests/unit/unit1300.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_Curl_llist_dtor(void *key, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_init
      Src: /src/curl/tests/unit/unit1300.c:56,1
    - Dst: Curl_llist_init
      Src: /src/curl/tests/unit/unit1300.c:57,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:70,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1300.c:70,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:72,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:72,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:74,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:74,1
    - Dst: Curl_llist_insert_next
      Src: /src/curl/tests/unit/unit1300.c:87,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:87,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:90,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1300.c:90,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:93,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:93,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:93,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:96,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:96,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:96,1
    - Dst: Curl_llist_insert_next
      Src: /src/curl/tests/unit/unit1300.c:108,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:108,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:110,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:110,1
    - Dst: Curl_node_next
      Src: /src/curl/tests/unit/unit1300.c:110,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:110,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:113,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:113,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:113,1
    - Dst: Curl_llist_insert_next
      Src: /src/curl/tests/unit/unit1300.c:125,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:125,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:127,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:127,1
    - Dst: Curl_node_next
      Src: /src/curl/tests/unit/unit1300.c:127,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:127,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:131,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:131,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:131,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:145,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1300.c:146,1
    - Dst: Curl_node_next
      Src: /src/curl/tests/unit/unit1300.c:147,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1300.c:148,1
    - Dst: Curl_node_remove
      Src: /src/curl/tests/unit/unit1300.c:150,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:150,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:152,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1300.c:152,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:154,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:154,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1300.c:156,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:156,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:157,1
    - Dst: Curl_node_prev
      Src: /src/curl/tests/unit/unit1300.c:157,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:157,1
    - Dst: Curl_llist_insert_next
      Src: /src/curl/tests/unit/unit1300.c:170,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:170,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1300.c:172,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:173,1
    - Dst: Curl_node_next
      Src: /src/curl/tests/unit/unit1300.c:175,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:175,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1300.c:176,1
    - Dst: Curl_node_next
      Src: /src/curl/tests/unit/unit1300.c:177,1
    - Dst: Curl_node_prev
      Src: /src/curl/tests/unit/unit1300.c:178,1
    - Dst: Curl_node_uremove
      Src: /src/curl/tests/unit/unit1300.c:179,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:180,1
    - Dst: Curl_node_next
      Src: /src/curl/tests/unit/unit1300.c:180,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1300.c:182,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:183,1
    - Dst: Curl_node_prev
      Src: /src/curl/tests/unit/unit1300.c:183,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:196,1
    - Dst: Curl_node_prev
      Src: /src/curl/tests/unit/unit1300.c:197,1
    - Dst: Curl_node_remove
      Src: /src/curl/tests/unit/unit1300.c:198,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:199,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:199,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:211,1
    - Dst: Curl_node_remove
      Src: /src/curl/tests/unit/unit1300.c:212,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:213,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:213,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:215,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:215,1
    - Dst: Curl_llist_append
      Src: /src/curl/tests/unit/unit1300.c:226,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:227,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1300.c:227,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:230,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:230,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:230,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:233,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:233,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:233,1
    - Dst: Curl_llist_append
      Src: /src/curl/tests/unit/unit1300.c:244,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:245,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:245,1
    - Dst: Curl_node_next
      Src: /src/curl/tests/unit/unit1300.c:245,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:245,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:248,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:248,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:248,1
    - Dst: Curl_llist_append
      Src: /src/curl/tests/unit/unit1300.c:259,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:260,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:260,1
    - Dst: Curl_node_next
      Src: /src/curl/tests/unit/unit1300.c:260,1
    - Dst: Curl_llist_head
      Src: /src/curl/tests/unit/unit1300.c:260,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1300.c:263,1
    - Dst: Curl_node_elem
      Src: /src/curl/tests/unit/unit1300.c:263,1
    - Dst: Curl_llist_tail
      Src: /src/curl/tests/unit/unit1300.c:263,1
    - Dst: Curl_llist_destroy
      Src: /src/curl/tests/unit/unit1300.c:266,1
    - Dst: Curl_llist_destroy
      Src: /src/curl/tests/unit/unit1300.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 270
    functionName: test_unit1300
    functionSourceFile: /src/curl/tests/unit/unit1300.c
    functionUses: 0
    functionsReached:
    - Curl_llist_tail
    - Curl_llist_insert_next
    - Curl_node_prev
    - Curl_node_elem
    - fail_unless
    - Curl_llist_init
    - abort_unless
    - Curl_llist_destroy
    - Curl_llist_append
    - Curl_node_remove
    - Curl_node_next
    - Curl_llist_count
    - Curl_llist_head
    - Curl_node_uremove
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1300(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_md4it
      Src: /src/curl/tests/unit/unit1611.c:38,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1611.c:38,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1611.c:40,1
    - Dst: Curl_md4it
      Src: /src/curl/tests/unit/unit1611.c:44,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1611.c:44,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1611.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: test_unit1611
    functionSourceFile: /src/curl/tests/unit/unit1611.c
    functionUses: 0
    functionsReached:
    - Curl_md4it
    - strlen
    - verify_memory
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1611(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: test_unit1660
    functionSourceFile: /src/curl/tests/unit/unit1660.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1660(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1660.c:41,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1660.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - e
    - chost
    argTypes:
    - struct stsentry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: showsts
    functionSourceFile: /src/curl/tests/unit/unit1660.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void showsts(struct stsentry *e, const char *chost)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hsts_init
      Src: /src/curl/tests/unit/unit1660.c:115,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1660.c:121,1
    - Dst: curl_global_init
      Src: /src/curl/tests/unit/unit1660.c:123,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1660.c:124,1
    - Dst: Curl_hsts_cleanup
      Src: /src/curl/tests/unit/unit1660.c:126,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1660.c:127,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1660.c:128,1
    - Dst: Curl_hsts_loadfile
      Src: /src/curl/tests/unit/unit1660.c:131,1
    - Dst: Curl_hsts_parse
      Src: /src/curl/tests/unit/unit1660.c:135,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1660.c:138,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1660.c:144,1
    - Dst: Curl_hsts
      Src: /src/curl/tests/unit/unit1660.c:150,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1660.c:150,1
    - Dst: showsts
      Src: /src/curl/tests/unit/unit1660.c:151,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1660.c:154,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1660.c:154,1
    - Dst: Curl_hsts
      Src: /src/curl/tests/unit/unit1660.c:159,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1660.c:159,1
    - Dst: showsts
      Src: /src/curl/tests/unit/unit1660.c:160,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1660.c:164,1
    - Dst: Curl_hsts_save
      Src: /src/curl/tests/unit/unit1660.c:165,1
    - Dst: Curl_hsts_cleanup
      Src: /src/curl/tests/unit/unit1660.c:166,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1660.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1660.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 171
    functionName: test_unit1660
    functionSourceFile: /src/curl/tests/unit/unit1660.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_msnprintf
    - curl_mfprintf
    - showsts
    - curl_easy_cleanup
    - curl_global_cleanup
    - Curl_hsts_save
    - abort_unless
    - Curl_llist_count
    - curl_global_init
    - Curl_hsts_init
    - curl_mprintf
    - Curl_hsts
    - curl_easy_init
    - Curl_hsts_loadfile
    - Curl_hsts_cleanup
    - Curl_hsts_parse
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1660(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: struct
    functionSourceFile: /src/curl/tests/unit/unit1660.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UNITTEST_BEGIN_SIMPLE
    signature: UNITTEST_BEGIN_SIMPLE struct
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_md5it
      Src: /src/curl/tests/unit/unit1601.c:40,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1601.c:40,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1601.c:42,1
    - Dst: Curl_md5it
      Src: /src/curl/tests/unit/unit1601.c:45,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1601.c:45,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1601.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: test_unit1601
    functionSourceFile: /src/curl/tests/unit/unit1601.c
    functionUses: 0
    functionsReached:
    - strlen
    - Curl_md5it
    - verify_memory
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1601(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: t1603_mydtor
    functionSourceFile: /src/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1603_mydtor(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: my_elem_dtor
    functionSourceFile: /src/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void my_elem_dtor(void *key, size_t key_len, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/curl/tests/unit/unit1603.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash_static
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: t1603_setup
    functionSourceFile: /src/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached:
    - Curl_hash_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1603_setup(struct Curl_hash *hash_static)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_destroy
      Src: /src/curl/tests/unit/unit1603.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash_static
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: t1603_stop
    functionSourceFile: /src/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached:
    - Curl_hash_destroy
    linkageType: ''
    returnType: void
    signature: void t1603_stop(struct Curl_hash *hash_static)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit1603.c:64,1
    - Dst: t1603_setup
      Src: /src/curl/tests/unit/unit1603.c:64,1
    - Dst: Curl_hash_str
      Src: /src/curl/tests/unit/unit1603.c:77,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:77,1
    - Dst: Curl_hash_str
      Src: /src/curl/tests/unit/unit1603.c:78,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:78,1
    - Dst: Curl_hash_str
      Src: /src/curl/tests/unit/unit1603.c:79,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:79,1
    - Dst: Curl_hash_str
      Src: /src/curl/tests/unit/unit1603.c:80,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:80,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1603.c:81,1
    - Dst: Curl_hash_add
      Src: /src/curl/tests/unit/unit1603.c:85,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:85,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:86,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:87,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:87,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:88,1
    - Dst: Curl_hash_add
      Src: /src/curl/tests/unit/unit1603.c:90,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:90,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:91,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:92,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:92,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:93,1
    - Dst: Curl_hash_add
      Src: /src/curl/tests/unit/unit1603.c:95,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:95,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:96,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:97,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:97,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:98,1
    - Dst: Curl_hash_add
      Src: /src/curl/tests/unit/unit1603.c:101,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:101,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:102,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:103,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:103,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:104,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:107,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:107,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:108,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:109,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:109,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:110,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:111,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:111,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:112,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:113,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:113,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:114,1
    - Dst: Curl_hash_delete
      Src: /src/curl/tests/unit/unit1603.c:117,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:117,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:118,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:119,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:119,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:120,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:121,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:121,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:122,1
    - Dst: Curl_hash_add
      Src: /src/curl/tests/unit/unit1603.c:125,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:125,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:126,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:127,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:127,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:128,1
    - Dst: Curl_hash_delete
      Src: /src/curl/tests/unit/unit1603.c:131,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:131,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:132,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:133,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:133,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:134,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:135,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:135,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:136,1
    - Dst: Curl_hash_delete
      Src: /src/curl/tests/unit/unit1603.c:139,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:139,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:140,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:141,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:141,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:142,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:143,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:143,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:144,1
    - Dst: Curl_hash_delete
      Src: /src/curl/tests/unit/unit1603.c:147,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:147,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:148,1
    - Dst: Curl_hash_add
      Src: /src/curl/tests/unit/unit1603.c:151,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:151,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:152,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:153,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:153,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:154,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:157,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:157,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:158,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1603.c:159,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:159,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:160,1
    - Dst: Curl_hash_add2
      Src: /src/curl/tests/unit/unit1603.c:163,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:163,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:165,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:166,1
    - Dst: Curl_hash_add2
      Src: /src/curl/tests/unit/unit1603.c:168,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:168,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:170,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:171,1
    - Dst: Curl_hash_delete
      Src: /src/curl/tests/unit/unit1603.c:173,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1603.c:173,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:174,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1603.c:175,1
    - Dst: Curl_hash_clean
      Src: /src/curl/tests/unit/unit1603.c:178,1
    - Dst: UNITTEST_END
      Src: /src/curl/tests/unit/unit1603.c:180,1
    - Dst: t1603_stop
      Src: /src/curl/tests/unit/unit1603.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 71
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 181
    functionName: test_unit1603
    functionSourceFile: /src/curl/tests/unit/unit1603.c
    functionUses: 0
    functionsReached:
    - Curl_hash_delete
    - UNITTEST_BEGIN
    - strlen
    - t1603_setup
    - curl_mfprintf
    - Curl_hash_add
    - Curl_hash_str
    - fail_unless
    - UNITTEST_END
    - t1603_stop
    - Curl_hash_add2
    - Curl_hash_clean
    - Curl_hash_pick
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1603(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1396.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: t1396_setup
    functionSourceFile: /src/curl/tests/unit/unit1396.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1396_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1396.c:36,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1396.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: t1396_stop
    functionSourceFile: /src/curl/tests/unit/unit1396.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1396_stop(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1396.c:85,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1396.c:86,1
    - Dst: curl_easy_unescape
      Src: /src/curl/tests/unit/unit1396.c:89,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1396.c:93,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1396.c:94,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1396.c:95,1
    - Dst: memcmp
      Src: /src/curl/tests/unit/unit1396.c:95,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1396.c:98,1
    - Dst: curl_free
      Src: /src/curl/tests/unit/unit1396.c:100,1
    - Dst: curl_easy_escape
      Src: /src/curl/tests/unit/unit1396.c:105,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1396.c:106,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1396.c:108,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1396.c:109,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1396.c:110,1
    - Dst: memcmp
      Src: /src/curl/tests/unit/unit1396.c:110,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1396.c:113,1
    - Dst: curl_free
      Src: /src/curl/tests/unit/unit1396.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 119
    functionName: test_unit1396
    functionSourceFile: /src/curl/tests/unit/unit1396.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_unescape
    - fail_unless
    - curl_easy_escape
    - curl_free
    - abort_unless
    - curl_mprintf
    - memcmp
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1396(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_init
      Src: /src/curl/tests/unit/unit3212.c:35,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/curl/tests/unit/unit3212.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: t3212_setup
    functionSourceFile: /src/curl/tests/unit/unit3212.c
    functionUses: 0
    functionsReached:
    - Curl_uint_tbl_resize
    - Curl_uint_tbl_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t3212_setup(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_destroy
      Src: /src/curl/tests/unit/unit3212.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: t3212_stop
    functionSourceFile: /src/curl/tests/unit/unit3212.c
    functionUses: 0
    functionsReached:
    - Curl_uint_tbl_destroy
    linkageType: ''
    returnType: void
    signature: void t3212_stop(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit3212.c:49,1
    - Dst: t3212_setup
      Src: /src/curl/tests/unit/unit3212.c:49,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:54,1
    - Dst: Curl_uint_tbl_capacity
      Src: /src/curl/tests/unit/unit3212.c:54,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:57,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/tests/unit/unit3212.c:57,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:58,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:61,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/tests/unit/unit3212.c:61,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:62,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/tests/unit/unit3212.c:62,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/tests/unit/unit3212.c:66,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:68,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/tests/unit/unit3212.c:68,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/tests/unit/unit3212.c:72,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:73,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/tests/unit/unit3212.c:73,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:77,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/curl/tests/unit/unit3212.c:77,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:78,1
    - Dst: Curl_uint_tbl_get
      Src: /src/curl/tests/unit/unit3212.c:78,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:82,1
    - Dst: Curl_uint_tbl_first
      Src: /src/curl/tests/unit/unit3212.c:82,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:83,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:84,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:86,1
    - Dst: Curl_uint_tbl_next
      Src: /src/curl/tests/unit/unit3212.c:86,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:87,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:88,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:90,1
    - Dst: Curl_uint_tbl_next
      Src: /src/curl/tests/unit/unit3212.c:90,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:91,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:92,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/tests/unit/unit3212.c:95,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:96,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/curl/tests/unit/unit3212.c:96,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:98,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/tests/unit/unit3212.c:98,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:100,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/curl/tests/unit/unit3212.c:100,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:101,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/tests/unit/unit3212.c:101,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:103,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/curl/tests/unit/unit3212.c:103,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:104,1
    - Dst: Curl_uint_tbl_get
      Src: /src/curl/tests/unit/unit3212.c:104,1
    - Dst: Curl_uint_tbl_clear
      Src: /src/curl/tests/unit/unit3212.c:108,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:109,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/tests/unit/unit3212.c:109,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:111,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/curl/tests/unit/unit3212.c:111,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:114,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/tests/unit/unit3212.c:114,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:115,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/tests/unit/unit3212.c:117,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:118,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/tests/unit/unit3212.c:118,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:119,1
    - Dst: Curl_uint_tbl_clear
      Src: /src/curl/tests/unit/unit3212.c:121,1
    - Dst: Curl_uint_tbl_capacity
      Src: /src/curl/tests/unit/unit3212.c:122,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:123,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/tests/unit/unit3212.c:123,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:124,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/tests/unit/unit3212.c:124,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/tests/unit/unit3212.c:125,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:126,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/tests/unit/unit3212.c:126,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:127,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/tests/unit/unit3212.c:129,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:130,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/tests/unit/unit3212.c:130,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3212.c:131,1
    - Dst: UNITTEST_END
      Src: /src/curl/tests/unit/unit3212.c:133,1
    - Dst: t3212_stop
      Src: /src/curl/tests/unit/unit3212.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 62
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 134
    functionName: test_unit3212
    functionSourceFile: /src/curl/tests/unit/unit3212.c
    functionUses: 0
    functionsReached:
    - Curl_uint_tbl_add
    - UNITTEST_BEGIN
    - t3212_setup
    - Curl_uint_tbl_first
    - Curl_uint_tbl_get
    - Curl_uint_tbl_remove
    - fail_unless
    - Curl_uint_tbl_next
    - t3212_stop
    - Curl_uint_tbl_contains
    - UNITTEST_END
    - Curl_uint_tbl_resize
    - Curl_uint_tbl_count
    - Curl_uint_tbl_clear
    - Curl_uint_tbl_capacity
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3212(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1609.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: t1609_setup
    functionSourceFile: /src/curl/tests/unit/unit1609.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1609_setup(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1609.c:106,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1609.c:108,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1609.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1609.c:115,1
    - Dst: curl_multi_init
      Src: /src/curl/tests/unit/unit1609.c:120,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/tests/unit/unit1609.c:123,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/unit/unit1609.c:125,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit1609.c:129,1
    - Dst: Curl_loadhostpairs
      Src: /src/curl/tests/unit/unit1609.c:131,1
    - Dst: curl_maprintf
      Src: /src/curl/tests/unit/unit1609.c:134,1
    - Dst: Curl_hash_pick
      Src: /src/curl/tests/unit/unit1609.c:138,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1609.c:139,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1609.c:140,1
    - Dst: Curl_addr2string
      Src: /src/curl/tests/unit/unit1609.c:152,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1609.c:154,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1609.c:162,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1609.c:170,1
    - Dst: curl_strequal
      Src: /src/curl/tests/unit/unit1609.c:177,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1609.c:178,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1609.c:187,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1609.c:198,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/unit/unit1609.c:200,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/unit/unit1609.c:202,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1609.c:212,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/tests/unit/unit1609.c:213,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/unit/unit1609.c:214,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 217
    functionName: test_unit1609
    functionSourceFile: /src/curl/tests/unit/unit1609.c
    functionUses: 0
    functionsReached:
    - strlen
    - Curl_loadhostpairs
    - curl_strequal
    - Curl_addr2string
    - curl_mfprintf
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_multi_cleanup
    - curl_slist_free_all
    - free
    - curl_slist_append
    - curl_multi_add_handle
    - CURL_ARRAYSIZE
    - Curl_hash_pick
    - curl_easy_init
    - curl_easy_setopt
    - curl_maprintf
    - curl_multi_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1609(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_altsvc_init
      Src: /src/curl/tests/unit/unit1654.c:37,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1654.c:38,1
    - Dst: Curl_altsvc_load
      Src: /src/curl/tests/unit/unit1654.c:39,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:41,1
    - Dst: curl_global_init
      Src: /src/curl/tests/unit/unit1654.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1654.c:45,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:47,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:50,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:50,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1654.c:51,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:53,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:55,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:56,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:56,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:58,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:60,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:61,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:61,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:63,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:67,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:69,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:69,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:71,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:74,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:75,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:75,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:78,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:81,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:82,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:82,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:85,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:89,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:90,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:90,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:93,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:95,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:96,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:96,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:99,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:103,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:104,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:104,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:107,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:109,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1654.c:110,1
    - Dst: Curl_llist_count
      Src: /src/curl/tests/unit/unit1654.c:110,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:113,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:116,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:119,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:122,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:125,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:128,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/tests/unit/unit1654.c:131,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1654.c:134,1
    - Dst: Curl_altsvc_save
      Src: /src/curl/tests/unit/unit1654.c:136,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1654.c:138,1
    - Dst: Curl_altsvc_cleanup
      Src: /src/curl/tests/unit/unit1654.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 144
    functionName: test_unit1654
    functionSourceFile: /src/curl/tests/unit/unit1654.c
    functionUses: 0
    functionsReached:
    - fail_if
    - abort_if
    - curl_msnprintf
    - Curl_altsvc_load
    - fail_unless
    - Curl_altsvc_parse
    - curl_easy_cleanup
    - Curl_altsvc_save
    - curl_global_init
    - Curl_altsvc_init
    - curl_easy_init
    - Curl_llist_count
    - Curl_altsvc_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1654(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1979.c:108,1
    - Dst: curlx_dyn_init
      Src: /src/curl/tests/unit/unit1979.c:116,1
    - Dst: canon_path
      Src: /src/curl/tests/unit/unit1979.c:118,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1979.c:118,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit1979.c:120,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1979.c:121,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit1979.c:125,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1979.c:128,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1979.c:129,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1979.c:130,1
    - Dst: curlx_dyn_free
      Src: /src/curl/tests/unit/unit1979.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 137
    functionName: test_unit1979
    functionSourceFile: /src/curl/tests/unit/unit1979.c
    functionUses: 0
    functionsReached:
    - canon_path
    - strlen
    - curl_msnprintf
    - fail_unless
    - curlx_dyn_free
    - curlx_dyn_init
    - strcmp
    - CURL_ARRAYSIZE
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1979(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:44,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:45,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:46,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:46,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:49,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:50,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:51,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:51,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:55,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:56,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:57,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:57,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:60,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:61,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:62,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:62,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:65,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:66,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:67,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:67,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:70,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:71,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:72,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:72,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:75,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:76,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:77,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:77,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:80,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:81,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:82,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:82,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:85,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:86,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:87,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:87,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:90,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:91,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:92,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1398.c:92,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:100,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:101,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:108,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:137,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:140,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:169,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:172,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:181,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1398.c:184,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1398.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 196
    functionName: test_unit1398
    functionSourceFile: /src/curl/tests/unit/unit1398.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fail_unless
    - curl_msnprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1398(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha512_256it
      Src: /src/curl/tests/unit/unit1615.c:116,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1615.c:117,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1615.c:118,1
    - Dst: Curl_sha512_256it
      Src: /src/curl/tests/unit/unit1615.c:120,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1615.c:121,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1615.c:122,1
    - Dst: Curl_sha512_256it
      Src: /src/curl/tests/unit/unit1615.c:124,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1615.c:125,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1615.c:126,1
    - Dst: Curl_sha512_256it
      Src: /src/curl/tests/unit/unit1615.c:128,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1615.c:129,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1615.c:130,1
    - Dst: Curl_sha512_256it
      Src: /src/curl/tests/unit/unit1615.c:132,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1615.c:133,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1615.c:134,1
    - Dst: Curl_sha512_256it
      Src: /src/curl/tests/unit/unit1615.c:136,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1615.c:137,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1615.c:138,1
    - Dst: Curl_sha512_256it
      Src: /src/curl/tests/unit/unit1615.c:140,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1615.c:141,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1615.c:142,1
    - Dst: Curl_sha512_256it
      Src: /src/curl/tests/unit/unit1615.c:144,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1615.c:145,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1615.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 151
    functionName: test_unit1615
    functionSourceFile: /src/curl/tests/unit/unit1615.c
    functionUses: 0
    functionsReached:
    - verify_memory
    - CURL_ARRAYSIZE
    - Curl_sha512_256it
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1615(const char *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1650.c:154,1
    - Dst: doh_req_encode
      Src: /src/curl/tests/unit/unit1650.c:155,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:158,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1650.c:160,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:163,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:165,1
    - Dst: hexdump
      Src: /src/curl/tests/unit/unit1650.c:165,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1650.c:166,1
    - Dst: memcmp
      Src: /src/curl/tests/unit/unit1650.c:168,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:169,1
    - Dst: hexdump
      Src: /src/curl/tests/unit/unit1650.c:169,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:170,1
    - Dst: hexdump
      Src: /src/curl/tests/unit/unit1650.c:171,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1650.c:172,1
    - Dst: memcmp
      Src: /src/curl/tests/unit/unit1650.c:172,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1650.c:177,1
    - Dst: de_init
      Src: /src/curl/tests/unit/unit1650.c:183,1
    - Dst: doh_resp_decode
      Src: /src/curl/tests/unit/unit1650.c:184,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:187,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1650.c:189,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1650.c:199,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1650.c:200,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1650.c:208,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1650.c:210,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1650.c:214,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1650.c:221,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit1650.c:221,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1650.c:222,1
    - Dst: de_cleanup
      Src: /src/curl/tests/unit/unit1650.c:226,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1650.c:227,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:228,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1650.c:230,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1650.c:230,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1650.c:238,1
    - Dst: doh_resp_decode
      Src: /src/curl/tests/unit/unit1650.c:239,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:243,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1650.c:244,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1650.c:252,1
    - Dst: doh_resp_decode
      Src: /src/curl/tests/unit/unit1650.c:253,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:257,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1650.c:258,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1650.c:266,1
    - Dst: doh_resp_decode
      Src: /src/curl/tests/unit/unit1650.c:267,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1650.c:269,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1650.c:272,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1650.c:274,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1650.c:275,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1650.c:276,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1650.c:276,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1650.c:278,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 86
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 283
    functionName: test_unit1650
    functionSourceFile: /src/curl/tests/unit/unit1650.c
    functionUses: 0
    functionsReached:
    - hexdump
    - fail_if
    - doh_req_encode
    - abort_if
    - strlen
    - curl_msnprintf
    - curl_mfprintf
    - memset
    - doh_resp_decode
    - strcmp
    - de_cleanup
    - CURL_ARRAYSIZE
    - memcmp
    - de_init
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1650(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/tests/unit/unit1657.c:45,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/tests/unit/unit1657.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - spec
    - buf
    argTypes:
    - struct test1657_spec*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: make1657_nested
    functionSourceFile: /src/curl/tests/unit/unit1657.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode make1657_nested(const struct test1657_spec *spec,\n                                struct
      dynbuf *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/unit/unit1657.c:71,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/tests/unit/unit1657.c:72,1
    - Dst: struct test1657_spec*::setbuf
      Src: /src/curl/tests/unit/unit1657.c:73,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1657.c:75,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit1657.c:78,1
    - Dst: Curl_x509_getASN1Element
      Src: /src/curl/tests/unit/unit1657.c:79,1
    - Dst: curlx_dyn_len
      Src: /src/curl/tests/unit/unit1657.c:79,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1657.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - spec
    - i
    - buf
    argTypes:
    - struct test1657_spec*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: do_test1657
    functionSourceFile: /src/curl/tests/unit/unit1657.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - struct test1657_spec*::setbuf
    - curlx_dyn_reset
    - curlx_dyn_len
    - memset
    - Curl_x509_getASN1Element
    - curlx_dyn_ptr
    linkageType: ''
    returnType: bool
    signature: "bool do_test1657(const struct test1657_spec *spec, size_t i,\n                        struct
      dynbuf *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/tests/unit/unit1657.c:96,1
    - Dst: curl_global_init
      Src: /src/curl/tests/unit/unit1657.c:98,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1657.c:99,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1657.c:103,1
    - Dst: do_test1657
      Src: /src/curl/tests/unit/unit1657.c:104,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1657.c:107,1
    - Dst: curlx_dyn_free
      Src: /src/curl/tests/unit/unit1657.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1657.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 113
    functionName: test_unit1657
    functionSourceFile: /src/curl/tests/unit/unit1657.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - fail_unless
    - curl_global_cleanup
    - curlx_dyn_free
    - curlx_dyn_init
    - do_test1657
    - curl_global_init
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1657(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: test_unit1657
    functionSourceFile: /src/curl/tests/unit/unit1657.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1657(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/tests/unit/unit1616.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - elem
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: t1616_mydtor
    functionSourceFile: /src/curl/tests/unit/unit1616.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void t1616_mydtor(unsigned int id, void *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_init
      Src: /src/curl/tests/unit/unit1616.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: t1616_setup
    functionSourceFile: /src/curl/tests/unit/unit1616.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1616_setup(struct uint_hash *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_destroy
      Src: /src/curl/tests/unit/unit1616.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: t1616_stop
    functionSourceFile: /src/curl/tests/unit/unit1616.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_destroy
    linkageType: ''
    returnType: void
    signature: void t1616_stop(struct uint_hash *hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit1616.c:52,1
    - Dst: t1616_setup
      Src: /src/curl/tests/unit/unit1616.c:52,1
    - Dst: malloc
      Src: /src/curl/tests/unit/unit1616.c:61,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1616.c:62,1
    - Dst: Curl_uint_hash_set
      Src: /src/curl/tests/unit/unit1616.c:64,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1616.c:66,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1616.c:67,1
    - Dst: Curl_uint_hash_get
      Src: /src/curl/tests/unit/unit1616.c:68,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1616.c:69,1
    - Dst: Curl_uint_hash_get
      Src: /src/curl/tests/unit/unit1616.c:70,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1616.c:71,1
    - Dst: Curl_uint_hash_clear
      Src: /src/curl/tests/unit/unit1616.c:72,1
    - Dst: malloc
      Src: /src/curl/tests/unit/unit1616.c:75,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1616.c:76,1
    - Dst: Curl_uint_hash_set
      Src: /src/curl/tests/unit/unit1616.c:78,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1616.c:80,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1616.c:81,1
    - Dst: Curl_uint_hash_get
      Src: /src/curl/tests/unit/unit1616.c:82,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1616.c:83,1
    - Dst: Curl_uint_hash_get
      Src: /src/curl/tests/unit/unit1616.c:84,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1616.c:85,1
    - Dst: UNITTEST_END
      Src: /src/curl/tests/unit/unit1616.c:87,1
    - Dst: t1616_stop
      Src: /src/curl/tests/unit/unit1616.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 88
    functionName: test_unit1616
    functionSourceFile: /src/curl/tests/unit/unit1616.c
    functionUses: 0
    functionsReached:
    - UNITTEST_BEGIN
    - t1616_setup
    - malloc
    - t1616_stop
    - Curl_uint_hash_clear
    - abort_unless
    - free
    - Curl_uint_hash_set
    - UNITTEST_END
    - Curl_uint_hash_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1616(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1610.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: t1610_setup
    functionSourceFile: /src/curl/tests/unit/unit1610.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1610_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha256it
      Src: /src/curl/tests/unit/unit1610.c:47,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1610.c:47,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1610.c:49,1
    - Dst: Curl_sha256it
      Src: /src/curl/tests/unit/unit1610.c:54,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1610.c:54,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1610.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 63
    functionName: test_unit1610
    functionSourceFile: /src/curl/tests/unit/unit1610.c
    functionUses: 0
    functionsReached:
    - Curl_sha256it
    - strlen
    - verify_memory
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1610(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/tests/unit/unit1304.c:32,1
    - Dst: Curl_safefree
      Src: /src/curl/tests/unit/unit1304.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - password
    - login
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: t1304_stop
    functionSourceFile: /src/curl/tests/unit/unit1304.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void t1304_stop(char **password, char **login)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_netrc_init
      Src: /src/curl/tests/unit/unit1304.c:49,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/tests/unit/unit1304.c:50,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:52,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:53,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:54,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/tests/unit/unit1304.c:55,1
    - Dst: CURL_UNCONST
      Src: /src/curl/tests/unit/unit1304.c:60,1
    - Dst: Curl_netrc_init
      Src: /src/curl/tests/unit/unit1304.c:61,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/tests/unit/unit1304.c:62,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:64,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:65,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/tests/unit/unit1304.c:66,1
    - Dst: CURL_UNCONST
      Src: /src/curl/tests/unit/unit1304.c:71,1
    - Dst: Curl_netrc_init
      Src: /src/curl/tests/unit/unit1304.c:72,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/tests/unit/unit1304.c:73,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:75,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:76,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/tests/unit/unit1304.c:77,1
    - Dst: CURL_UNCONST
      Src: /src/curl/tests/unit/unit1304.c:83,1
    - Dst: Curl_netrc_init
      Src: /src/curl/tests/unit/unit1304.c:84,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/tests/unit/unit1304.c:85,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:87,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:88,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/tests/unit/unit1304.c:89,1
    - Dst: CURL_UNCONST
      Src: /src/curl/tests/unit/unit1304.c:95,1
    - Dst: Curl_netrc_init
      Src: /src/curl/tests/unit/unit1304.c:96,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/tests/unit/unit1304.c:97,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:99,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:100,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/tests/unit/unit1304.c:101,1
    - Dst: Curl_netrc_init
      Src: /src/curl/tests/unit/unit1304.c:108,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/tests/unit/unit1304.c:109,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:111,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:112,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:113,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit1304.c:113,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:115,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:116,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit1304.c:116,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/tests/unit/unit1304.c:117,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1304.c:123,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1304.c:124,1
    - Dst: Curl_netrc_init
      Src: /src/curl/tests/unit/unit1304.c:127,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/tests/unit/unit1304.c:128,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:130,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:131,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:132,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit1304.c:132,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:134,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:135,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit1304.c:135,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/tests/unit/unit1304.c:136,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1304.c:142,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1304.c:144,1
    - Dst: Curl_netrc_init
      Src: /src/curl/tests/unit/unit1304.c:146,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/tests/unit/unit1304.c:147,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:149,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:150,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:151,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit1304.c:151,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:153,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:154,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit1304.c:154,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/tests/unit/unit1304.c:155,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1304.c:161,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1304.c:163,1
    - Dst: Curl_netrc_init
      Src: /src/curl/tests/unit/unit1304.c:165,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/tests/unit/unit1304.c:166,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:168,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:169,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:170,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit1304.c:170,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1304.c:172,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1304.c:173,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit1304.c:173,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/tests/unit/unit1304.c:174,1
    - Dst: UNITTEST_END
      Src: /src/curl/tests/unit/unit1304.c:176,1
    - Dst: t1304_stop
      Src: /src/curl/tests/unit/unit1304.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 77
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 177
    functionName: test_unit1304
    functionSourceFile: /src/curl/tests/unit/unit1304.c
    functionUses: 0
    functionsReached:
    - Curl_netrc_init
    - Curl_parsenetrc
    - Curl_netrc_cleanup
    - fail_unless
    - CURL_UNCONST
    - abort_unless
    - free
    - strncmp
    - UNITTEST_END
    - t1304_stop
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1304(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: test_unit1304
    functionSourceFile: /src/curl/tests/unit/unit1304.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1304(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: free_and_clear
    functionSourceFile: /src/curl/tests/unit/unit1653.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free_and_clear(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/tests/unit/unit1653.c:36,1
    - Dst: curlx_dyn_add
      Src: /src/curl/tests/unit/unit1653.c:37,1
    - Dst: Curl_parse_port
      Src: /src/curl/tests/unit/unit1653.c:39,1
    - Dst: curlx_dyn_free
      Src: /src/curl/tests/unit/unit1653.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - url
    - h
    - has_scheme
    argTypes:
    - CURLU*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: parse_port
    functionSourceFile: /src/curl/tests/unit/unit1653.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_free
    - curlx_dyn_add
    - curlx_dyn_init
    - Curl_parse_port
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode parse_port(CURLU *url, char *h, bool has_scheme)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:55,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:58,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:61,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:62,1
    - Dst: curl_url_get
      Src: /src/curl/tests/unit/unit1653.c:63,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:64,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:65,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:66,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:69,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:72,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:75,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:76,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:77,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:78,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:80,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:83,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:86,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:87,1
    - Dst: curl_url_get
      Src: /src/curl/tests/unit/unit1653.c:88,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:89,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:90,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1653.c:90,1
    - Dst: curl_free
      Src: /src/curl/tests/unit/unit1653.c:92,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:93,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:94,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:97,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:100,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:103,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:104,1
    - Dst: curl_url_get
      Src: /src/curl/tests/unit/unit1653.c:105,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:106,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:107,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1653.c:107,1
    - Dst: curl_free
      Src: /src/curl/tests/unit/unit1653.c:108,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:109,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:110,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:113,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:116,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:119,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:120,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:121,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:122,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:125,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:128,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:131,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:132,1
    - Dst: curl_url_get
      Src: /src/curl/tests/unit/unit1653.c:133,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:134,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:135,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1653.c:135,1
    - Dst: curl_free
      Src: /src/curl/tests/unit/unit1653.c:136,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:137,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:138,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:141,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:144,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:147,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:148,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:149,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:150,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:152,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:155,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:158,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:159,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:160,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:161,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:165,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:168,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:171,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:172,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:173,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:174,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:177,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:180,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:183,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:184,1
    - Dst: curl_url_get
      Src: /src/curl/tests/unit/unit1653.c:185,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:186,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:187,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1653.c:187,1
    - Dst: curl_free
      Src: /src/curl/tests/unit/unit1653.c:188,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:189,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:190,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:193,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:196,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:199,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:200,1
    - Dst: free_and_clear
      Src: /src/curl/tests/unit/unit1653.c:201,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:202,1
    - Dst: curl_url
      Src: /src/curl/tests/unit/unit1653.c:206,1
    - Dst: strdup
      Src: /src/curl/tests/unit/unit1653.c:209,1
    - Dst: parse_port
      Src: /src/curl/tests/unit/unit1653.c:213,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1653.c:214,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1653.c:216,1
    - Dst: curl_url_cleanup
      Src: /src/curl/tests/unit/unit1653.c:217,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 165
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 220
    functionName: test_unit1653
    functionSourceFile: /src/curl/tests/unit/unit1653.c
    functionUses: 0
    functionsReached:
    - free_and_clear
    - strdup
    - curl_url_get
    - fail_unless
    - curl_url
    - curl_free
    - free
    - strcmp
    - parse_port
    - curl_url_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1653(const char *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/curl/tests/unit/unit2602.c:40,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:41,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/tests/unit/unit2602.c:41,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:42,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/tests/unit/unit2602.c:42,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:43,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/tests/unit/unit2602.c:43,1
    - Dst: Curl_dynhds_remove
      Src: /src/curl/tests/unit/unit2602.c:46,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:47,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/tests/unit/unit2602.c:50,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:51,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:55,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/tests/unit/unit2602.c:55,1
    - Dst: Curl_dynhds_set
      Src: /src/curl/tests/unit/unit2602.c:58,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:59,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:63,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/tests/unit/unit2602.c:63,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/tests/unit/unit2602.c:65,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:66,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:68,1
    - Dst: Curl_dynhds_count_name
      Src: /src/curl/tests/unit/unit2602.c:68,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:69,1
    - Dst: Curl_dynhds_count_name
      Src: /src/curl/tests/unit/unit2602.c:69,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:70,1
    - Dst: Curl_dynhds_get
      Src: /src/curl/tests/unit/unit2602.c:70,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:71,1
    - Dst: Curl_dynhds_get
      Src: /src/curl/tests/unit/unit2602.c:71,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:72,1
    - Dst: Curl_dynhds_count_name
      Src: /src/curl/tests/unit/unit2602.c:72,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:73,1
    - Dst: Curl_dynhds_ccount_name
      Src: /src/curl/tests/unit/unit2602.c:73,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:74,1
    - Dst: Curl_dynhds_cget
      Src: /src/curl/tests/unit/unit2602.c:74,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:75,1
    - Dst: Curl_dynhds_ccount_name
      Src: /src/curl/tests/unit/unit2602.c:75,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:76,1
    - Dst: Curl_dynhds_ccontains
      Src: /src/curl/tests/unit/unit2602.c:76,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:77,1
    - Dst: Curl_dynhds_contains
      Src: /src/curl/tests/unit/unit2602.c:77,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/tests/unit/unit2602.c:78,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/tests/unit/unit2602.c:81,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:82,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/tests/unit/unit2602.c:82,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:83,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/tests/unit/unit2602.c:83,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:84,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/tests/unit/unit2602.c:84,1
    - Dst: Curl_dynhds_reset
      Src: /src/curl/tests/unit/unit2602.c:85,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/tests/unit/unit2602.c:86,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/tests/unit/unit2602.c:88,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:89,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/tests/unit/unit2602.c:89,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:90,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/tests/unit/unit2602.c:90,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:91,1
    - Dst: Curl_dynhds_cadd
      Src: /src/curl/tests/unit/unit2602.c:91,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:92,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/tests/unit/unit2602.c:92,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:93,1
    - Dst: Curl_dynhds_ccount_name
      Src: /src/curl/tests/unit/unit2602.c:93,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:94,1
    - Dst: Curl_dynhds_cremove
      Src: /src/curl/tests/unit/unit2602.c:94,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:95,1
    - Dst: Curl_dynhds_ccontains
      Src: /src/curl/tests/unit/unit2602.c:95,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/tests/unit/unit2602.c:97,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:98,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:100,1
    - Dst: Curl_dynhds_ccount_name
      Src: /src/curl/tests/unit/unit2602.c:100,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:101,1
    - Dst: Curl_dynhds_cadd
      Src: /src/curl/tests/unit/unit2602.c:101,1
    - Dst: curlx_dyn_init
      Src: /src/curl/tests/unit/unit2602.c:103,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:104,1
    - Dst: Curl_dynhds_h1_dprint
      Src: /src/curl/tests/unit/unit2602.c:104,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit2602.c:105,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:106,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit2602.c:106,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit2602.c:106,1
    - Dst: curlx_dyn_free
      Src: /src/curl/tests/unit/unit2602.c:110,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/tests/unit/unit2602.c:113,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/tests/unit/unit2602.c:114,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/tests/unit/unit2602.c:116,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2602.c:117,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:120,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/tests/unit/unit2602.c:120,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:121,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/tests/unit/unit2602.c:121,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:122,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/tests/unit/unit2602.c:122,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:123,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/tests/unit/unit2602.c:123,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:124,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/tests/unit/unit2602.c:124,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:125,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/tests/unit/unit2602.c:125,1
    - Dst: curlx_dyn_init
      Src: /src/curl/tests/unit/unit2602.c:127,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:128,1
    - Dst: Curl_dynhds_h1_dprint
      Src: /src/curl/tests/unit/unit2602.c:128,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit2602.c:129,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2602.c:130,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit2602.c:130,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2602.c:131,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit2602.c:131,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit2602.c:131,1
    - Dst: curlx_dyn_free
      Src: /src/curl/tests/unit/unit2602.c:135,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/tests/unit/unit2602.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 80
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 140
    functionName: test_unit2602
    functionSourceFile: /src/curl/tests/unit/unit2602.c
    functionUses: 0
    functionsReached:
    - fail_if
    - Curl_dynhds_remove
    - Curl_dynhds_count_name
    - Curl_dynhds_ccount_name
    - Curl_dynhds_set
    - Curl_dynhds_cadd
    - curl_mfprintf
    - Curl_dynhds_cremove
    - Curl_dynhds_reset
    - Curl_dynhds_h1_cadd_line
    - curlx_dyn_ptr
    - Curl_dynhds_init
    - Curl_dynhds_cget
    - Curl_dynhds_count
    - Curl_dynhds_h1_dprint
    - fail_unless
    - curlx_dyn_free
    - curlx_dyn_init
    - strcmp
    - Curl_dynhds_contains
    - Curl_dynhds_ccontains
    - Curl_dynhds_free
    - Curl_dynhds_get
    - Curl_dynhds_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2602(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/curl/tests/unit/unit1656.c:42,1
    - Dst: Curl_x509_GTime2str
      Src: /src/curl/tests/unit/unit1656.c:43,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1656.c:43,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1656.c:45,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1656.c:49,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit1656.c:49,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1656.c:50,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/tests/unit/unit1656.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - spec
    - i
    - dbuf
    argTypes:
    - struct test_spec*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: do_test
    functionSourceFile: /src/curl/tests/unit/unit1656.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_mfprintf
    - Curl_x509_GTime2str
    - curlx_dyn_reset
    - strcmp
    - curlx_dyn_ptr
    linkageType: ''
    returnType: bool
    signature: "bool do_test(const struct test_spec *spec, size_t i,\n                    struct
      dynbuf *dbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/tests/unit/unit1656.c:96,1
    - Dst: curl_global_init
      Src: /src/curl/tests/unit/unit1656.c:98,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1656.c:99,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1656.c:103,1
    - Dst: do_test
      Src: /src/curl/tests/unit/unit1656.c:104,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1656.c:107,1
    - Dst: curlx_dyn_free
      Src: /src/curl/tests/unit/unit1656.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1656.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 113
    functionName: test_unit1656
    functionSourceFile: /src/curl/tests/unit/unit1656.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - do_test
    - fail_unless
    - curl_global_cleanup
    - curlx_dyn_free
    - curlx_dyn_init
    - curl_global_init
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1656(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: test_unit1656
    functionSourceFile: /src/curl/tests/unit/unit1656.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1656(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - fake_now
    - seconds_offset
    argTypes:
    - struct Curl_easy*
    - struct curltime
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: fake_t_startsingle_time
    functionSourceFile: /src/curl/tests/unit/unit1399.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsTime
    linkageType: ''
    returnType: void
    signature: "void fake_t_startsingle_time(struct Curl_easy *data,\n                                    struct
      curltime fake_now,\n                                    int seconds_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1399.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - time_usec
    - expected_seconds
    argTypes:
    - timediff_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: usec_matches_seconds
    functionSourceFile: /src/curl/tests/unit/unit1399.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: bool
    signature: bool usec_matches_seconds(timediff_t time_usec, int expected_seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1399.c:58,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1399.c:60,1
    - Dst: usec_matches_seconds
      Src: /src/curl/tests/unit/unit1399.c:60,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1399.c:61,1
    - Dst: usec_matches_seconds
      Src: /src/curl/tests/unit/unit1399.c:61,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1399.c:62,1
    - Dst: usec_matches_seconds
      Src: /src/curl/tests/unit/unit1399.c:62,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1399.c:63,1
    - Dst: usec_matches_seconds
      Src: /src/curl/tests/unit/unit1399.c:63,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1399.c:65,1
    - Dst: usec_matches_seconds
      Src: /src/curl/tests/unit/unit1399.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - seconds
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: expect_timer_seconds
    functionSourceFile: /src/curl/tests/unit/unit1399.c
    functionUses: 0
    functionsReached:
    - usec_matches_seconds
    - fail_unless
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void expect_timer_seconds(struct Curl_easy *data, int seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/tests/unit/unit1399.c:79,1
    - Dst: fake_t_startsingle_time
      Src: /src/curl/tests/unit/unit1399.c:89,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:91,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:92,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:93,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:94,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:95,1
    - Dst: expect_timer_seconds
      Src: /src/curl/tests/unit/unit1399.c:97,1
    - Dst: fake_t_startsingle_time
      Src: /src/curl/tests/unit/unit1399.c:101,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:103,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:104,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:105,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:106,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:109,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/tests/unit/unit1399.c:110,1
    - Dst: expect_timer_seconds
      Src: /src/curl/tests/unit/unit1399.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 115
    functionName: test_unit1399
    functionSourceFile: /src/curl/tests/unit/unit1399.c
    functionUses: 0
    functionsReached:
    - expect_timer_seconds
    - Curl_pgrsTime
    - fake_t_startsingle_time
    - curlx_now
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1399(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: tail_err
    functionSourceFile: /src/curl/tests/unit/unit2601.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *tail_err(struct bufq *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:57,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:59,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:62,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:66,1
    - Dst: tail_err
      Src: /src/curl/tests/unit/unit2601.c:67,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:68,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - q
    - msg
    argTypes:
    - struct bufq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionName: dump_bufq
    functionSourceFile: /src/curl/tests/unit/unit2601.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - tail_err
    linkageType: ''
    returnType: void
    signature: void dump_bufq(struct bufq *q, const char *msg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufcp_init
      Src: /src/curl/tests/unit/unit2601.c:94,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/tests/unit/unit2601.c:95,1
    - Dst: Curl_bufq_init2
      Src: /src/curl/tests/unit/unit2601.c:98,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:101,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:102,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:103,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:104,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:105,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:106,1
    - Dst: Curl_bufq_len
      Src: /src/curl/tests/unit/unit2601.c:106,1
    - Dst: Curl_bufq_write
      Src: /src/curl/tests/unit/unit2601.c:108,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:109,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:110,1
    - Dst: Curl_bufq_reset
      Src: /src/curl/tests/unit/unit2601.c:114,1
    - Dst: Curl_bufq_is_full
      Src: /src/curl/tests/unit/unit2601.c:115,1
    - Dst: Curl_bufq_write
      Src: /src/curl/tests/unit/unit2601.c:116,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:121,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:126,1
    - Dst: dump_bufq
      Src: /src/curl/tests/unit/unit2601.c:128,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2601.c:129,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/tests/unit/unit2601.c:134,1
    - Dst: Curl_bufq_read
      Src: /src/curl/tests/unit/unit2601.c:135,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:140,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:145,1
    - Dst: dump_bufq
      Src: /src/curl/tests/unit/unit2601.c:147,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2601.c:148,1
    - Dst: dump_bufq
      Src: /src/curl/tests/unit/unit2601.c:151,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2601.c:152,1
    - Dst: Curl_bufq_write
      Src: /src/curl/tests/unit/unit2601.c:156,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:158,1
    - Dst: Curl_bufq_read
      Src: /src/curl/tests/unit/unit2601.c:161,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:163,1
    - Dst: Curl_bufq_free
      Src: /src/curl/tests/unit/unit2601.c:169,1
    - Dst: Curl_bufq_init2
      Src: /src/curl/tests/unit/unit2601.c:170,1
    - Dst: Curl_bufq_is_full
      Src: /src/curl/tests/unit/unit2601.c:172,1
    - Dst: Curl_bufq_write
      Src: /src/curl/tests/unit/unit2601.c:173,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:175,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2601.c:181,1
    - Dst: dump_bufq
      Src: /src/curl/tests/unit/unit2601.c:183,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit2601.c:184,1
    - Dst: Curl_bufq_write
      Src: /src/curl/tests/unit/unit2601.c:187,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:188,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/tests/unit/unit2601.c:192,1
    - Dst: Curl_bufq_read
      Src: /src/curl/tests/unit/unit2601.c:193,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:195,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:200,1
    - Dst: dump_bufq
      Src: /src/curl/tests/unit/unit2601.c:202,1
    - Dst: Curl_bufq_free
      Src: /src/curl/tests/unit/unit2601.c:203,1
    - Dst: Curl_bufcp_free
      Src: /src/curl/tests/unit/unit2601.c:205,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 98
    argCount: 6
    argNames:
    - pool_spares
    - chunk_size
    - max_chunks
    - wsize
    - rsize
    - opts
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 206
    functionName: check_bufq
    functionSourceFile: /src/curl/tests/unit/unit2601.c
    functionUses: 0
    functionsReached:
    - fail_if
    - Curl_bufcp_init
    - Curl_bufq_free
    - Curl_bufq_init2
    - Curl_bufq_initp
    - curl_mfprintf
    - Curl_bufq_len
    - fail_unless
    - Curl_bufq_write
    - Curl_bufq_is_full
    - Curl_bufq_is_empty
    - dump_bufq
    - Curl_bufq_read
    - Curl_bufcp_free
    - Curl_bufq_reset
    linkageType: ''
    returnType: void
    signature: "void check_bufq(size_t pool_spares,\n                       size_t
      chunk_size, size_t max_chunks,\n                       size_t wsize, size_t
      rsize, int opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init
      Src: /src/curl/tests/unit/unit2601.c:217,1
    - Dst: Curl_bufq_read
      Src: /src/curl/tests/unit/unit2601.c:218,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2601.c:219,1
    - Dst: Curl_bufq_free
      Src: /src/curl/tests/unit/unit2601.c:220,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:222,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:223,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:224,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:225,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:227,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:228,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:230,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:231,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:232,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:233,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:235,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:236,1
    - Dst: check_bufq
      Src: /src/curl/tests/unit/unit2601.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 240
    functionName: test_unit2601
    functionSourceFile: /src/curl/tests/unit/unit2601.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    - check_bufq
    - fail_unless
    - Curl_bufq_init
    - Curl_bufq_read
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2601(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/tests/unit/unit1602.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: t1602_mydtor
    functionSourceFile: /src/curl/tests/unit/unit1602.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void t1602_mydtor(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/curl/tests/unit/unit1602.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: t1602_setup
    functionSourceFile: /src/curl/tests/unit/unit1602.c
    functionUses: 0
    functionsReached:
    - Curl_hash_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1602_setup(struct Curl_hash *hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_destroy
      Src: /src/curl/tests/unit/unit1602.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: t1602_stop
    functionSourceFile: /src/curl/tests/unit/unit1602.c
    functionUses: 0
    functionsReached:
    - Curl_hash_destroy
    linkageType: ''
    returnType: void
    signature: void t1602_stop(struct Curl_hash *hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit1602.c:52,1
    - Dst: t1602_setup
      Src: /src/curl/tests/unit/unit1602.c:52,1
    - Dst: malloc
      Src: /src/curl/tests/unit/unit1602.c:62,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1602.c:63,1
    - Dst: Curl_hash_add
      Src: /src/curl/tests/unit/unit1602.c:65,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1602.c:67,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1602.c:68,1
    - Dst: Curl_hash_clean
      Src: /src/curl/tests/unit/unit1602.c:69,1
    - Dst: malloc
      Src: /src/curl/tests/unit/unit1602.c:72,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1602.c:73,1
    - Dst: Curl_hash_add
      Src: /src/curl/tests/unit/unit1602.c:75,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1602.c:77,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1602.c:78,1
    - Dst: UNITTEST_END
      Src: /src/curl/tests/unit/unit1602.c:80,1
    - Dst: t1602_stop
      Src: /src/curl/tests/unit/unit1602.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: test_unit1602
    functionSourceFile: /src/curl/tests/unit/unit1602.c
    functionUses: 0
    functionsReached:
    - UNITTEST_BEGIN
    - malloc
    - Curl_hash_add
    - abort_unless
    - free
    - t1602_stop
    - Curl_hash_clean
    - t1602_setup
    - UNITTEST_END
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1602(const char *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit3205.c:513,1
    - Dst: Curl_cipher_suite_lookup_id
      Src: /src/curl/tests/unit/unit3205.c:522,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit3205.c:522,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3205.c:524,1
    - Dst: Curl_cipher_suite_lookup_id
      Src: /src/curl/tests/unit/unit3205.c:533,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit3205.c:533,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3205.c:535,1
    - Dst: Curl_cipher_suite_get_str
      Src: /src/curl/tests/unit/unit3205.c:546,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3205.c:548,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3205.c:549,1
    - Dst: Curl_cipher_suite_get_str
      Src: /src/curl/tests/unit/unit3205.c:559,1
    - Dst: memcmp
      Src: /src/curl/tests/unit/unit3205.c:563,1
    - Dst: memcpy
      Src: /src/curl/tests/unit/unit3205.c:564,1
    - Dst: strcpy
      Src: /src/curl/tests/unit/unit3205.c:564,1
    - Dst: memcmp
      Src: /src/curl/tests/unit/unit3205.c:565,1
    - Dst: memcpy
      Src: /src/curl/tests/unit/unit3205.c:566,1
    - Dst: strcpy
      Src: /src/curl/tests/unit/unit3205.c:566,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit3205.c:569,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3205.c:570,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit3205.c:586,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit3205.c:586,1
    - Dst: Curl_cipher_suite_walk_str
      Src: /src/curl/tests/unit/unit3205.c:588,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3205.c:592,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit3205.c:598,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3205.c:599,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 611
    functionName: test_unit3205
    functionSourceFile: /src/curl/tests/unit/unit3205.c
    functionUses: 0
    functionsReached:
    - strlen
    - abort_if
    - Curl_cipher_suite_walk_str
    - curl_mfprintf
    - Curl_cipher_suite_get_str
    - memcpy
    - strcmp
    - CURL_ARRAYSIZE
    - Curl_cipher_suite_lookup_id
    - memcmp
    - strncmp
    - strcpy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3205(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/tests/unit/unit1652.c:50,1
    - Dst: memcpy
      Src: /src/curl/tests/unit/unit1652.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - handle
    - type
    - buf
    - size
    - userptr
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: debugf_cb
    functionSourceFile: /src/curl/tests/unit/unit1652.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: "int debugf_cb(CURL *handle, curl_infotype type, char *buf, size_t
      size,\n                     void *userptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1652.c:59,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1652.c:60,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1652.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit1652.c:65,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit1652.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: t1652_setup
    functionSourceFile: /src/curl/tests/unit/unit1652.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - global_init
    - curl_global_cleanup
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1652_setup(struct Curl_easy **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1652.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1652.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: t1652_stop
    functionSourceFile: /src/curl/tests/unit/unit1652.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1652_stop(struct Curl_easy *easy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/tests/unit/unit1652.c:79,1
    - Dst: strncmp
      Src: /src/curl/tests/unit/unit1652.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - info
    - two
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: verify
    functionSourceFile: /src/curl/tests/unit/unit1652.c
    functionUses: 1
    functionsReached:
    - strncmp
    - strchr
    linkageType: ''
    returnType: int
    signature: int verify(const char *info, const char *two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit1652.c:89,1
    - Dst: t1652_setup
      Src: /src/curl/tests/unit/unit1652.c:89,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1652.c:101,1
    - Dst: Curl_infof
      Src: /src/curl/tests/unit/unit1652.c:102,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:103,1
    - Dst: verify
      Src: /src/curl/tests/unit/unit1652.c:103,1
    - Dst: Curl_infof
      Src: /src/curl/tests/unit/unit1652.c:106,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:107,1
    - Dst: verify
      Src: /src/curl/tests/unit/unit1652.c:107,1
    - Dst: Curl_infof
      Src: /src/curl/tests/unit/unit1652.c:111,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:112,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1652.c:112,1
    - Dst: Curl_infof
      Src: /src/curl/tests/unit/unit1652.c:113,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:114,1
    - Dst: verify
      Src: /src/curl/tests/unit/unit1652.c:114,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1652.c:124,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1652.c:125,1
    - Dst: Curl_infof
      Src: /src/curl/tests/unit/unit1652.c:126,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1652.c:127,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1652.c:127,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:129,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1652.c:129,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:130,1
    - Dst: verify
      Src: /src/curl/tests/unit/unit1652.c:130,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:131,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1652.c:135,1
    - Dst: Curl_infof
      Src: /src/curl/tests/unit/unit1652.c:136,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1652.c:137,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1652.c:137,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:138,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1652.c:138,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:139,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1652.c:143,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1652.c:144,1
    - Dst: Curl_infof
      Src: /src/curl/tests/unit/unit1652.c:145,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1652.c:146,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1652.c:146,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:147,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1652.c:147,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:148,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1652.c:152,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit1652.c:153,1
    - Dst: Curl_infof
      Src: /src/curl/tests/unit/unit1652.c:154,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1652.c:155,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1652.c:155,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:156,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1652.c:156,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1652.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 165
    functionName: test_unit1652
    functionSourceFile: /src/curl/tests/unit/unit1652.c
    functionUses: 0
    functionsReached:
    - UNITTEST_BEGIN
    - strlen
    - curl_msnprintf
    - curl_mfprintf
    - fail_unless
    - Curl_infof
    - memset
    - t1652_setup
    - verify
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1652(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cidr4_match
      Src: /src/curl/tests/unit/unit1614.c:148,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1614.c:150,1
    - Dst: Curl_cidr6_match
      Src: /src/curl/tests/unit/unit1614.c:158,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1614.c:160,1
    - Dst: Curl_check_noproxy
      Src: /src/curl/tests/unit/unit1614.c:168,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1614.c:170,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1614.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 180
    functionName: test_unit1614
    functionSourceFile: /src/curl/tests/unit/unit1614.c
    functionUses: 0
    functionsReached:
    - Curl_check_noproxy
    - fail_if
    - curl_mfprintf
    - Curl_cidr6_match
    - Curl_cidr4_match
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1614(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1395.c:114,1
    - Dst: dedotdotify
      Src: /src/curl/tests/unit/unit1395.c:116,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1395.c:116,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1395.c:117,1
    - Dst: abort_if
      Src: /src/curl/tests/unit/unit1395.c:118,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1395.c:120,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1395.c:121,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit1395.c:123,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1395.c:128,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit1395.c:131,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1395.c:135,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1395.c:136,1
    - Dst: fail_if
      Src: /src/curl/tests/unit/unit1395.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 142
    functionName: test_unit1395
    functionSourceFile: /src/curl/tests/unit/unit1395.c
    functionUses: 0
    functionsReached:
    - fail_if
    - strlen
    - abort_if
    - fail
    - curl_mfprintf
    - abort_unless
    - free
    - strcmp
    - CURL_ARRAYSIZE
    - dedotdotify
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1395(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dnscache_init
      Src: /src/curl/tests/unit/unit1305.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: t1305_setup
    functionSourceFile: /src/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - Curl_dnscache_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1305_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/tests/unit/unit1305.c:54,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1305.c:55,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1305.c:57,1
    - Dst: Curl_dnscache_destroy
      Src: /src/curl/tests/unit/unit1305.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: t1305_stop
    functionSourceFile: /src/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_freeaddrinfo
    - Curl_dnscache_destroy
    linkageType: ''
    returnType: void
    signature: void t1305_stop(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/tests/unit/unit1305.c:67,1
    - Dst: memcpy
      Src: /src/curl/tests/unit/unit1305.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: fake_ai
    functionSourceFile: /src/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *fake_ai(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/tests/unit/unit1305.c:85,1
    - Dst: calloc
      Src: /src/curl/tests/unit/unit1305.c:89,1
    - Dst: fake_ai
      Src: /src/curl/tests/unit/unit1305.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: create_node
    functionSourceFile: /src/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - calloc
    - curl_maprintf
    - fake_ai
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode create_node(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_node
      Src: /src/curl/tests/unit/unit1305.c:109,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1305.c:110,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1305.c:111,1
    - Dst: Curl_hash_add
      Src: /src/curl/tests/unit/unit1305.c:114,1
    - Dst: abort_unless
      Src: /src/curl/tests/unit/unit1305.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: test_unit1305
    functionSourceFile: /src/curl/tests/unit/unit1305.c
    functionUses: 0
    functionsReached:
    - abort_unless
    - create_node
    - strlen
    - Curl_hash_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1305(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1620.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: t1620_setup
    functionSourceFile: /src/curl/tests/unit/unit1620.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1620_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_parse_login_details
      Src: /src/curl/tests/unit/unit1620.c:47,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1620.c:47,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:49,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:51,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:52,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:53,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:56,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1620.c:57,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:59,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1620.c:60,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:62,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1620.c:63,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1620.c:67,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1620.c:68,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1620.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - input
    - exp_username
    - exp_password
    - exp_options
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 70
    functionName: t1620_parse
    functionSourceFile: /src/curl/tests/unit/unit1620.c
    functionUses: 0
    functionsReached:
    - strlen
    - fail_unless
    - free
    - strcmp
    - Curl_parse_login_details
    linkageType: ''
    returnType: void
    signature: "void t1620_parse(\n  const char *input,\n  const char *exp_username,\n
      \ const char *exp_password,\n  const char *exp_options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_open
      Src: /src/curl/tests/unit/unit1620.c:83,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:86,1
    - Dst: Curl_connect
      Src: /src/curl/tests/unit/unit1620.c:88,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:89,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:92,1
    - Dst: Curl_connect
      Src: /src/curl/tests/unit/unit1620.c:96,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:97,1
    - Dst: Curl_init_do
      Src: /src/curl/tests/unit/unit1620.c:100,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:101,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:103,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:104,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:105,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:106,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:108,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:109,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:110,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:111,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:112,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:113,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:114,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:115,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:116,1
    - Dst: t1620_parse
      Src: /src/curl/tests/unit/unit1620.c:117,1
    - Dst: Curl_freeset
      Src: /src/curl/tests/unit/unit1620.c:119,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:121,1
    - Dst: Curl_close
      Src: /src/curl/tests/unit/unit1620.c:125,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1620.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 129
    functionName: test_unit1620
    functionSourceFile: /src/curl/tests/unit/unit1620.c
    functionUses: 0
    functionsReached:
    - fail_unless
    - Curl_connect
    - Curl_open
    - Curl_close
    - Curl_init_do
    - Curl_freeset
    - t1620_parse
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1620(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3213.c:37,1
    - Dst: Curl_uint_spbset_init
      Src: /src/curl/tests/unit/unit3213.c:39,1
    - Dst: Curl_uint_spbset_clear
      Src: /src/curl/tests/unit/unit3213.c:41,1
    - Dst: Curl_uint_spbset_count
      Src: /src/curl/tests/unit/unit3213.c:42,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:43,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:46,1
    - Dst: Curl_uint_spbset_add
      Src: /src/curl/tests/unit/unit3213.c:46,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:48,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/curl/tests/unit/unit3213.c:48,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:53,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/curl/tests/unit/unit3213.c:53,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:58,1
    - Dst: Curl_uint_spbset_first
      Src: /src/curl/tests/unit/unit3213.c:58,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:59,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:61,1
    - Dst: Curl_uint_spbset_next
      Src: /src/curl/tests/unit/unit3213.c:61,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3213.c:63,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:64,1
    - Dst: Curl_uint_spbset_remove
      Src: /src/curl/tests/unit/unit3213.c:69,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:70,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/curl/tests/unit/unit3213.c:70,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:73,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/curl/tests/unit/unit3213.c:73,1
    - Dst: Curl_uint_spbset_count
      Src: /src/curl/tests/unit/unit3213.c:76,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:77,1
    - Dst: Curl_uint_spbset_clear
      Src: /src/curl/tests/unit/unit3213.c:79,1
    - Dst: Curl_uint_spbset_count
      Src: /src/curl/tests/unit/unit3213.c:80,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:81,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:83,1
    - Dst: Curl_uint_spbset_contains
      Src: /src/curl/tests/unit/unit3213.c:83,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3213.c:87,1
    - Dst: Curl_uint_spbset_add
      Src: /src/curl/tests/unit/unit3213.c:87,1
    - Dst: Curl_uint_spbset_destroy
      Src: /src/curl/tests/unit/unit3213.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - name
    - s
    - slen
    argTypes:
    - char*
    - unsigned int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 91
    functionName: check_spbset
    functionSourceFile: /src/curl/tests/unit/unit3213.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_remove
    - Curl_uint_spbset_clear
    - Curl_uint_spbset_add
    - curl_mfprintf
    - fail_unless
    - Curl_uint_spbset_init
    - Curl_uint_spbset_destroy
    - Curl_uint_spbset_count
    - Curl_uint_spbset_next
    - Curl_uint_spbset_first
    - Curl_uint_spbset_contains
    linkageType: ''
    returnType: void
    signature: void check_spbset(const char *name, const unsigned int *s, size_t slen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_spbset
      Src: /src/curl/tests/unit/unit3213.c:116,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit3213.c:116,1
    - Dst: check_spbset
      Src: /src/curl/tests/unit/unit3213.c:117,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit3213.c:117,1
    - Dst: check_spbset
      Src: /src/curl/tests/unit/unit3213.c:118,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit3213.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: test_unit3213
    functionSourceFile: /src/curl/tests/unit/unit3213.c
    functionUses: 0
    functionsReached:
    - check_spbset
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3213(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/tests/unit/unit1658.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: t1658_setup
    functionSourceFile: /src/curl/tests/unit/unit1658.c
    functionUses: 0
    functionsReached:
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1658_setup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:55,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:56,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:60,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:61,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:63,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:64,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:67,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:68,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:71,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:72,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:75,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:76,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:80,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:85,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:89,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:90,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:92,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:93,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:95,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:96,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:101,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:102,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:104,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:108,1
    - Dst: curl_msnprintf
      Src: /src/curl/tests/unit/unit1658.c:110,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1658.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - rr
    - result
    argTypes:
    - struct Curl_https_rrinfo*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 115
    functionName: rrresults
    functionSourceFile: /src/curl/tests/unit/unit1658.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void rrresults(struct Curl_https_rrinfo *rr, CURLcode result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1658.c:508,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit1658.c:510,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1658.c:514,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1658.c:517,1
    - Dst: doh_resp_decode_httpsrr
      Src: /src/curl/tests/unit/unit1658.c:519,1
    - Dst: rrresults
      Src: /src/curl/tests/unit/unit1658.c:522,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1658.c:525,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit1658.c:526,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/curl/tests/unit/unit1658.c:534,1
    - Dst: curl_free
      Src: /src/curl/tests/unit/unit1658.c:535,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1658.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 542
    functionName: test_unit1658
    functionSourceFile: /src/curl/tests/unit/unit1658.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - rrresults
    - curl_easy_cleanup
    - curl_free
    - strcmp
    - curl_mprintf
    - CURL_ARRAYSIZE
    - doh_resp_decode_httpsrr
    - curl_easy_init
    - curl_easy_setopt
    - Curl_httpsrr_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1658(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: test_unit1658
    functionSourceFile: /src/curl/tests/unit/unit1658.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1658(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit1323.c:45,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/unit/unit1323.c:46,1
    - Dst: curl_mprintf
      Src: /src/curl/tests/unit/unit1323.c:48,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit1323.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: test_unit1323
    functionSourceFile: /src/curl/tests/unit/unit1323.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - fail
    - curl_mprintf
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1323(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: struct
    functionSourceFile: /src/curl/tests/unit/unit1323.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UNITTEST_BEGIN_SIMPLE
    signature: UNITTEST_BEGIN_SIMPLE struct
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit2600.c:56,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit2600.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit2600.c:59,1
    - Dst: curl_global_trace
      Src: /src/curl/tests/unit/unit2600.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit2600.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: t2600_setup
    functionSourceFile: /src/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - curl_global_trace
    - curl_global_cleanup
    - curl_easy_init
    - global_init
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t2600_setup(CURL **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit2600.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit2600.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: t2600_stop
    functionSourceFile: /src/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t2600_stop(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/tests/unit/unit2600.c:124,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/unit/unit2600.c:125,1
    - Dst: curlx_now
      Src: /src/curl/tests/unit/unit2600.c:125,1
    - Dst: free
      Src: /src/curl/tests/unit/unit2600.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: cf_test_destroy
    functionSourceFile: /src/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_timediff
    - free
    - curlx_now
    linkageType: ''
    returnType: void
    signature: void cf_test_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/curl/tests/unit/unit2600.c:142,1
    - Dst: curlx_now
      Src: /src/curl/tests/unit/unit2600.c:142,1
    - Dst: infof
      Src: /src/curl/tests/unit/unit2600.c:144,1
    - Dst: infof
      Src: /src/curl/tests/unit/unit2600.c:149,1
    - Dst: curlx_wait_ms
      Src: /src/curl/tests/unit/unit2600.c:150,1
    - Dst: Curl_expire
      Src: /src/curl/tests/unit/unit2600.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: cf_test_connect
    functionSourceFile: /src/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - curlx_wait_ms
    - curlx_now
    - curlx_timediff
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_test_connect(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_set
      Src: /src/curl/tests/unit/unit2600.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: cf_test_adjust_pollset
    functionSourceFile: /src/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_test_adjust_pollset(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       struct easy_pollset
      *ps)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/tests/unit/unit2600.c:196,1
    - Dst: curlx_now
      Src: /src/curl/tests/unit/unit2600.c:204,1
    - Dst: curl_msprintf
      Src: /src/curl/tests/unit/unit2600.c:209,1
    - Dst: curl_msprintf
      Src: /src/curl/tests/unit/unit2600.c:217,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/unit/unit2600.c:221,1
    - Dst: infof
      Src: /src/curl/tests/unit/unit2600.c:225,1
    - Dst: Curl_cf_create
      Src: /src/curl/tests/unit/unit2600.c:227,1
    - Dst: Curl_expire
      Src: /src/curl/tests/unit/unit2600.c:231,1
    - Dst: free
      Src: /src/curl/tests/unit/unit2600.c:236,1
    - Dst: free
      Src: /src/curl/tests/unit/unit2600.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 240
    functionName: cf_test_create
    functionSourceFile: /src/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - calloc
    - Curl_cf_create
    - curlx_now
    - curl_msprintf
    - free
    - curlx_timediff
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_test_create(struct Curl_cfilter **pcf,\n                               struct
      Curl_easy *data,\n                               struct connectdata *conn,\n
      \                              const struct Curl_addrinfo *ai,\n                               int
      transport)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/curl/tests/unit/unit2600.c:248,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit2600.c:249,1
    - Dst: curl_msprintf
      Src: /src/curl/tests/unit/unit2600.c:255,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2600.c:257,1
    - Dst: curl_msprintf
      Src: /src/curl/tests/unit/unit2600.c:260,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2600.c:262,1
    - Dst: curl_msprintf
      Src: /src/curl/tests/unit/unit2600.c:265,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2600.c:267,1
    - Dst: curlx_timediff
      Src: /src/curl/tests/unit/unit2600.c:270,1
    - Dst: curl_msprintf
      Src: /src/curl/tests/unit/unit2600.c:272,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2600.c:274,1
    - Dst: curl_msprintf
      Src: /src/curl/tests/unit/unit2600.c:277,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2600.c:279,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit2600.c:284,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit2600.c:286,1
    - Dst: curl_msprintf
      Src: /src/curl/tests/unit/unit2600.c:290,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2600.c:293,1
    - Dst: curl_msprintf
      Src: /src/curl/tests/unit/unit2600.c:296,1
    - Dst: fail
      Src: /src/curl/tests/unit/unit2600.c:300,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - tc
    - tr
    argTypes:
    - struct test_case*
    - struct test_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 303
    functionName: check_result
    functionSourceFile: /src/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - fail
    - curl_mfprintf
    - curl_msprintf
    - curlx_timediff
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void check_result(const struct test_case *tc,\n                         struct
      test_result *tr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_debug_set_transport_provider
      Src: /src/curl/tests/unit/unit2600.c:310,1
    - Dst: curl_slist_append
      Src: /src/curl/tests/unit/unit2600.c:314,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit2600.c:315,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit2600.c:316,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit2600.c:317,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit2600.c:318,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit2600.c:320,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit2600.c:323,1
    - Dst: memset
      Src: /src/curl/tests/unit/unit2600.c:324,1
    - Dst: curlx_now
      Src: /src/curl/tests/unit/unit2600.c:328,1
    - Dst: curl_easy_perform
      Src: /src/curl/tests/unit/unit2600.c:329,1
    - Dst: curlx_now
      Src: /src/curl/tests/unit/unit2600.c:330,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit2600.c:332,1
    - Dst: curl_slist_free_all
      Src: /src/curl/tests/unit/unit2600.c:333,1
    - Dst: check_result
      Src: /src/curl/tests/unit/unit2600.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - easy
    - tc
    argTypes:
    - CURL*
    - struct test_case*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 339
    functionName: test_connect
    functionSourceFile: /src/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - fail_unless
    - curlx_now
    - curl_slist_free_all
    - curl_slist_append
    - Curl_debug_set_transport_provider
    - memset
    - curl_easy_setopt
    - check_result
    linkageType: ''
    returnType: void
    signature: void test_connect(CURL *easy, const struct test_case *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit2600.c:363,1
    - Dst: t2600_setup
      Src: /src/curl/tests/unit/unit2600.c:363,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit2600.c:404,1
    - Dst: test_connect
      Src: /src/curl/tests/unit/unit2600.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 409
    functionName: test_unit2600
    functionSourceFile: /src/curl/tests/unit/unit2600.c
    functionUses: 0
    functionsReached:
    - test_connect
    - t2600_setup
    - UNITTEST_BEGIN
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit2600(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3211.c:37,1
    - Dst: Curl_uint_bset_init
      Src: /src/curl/tests/unit/unit3211.c:39,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:40,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/tests/unit/unit3211.c:40,1
    - Dst: Curl_uint_bset_capacity
      Src: /src/curl/tests/unit/unit3211.c:41,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:42,1
    - Dst: Curl_uint_bset_clear
      Src: /src/curl/tests/unit/unit3211.c:44,1
    - Dst: Curl_uint_bset_count
      Src: /src/curl/tests/unit/unit3211.c:45,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:46,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:49,1
    - Dst: Curl_uint_bset_add
      Src: /src/curl/tests/unit/unit3211.c:49,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:51,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/tests/unit/unit3211.c:51,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:55,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/tests/unit/unit3211.c:55,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:59,1
    - Dst: Curl_uint_bset_first
      Src: /src/curl/tests/unit/unit3211.c:59,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:60,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:62,1
    - Dst: Curl_uint_bset_next
      Src: /src/curl/tests/unit/unit3211.c:62,1
    - Dst: curl_mfprintf
      Src: /src/curl/tests/unit/unit3211.c:64,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:65,1
    - Dst: Curl_uint_bset_capacity
      Src: /src/curl/tests/unit/unit3211.c:70,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:71,1
    - Dst: Curl_uint_bset_add
      Src: /src/curl/tests/unit/unit3211.c:71,1
    - Dst: Curl_uint_bset_count
      Src: /src/curl/tests/unit/unit3211.c:73,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:74,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/tests/unit/unit3211.c:77,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:78,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/tests/unit/unit3211.c:78,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:81,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/tests/unit/unit3211.c:81,1
    - Dst: Curl_uint_bset_count
      Src: /src/curl/tests/unit/unit3211.c:84,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:85,1
    - Dst: Curl_uint_bset_clear
      Src: /src/curl/tests/unit/unit3211.c:87,1
    - Dst: Curl_uint_bset_count
      Src: /src/curl/tests/unit/unit3211.c:88,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:89,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:91,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/tests/unit/unit3211.c:91,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:95,1
    - Dst: Curl_uint_bset_add
      Src: /src/curl/tests/unit/unit3211.c:95,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:98,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/tests/unit/unit3211.c:98,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:101,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/tests/unit/unit3211.c:101,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:104,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/tests/unit/unit3211.c:104,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:106,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/tests/unit/unit3211.c:106,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:108,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/tests/unit/unit3211.c:108,1
    - Dst: Curl_uint_bset_capacity
      Src: /src/curl/tests/unit/unit3211.c:110,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:116,1
    - Dst: Curl_uint_bset_count
      Src: /src/curl/tests/unit/unit3211.c:116,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit3211.c:118,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/tests/unit/unit3211.c:118,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/tests/unit/unit3211.c:120,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 4
    argNames:
    - name
    - capacity
    - s
    - slen
    argTypes:
    - char*
    - unsigned int
    - unsigned int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 121
    functionName: check_set
    functionSourceFile: /src/curl/tests/unit/unit3211.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_add
    - Curl_uint_bset_contains
    - Curl_uint_bset_remove
    - curl_mfprintf
    - Curl_uint_bset_first
    - fail_unless
    - Curl_uint_bset_capacity
    - Curl_uint_bset_resize
    - Curl_uint_bset_destroy
    - Curl_uint_bset_clear
    - Curl_uint_bset_count
    - Curl_uint_bset_next
    - Curl_uint_bset_init
    linkageType: ''
    returnType: void
    signature: "void check_set(const char *name, unsigned int capacity,\n                      const
      unsigned int *s, size_t slen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_set
      Src: /src/curl/tests/unit/unit3211.c:142,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit3211.c:142,1
    - Dst: check_set
      Src: /src/curl/tests/unit/unit3211.c:143,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/tests/unit/unit3211.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: test_unit3211
    functionSourceFile: /src/curl/tests/unit/unit3211.c
    functionUses: 0
    functionsReached:
    - check_set
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit3211(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hmacit
      Src: /src/curl/tests/unit/unit1612.c:42,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1612.c:43,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1612.c:44,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1612.c:47,1
    - Dst: Curl_hmacit
      Src: /src/curl/tests/unit/unit1612.c:51,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1612.c:52,1
    - Dst: strlen
      Src: /src/curl/tests/unit/unit1612.c:53,1
    - Dst: verify_memory
      Src: /src/curl/tests/unit/unit1612.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 62
    functionName: test_unit1612
    functionSourceFile: /src/curl/tests/unit/unit1612.c
    functionUses: 0
    functionsReached:
    - strlen
    - verify_memory
    - Curl_hmacit
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1612(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1606.c:33,1
    - Dst: curl_easy_init
      Src: /src/curl/tests/unit/unit1606.c:34,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1606.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: t1606_setup
    functionSourceFile: /src/curl/tests/unit/unit1606.c
    functionUses: 0
    functionsReached:
    - global_init
    - curl_global_cleanup
    - curl_easy_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1606_setup(struct Curl_easy **easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_cleanup
      Src: /src/curl/tests/unit/unit1606.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/curl/tests/unit/unit1606.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: t1606_stop
    functionSourceFile: /src/curl/tests/unit/unit1606.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: void t1606_stop(struct Curl_easy *easy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit1606.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/tests/unit/unit1606.c:60,1
    - Dst: Curl_speedinit
      Src: /src/curl/tests/unit/unit1606.c:61,1
    - Dst: Curl_speedcheck
      Src: /src/curl/tests/unit/unit1606.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - easy
    - time_limit
    - speed_limit
    - speed
    - dec
    argTypes:
    - struct Curl_easy*
    - long
    - long
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 77
    functionName: runawhile
    functionSourceFile: /src/curl/tests/unit/unit1606.c
    functionUses: 0
    functionsReached:
    - Curl_speedinit
    - Curl_speedcheck
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: "int runawhile(struct Curl_easy *easy,\n                     long time_limit,\n
      \                    long speed_limit,\n                     curl_off_t speed,\n
      \                    int dec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITTEST_BEGIN
      Src: /src/curl/tests/unit/unit1606.c:83,1
    - Dst: t1606_setup
      Src: /src/curl/tests/unit/unit1606.c:83,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1606.c:85,1
    - Dst: runawhile
      Src: /src/curl/tests/unit/unit1606.c:85,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1606.c:87,1
    - Dst: runawhile
      Src: /src/curl/tests/unit/unit1606.c:87,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1606.c:89,1
    - Dst: runawhile
      Src: /src/curl/tests/unit/unit1606.c:89,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1606.c:91,1
    - Dst: runawhile
      Src: /src/curl/tests/unit/unit1606.c:91,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1606.c:93,1
    - Dst: runawhile
      Src: /src/curl/tests/unit/unit1606.c:93,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1606.c:95,1
    - Dst: runawhile
      Src: /src/curl/tests/unit/unit1606.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: test_unit1606
    functionSourceFile: /src/curl/tests/unit/unit1606.c
    functionUses: 0
    functionsReached:
    - t1606_setup
    - UNITTEST_BEGIN
    - fail_unless
    - runawhile
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1606(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/curl/tests/unit/unit1663.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: t1663_setup
    functionSourceFile: /src/curl/tests/unit/unit1663.c
    functionUses: 0
    functionsReached:
    - global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode t1663_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_parse_interface
      Src: /src/curl/tests/unit/unit1663.c:54,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1663.c:55,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1663.c:57,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1663.c:58,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1663.c:59,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1663.c:62,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1663.c:62,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1663.c:64,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1663.c:64,1
    - Dst: fail_unless
      Src: /src/curl/tests/unit/unit1663.c:66,1
    - Dst: strcmp
      Src: /src/curl/tests/unit/unit1663.c:66,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1663.c:70,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1663.c:71,1
    - Dst: free
      Src: /src/curl/tests/unit/unit1663.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - input_data
    - exp_dev
    - exp_iface
    - exp_host
    - exp_rc
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: t1663_parse
    functionSourceFile: /src/curl/tests/unit/unit1663.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - fail_unless
    - Curl_parse_interface
    linkageType: ''
    returnType: void
    signature: "void t1663_parse(\n  const char *input_data,\n  const char *exp_dev,\n
      \ const char *exp_iface,\n  const char *exp_host,\n  CURLcode exp_rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:79,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:80,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:81,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:82,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:83,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:84,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:85,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:86,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:87,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:88,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:89,1
    - Dst: t1663_parse
      Src: /src/curl/tests/unit/unit1663.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: test_unit1663
    functionSourceFile: /src/curl/tests/unit/unit1663.c
    functionUses: 0
    functionsReached:
    - t1663_parse
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode test_unit1663(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/curl/packages/OS400/curlmain.c:73,1
    - Dst: iconv
      Src: /src/curl/packages/OS400/curlmain.c:82,1
    - Dst: iconv
      Src: /src/curl/packages/OS400/curlmain.c:87,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/curlmain.c:91,1
    - Dst: iconv
      Src: /src/curl/packages/OS400/curlmain.c:101,1
    - Dst: iconv
      Src: /src/curl/packages/OS400/curlmain.c:102,1
    - Dst: iconv_close
      Src: /src/curl/packages/OS400/curlmain.c:105,1
    - Dst: setlocale_a
      Src: /src/curl/packages/OS400/curlmain.c:109,1
    - Dst: main_a
      Src: /src/curl/packages/OS400/curlmain.c:112,1
    - Dst: free
      Src: /src/curl/packages/OS400/curlmain.c:115,1
    - Dst: QadrtFreeConversionTable
      Src: /src/curl/packages/OS400/curlmain.c:116,1
    - Dst: QadrtFreeEnviron
      Src: /src/curl/packages/OS400/curlmain.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/curl/packages/OS400/curlmain.c
    functionUses: 0
    functionsReached:
    - setlocale_a
    - malloc
    - iconv_open
    - iconv
    - QadrtFreeConversionTable
    - free
    - iconv_close
    - QadrtFreeEnviron
    - main_a
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: is_ifs
    functionSourceFile: /src/curl/packages/OS400/curlcl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ifs(char c)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_ifs
      Src: /src/curl/packages/OS400/curlcl.c:74,1
    - Dst: fputs
      Src: /src/curl/packages/OS400/curlcl.c:93,1
    - Dst: is_ifs
      Src: /src/curl/packages/OS400/curlcl.c:98,1
    - Dst: fprintf
      Src: /src/curl/packages/OS400/curlcl.c:111,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 6
    argNames:
    - cmdargs
    - len
    - argc
    - argv
    - argsize
    - argbuf
    argTypes:
    - char*
    - size_t
    - size_t*
    - char**
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 127
    functionName: parse_command_line
    functionSourceFile: /src/curl/packages/OS400/curlcl.c
    functionUses: 0
    functionsReached:
    - is_ifs
    - fputs
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int parse_command_line(const char *cmdargs, size_t len,\n                   size_t
      *argc, char **argv,\n                   size_t *argsize, char *argbuf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_command_line
      Src: /src/curl/packages/OS400/curlcl.c:152,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/curlcl.c:157,1
    - Dst: fputs
      Src: /src/curl/packages/OS400/curlcl.c:159,1
    - Dst: rslvsp
      Src: /src/curl/packages/OS400/curlcl.c:163,1
    - Dst: _LUWRKA
      Src: /src/curl/packages/OS400/curlcl.c:164,1
    - Dst: parse_command_line
      Src: /src/curl/packages/OS400/curlcl.c:166,1
    - Dst: _CALLPGMV
      Src: /src/curl/packages/OS400/curlcl.c:170,1
    - Dst: free
      Src: /src/curl/packages/OS400/curlcl.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - argsc
    - args
    argTypes:
    - int
    - struct arguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/curl/packages/OS400/curlcl.c
    functionUses: 0
    functionsReached:
    - malloc
    - fputs
    - _CALLPGMV
    - parse_command_line
    - free
    - _LUWRKA
    - rslvsp
    linkageType: ''
    returnType: int
    signature: int main(int argsc, struct arguments *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: ICONV_OPEN_ERROR
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ICONV_OPEN_ERROR(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/packages/OS400/ccsidcurl.c:77,1
    - Dst: curl_msprintf
      Src: /src/curl/packages/OS400/ccsidcurl.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - ccsid
    argTypes:
    - char[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: makeOS400IconvCode
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_msprintf
    - memset
    linkageType: ''
    returnType: void
    signature: void makeOS400IconvCode(char buf[ICONV_ID_SIZE], unsigned int ccsid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeOS400IconvCode
      Src: /src/curl/packages/OS400/ccsidcurl.c:96,1
    - Dst: makeOS400IconvCode
      Src: /src/curl/packages/OS400/ccsidcurl.c:97,1
    - Dst: memset
      Src: /src/curl/packages/OS400/ccsidcurl.c:98,1
    - Dst: iconv_open
      Src: /src/curl/packages/OS400/ccsidcurl.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ccsidout
    - ccsidin
    - cstr
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: iconv_open_CCSID
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - iconv_open
    - makeOS400IconvCode
    - memset
    linkageType: ''
    returnType: iconv_t
    signature: "iconv_t iconv_open_CCSID(unsigned int ccsidout, unsigned int ccsidin,\n
      \                unsigned int cstr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/OS400/ccsidcurl.c:130,1
    - Dst: memcpy
      Src: /src/curl/packages/OS400/ccsidcurl.c:134,1
    - Dst: iconv_open_CCSID
      Src: /src/curl/packages/OS400/ccsidcurl.c:141,1
    - Dst: iconv_open_CCSID
      Src: /src/curl/packages/OS400/ccsidcurl.c:145,1
    - Dst: ICONV_OPEN_ERROR
      Src: /src/curl/packages/OS400/ccsidcurl.c:148,1
    - Dst: iconv
      Src: /src/curl/packages/OS400/ccsidcurl.c:153,1
    - Dst: iconv_close
      Src: /src/curl/packages/OS400/ccsidcurl.c:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - d
    - dlen
    - dccsid
    - s
    - slen
    - sccsid
    argTypes:
    - char*
    - size_t
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 160
    functionName: convert
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - strlen
    - iconv
    - memcpy
    - ICONV_OPEN_ERROR
    - iconv_close
    - iconv_open_CCSID
    linkageType: ''
    returnType: int
    signature: "int convert(char *d, size_t dlen, int dccsid,\n        const char
      *s, int slen, int sccsid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/OS400/ccsidcurl.c:173,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:175,1
    - Dst: convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:180,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:183,1
    - Dst: convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:192,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:195,1
    - Dst: realloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - dccsid
    - s
    - slen
    - sccsid
    argTypes:
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 210
    functionName: dynconvert
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - convert
    - free
    - realloc
    linkageType: ''
    returnType: char
    signature: char *dynconvert(int dccsid, const char *s, int slen, int sccsid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:220,1
    - Dst: curl_slist_free_all
      Src: /src/curl/packages/OS400/ccsidcurl.c:223,1
    - Dst: Curl_slist_append_nodup
      Src: /src/curl/packages/OS400/ccsidcurl.c:226,1
    - Dst: curl_slist_free_all
      Src: /src/curl/packages/OS400/ccsidcurl.c:228,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - dccsid
    - from
    - sccsid
    argTypes:
    - int
    - struct curl_slist*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: slist_convert
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - Curl_slist_append_nodup
    - dynconvert
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: struct curl_slist
    signature: 'struct curl_slist *

      slist_convert(int dccsid, struct curl_slist *from, int sccsid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/OS400/ccsidcurl.c:247,1
    - Dst: Curl_thread_buffer
      Src: /src/curl/packages/OS400/ccsidcurl.c:249,1
    - Dst: convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - key
    - ascii
    - ccsid
    argTypes:
    - localkey_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: keyed_string
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - Curl_thread_buffer
    - strlen
    - convert
    linkageType: ''
    returnType: char
    signature: 'char *

      keyed_string(localkey_t key, const char *ascii, unsigned int ccsid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ccsid
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 5
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: curl_to_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - dynconvert
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_to_ccsid(const char *s, unsigned int ccsid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ccsid
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: curl_from_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - dynconvert
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_from_ccsid(const char *s, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/curl/packages/OS400/ccsidcurl.c:281,1
    - Dst: curl_version
      Src: /src/curl/packages/OS400/ccsidcurl.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ccsid
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 5
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: curl_version_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - keyed_string
    - curl_version
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_version_ccsid(unsigned int ccsid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:298,1
    - Dst: curl_easy_escape
      Src: /src/curl/packages/OS400/ccsidcurl.c:303,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:304,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:309,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - handle
    - string
    - length
    - sccsid
    - dccsid
    argTypes:
    - CURL*
    - char*
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 285
    functionDepth: 5
    functionLinenumber: 285
    functionLinenumberEnd: 312
    functionName: curl_easy_escape_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - dynconvert
    - curl_easy_escape
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_easy_escape_ccsid(CURL *handle, const char *string, int
      length,\n                       unsigned int sccsid, unsigned int dccsid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:329,1
    - Dst: curl_easy_unescape
      Src: /src/curl/packages/OS400/ccsidcurl.c:334,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:335,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:340,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:341,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/ccsidcurl.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - handle
    - string
    - length
    - outlength
    - sccsid
    - dccsid
    argTypes:
    - CURL*
    - char*
    - int
    - int*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 315
    functionDepth: 5
    functionLinenumber: 315
    functionLinenumberEnd: 347
    functionName: curl_easy_unescape_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - dynconvert
    - strlen
    - curl_easy_unescape
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_easy_unescape_ccsid(CURL *handle, const char *string,
      int length,\n                         int *outlength,\n                         unsigned
      int sccsid, unsigned int dccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/packages/OS400/ccsidcurl.c:359,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:361,1
    - Dst: curl_slist_append
      Src: /src/curl/packages/OS400/ccsidcurl.c:366,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - list
    - data
    - ccsid
    argTypes:
    - struct curl_slist*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 369
    functionName: curl_slist_append_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - curl_slist_append
    - dynconvert
    linkageType: ''
    returnType: struct curl_slist
    signature: "struct curl_slist *\ncurl_slist_append_ccsid(struct curl_slist *list,\n
      \                       const char *data, unsigned int ccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_getdate
      Src: /src/curl/packages/OS400/ccsidcurl.c:379,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:381,1
    - Dst: curl_getdate
      Src: /src/curl/packages/OS400/ccsidcurl.c:386,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p
    - unused
    - ccsid
    argTypes:
    - char*
    - time_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 389
    functionName: curl_getdate_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - dynconvert
    - curl_getdate
    linkageType: ''
    returnType: time_t
    signature: time_t curl_getdate_ccsid(const char *p, const time_t *unused, unsigned
      int ccsid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - stringp
    - bufp
    - left
    - ccsid
    argTypes:
    - char**
    - char**
    - int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 413
    functionName: convert_version_info_string
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - convert
    linkageType: ''
    returnType: int
    signature: "int convert_version_info_string(const char **stringp,\n                            char
      **bufp, int *left, unsigned int ccsid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/curl/packages/OS400/ccsidcurl.c:459,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/ccsidcurl.c:471,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/ccsidcurl.c:479,1
    - Dst: Curl_thread_buffer
      Src: /src/curl/packages/OS400/ccsidcurl.c:489,1
    - Dst: Curl_thread_buffer
      Src: /src/curl/packages/OS400/ccsidcurl.c:490,1
    - Dst: memcpy
      Src: /src/curl/packages/OS400/ccsidcurl.c:498,1
    - Dst: memcpy
      Src: /src/curl/packages/OS400/ccsidcurl.c:504,1
    - Dst: convert_version_info_string
      Src: /src/curl/packages/OS400/ccsidcurl.c:509,1
    - Dst: convert_version_info_string
      Src: /src/curl/packages/OS400/ccsidcurl.c:516,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - stamp
    - ccsid
    argTypes:
    - CURLversion
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 416
    functionDepth: 5
    functionLinenumber: 416
    functionLinenumberEnd: 521
    functionName: curl_version_info_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - Curl_thread_buffer
    - convert_version_info_string
    - strlen
    - curl_version_info
    - memcpy
    linkageType: ''
    returnType: curl_version_info_data
    signature: 'curl_version_info_data *

      curl_version_info_ccsid(CURLversion stamp, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/curl/packages/OS400/ccsidcurl.c:527,1
    - Dst: curl_easy_strerror
      Src: /src/curl/packages/OS400/ccsidcurl.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error
    - ccsid
    argTypes:
    - CURLcode
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 5
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: curl_easy_strerror_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - keyed_string
    - curl_easy_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_easy_strerror_ccsid(CURLcode error, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/curl/packages/OS400/ccsidcurl.c:534,1
    - Dst: curl_share_strerror
      Src: /src/curl/packages/OS400/ccsidcurl.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error
    - ccsid
    argTypes:
    - CURLSHcode
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 5
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: curl_share_strerror_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_share_strerror
    - keyed_string
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_share_strerror_ccsid(CURLSHcode error, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/curl/packages/OS400/ccsidcurl.c:541,1
    - Dst: curl_multi_strerror
      Src: /src/curl/packages/OS400/ccsidcurl.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error
    - ccsid
    argTypes:
    - CURLMcode
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 5
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: curl_multi_strerror_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - keyed_string
    - curl_multi_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_multi_strerror_ccsid(CURLMcode error, unsigned int ccsid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keyed_string
      Src: /src/curl/packages/OS400/ccsidcurl.c:548,1
    - Dst: curl_url_strerror
      Src: /src/curl/packages/OS400/ccsidcurl.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error
    - ccsid
    argTypes:
    - CURLUcode
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 5
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: curl_url_strerror_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_url_strerror
    - keyed_string
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_url_strerror_ccsid(CURLUcode error, unsigned int ccsid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/curl/packages/OS400/ccsidcurl.c:561,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:562,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - struct curl_certinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 566
    functionName: curl_certinfo_free_all
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void curl_certinfo_free_all(struct curl_certinfo *info)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/packages/OS400/ccsidcurl.c:581,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:582,1
    - Dst: Curl_getinfo
      Src: /src/curl/packages/OS400/ccsidcurl.c:583,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:595,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:599,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:608,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:613,1
    - Dst: calloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:618,1
    - Dst: slist_convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:628,1
    - Dst: curl_certinfo_free_all
      Src: /src/curl/packages/OS400/ccsidcurl.c:638,1
    - Dst: slist_convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:655,1
    - Dst: va_end
      Src: /src/curl/packages/OS400/ccsidcurl.c:664,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 2
    argNames:
    - curl
    - info
    argTypes:
    - CURL*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 569
    functionDepth: 6
    functionLinenumber: 569
    functionLinenumberEnd: 666
    functionName: curl_easy_getinfo_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_certinfo_free_all
    - dynconvert
    - malloc
    - calloc
    - Curl_getinfo
    - va_start
    - slist_convert
    - va_end
    - va_arg
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_getinfo_ccsid(CURL *curl, CURLINFO info, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - option
    argTypes:
    - CURLformoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 685
    functionName: Curl_is_formadd_string
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Curl_is_formadd_string(CURLformoption option)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_is_formadd_string
      Src: /src/curl/packages/OS400/ccsidcurl.c:693,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:695,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - forms
    - nargs
    - skip
    argTypes:
    - struct curl_forms*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 698
    functionName: Curl_formadd_release_local
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - Curl_is_formadd_string
    - free
    linkageType: ''
    returnType: void
    signature: void Curl_formadd_release_local(struct curl_forms *forms, int nargs,
      int skip)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/OS400/ccsidcurl.c:715,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:717,1
    - Dst: convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:722,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:726,1
    - Dst: realloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - forms
    - formx
    - lengthx
    - ccsid
    argTypes:
    - struct curl_forms*
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 701
    functionDepth: 4
    functionLinenumber: 701
    functionLinenumberEnd: 741
    functionName: Curl_formadd_convert
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - convert
    - free
    - realloc
    linkageType: ''
    returnType: int
    signature: "int Curl_formadd_convert(struct curl_forms *forms,\n                     int
      formx, int lengthx, unsigned int ccsid)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:783,1
    - Dst: va_start
      Src: /src/curl/packages/OS400/ccsidcurl.c:798,1
    - Dst: realloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:805,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:827,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:843,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:860,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:861,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:877,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:878,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:890,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:898,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:906,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:914,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:920,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:926,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:932,1
    - Dst: Curl_formadd_convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:939,1
    - Dst: Curl_is_formadd_string
      Src: /src/curl/packages/OS400/ccsidcurl.c:951,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:957,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:958,1
    - Dst: Curl_formadd_convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:969,1
    - Dst: va_end
      Src: /src/curl/packages/OS400/ccsidcurl.c:984,1
    - Dst: Curl_formadd_convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:989,1
    - Dst: Curl_formadd_convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:996,1
    - Dst: curl_formadd
      Src: /src/curl/packages/OS400/ccsidcurl.c:1006,1
    - Dst: Curl_formadd_release_local
      Src: /src/curl/packages/OS400/ccsidcurl.c:1012,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 149
    argCount: 2
    argNames:
    - httppost
    - last_post
    argTypes:
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 744
    functionDepth: 5
    functionLinenumber: 744
    functionLinenumberEnd: 1014
    functionName: curl_formadd_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - malloc
    - Curl_is_formadd_string
    - va_start
    - va_end
    - Curl_formadd_convert
    - Curl_formadd_release_local
    - curl_formadd
    - realloc
    - va_arg
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode curl_formadd_ccsid(struct curl_httppost **httppost,\n
      \                  struct curl_httppost **last_post, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:1037,1
    - Dst: convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1042,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1045,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1024
    functionDepth: 4
    functionLinenumber: 1024
    functionLinenumberEnd: 1052
    functionName: Curl_formget_callback_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - convert
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_formget_callback_ccsid(void *arg, const char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_formget
      Src: /src/curl/packages/OS400/ccsidcurl.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - form
    - arg
    - append
    - ccsid
    argTypes:
    - struct curl_httppost*
    - void*
    - curl_formget_callback
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1065
    functionName: curl_formget_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_formget
    linkageType: ''
    returnType: int
    signature: "int curl_formget_ccsid(struct curl_httppost *form, void *arg,\n                   curl_formget_callback
      append, unsigned int ccsid)"
  - BBCount: 110
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/packages/OS400/ccsidcurl.c:1079,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:1179,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:1180,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1183,1
    - Dst: curl_easy_setopt
      Src: /src/curl/packages/OS400/ccsidcurl.c:1191,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1192,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:1199,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:1200,1
    - Dst: curl_easy_setopt
      Src: /src/curl/packages/OS400/ccsidcurl.c:1205,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1211,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:1233,1
    - Dst: convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1240,1
    - Dst: curl_easy_setopt
      Src: /src/curl/packages/OS400/ccsidcurl.c:1252,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:1258,1
    - Dst: va_arg
      Src: /src/curl/packages/OS400/ccsidcurl.c:1261,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/ccsidcurl.c:1270,1
    - Dst: convert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1277,1
    - Dst: curl_easy_setopt
      Src: /src/curl/packages/OS400/ccsidcurl.c:1289,1
    - Dst: FALLTHROUGH
      Src: /src/curl/packages/OS400/ccsidcurl.c:1292,1
    - Dst: Curl_vsetopt
      Src: /src/curl/packages/OS400/ccsidcurl.c:1294,1
    - Dst: va_end
      Src: /src/curl/packages/OS400/ccsidcurl.c:1298,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1299,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 180
    argCount: 2
    argNames:
    - easy
    - tag
    argTypes:
    - CURL*
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1068
    functionDepth: 5
    functionLinenumber: 1068
    functionLinenumberEnd: 1301
    functionName: curl_easy_setopt_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - dynconvert
    - malloc
    - Curl_vsetopt
    - va_start
    - convert
    - free
    - va_end
    - curl_easy_setopt
    - va_arg
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_setopt_ccsid(CURL *easy, CURLoption tag, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1312
    functionName: curl_form_long_value
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_form_long_value(long value)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/packages/OS400/ccsidcurl.c:1323,1
    - Dst: curl_easy_setopt
      Src: /src/curl/packages/OS400/ccsidcurl.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - easy
    - tag
    - arg
    argTypes:
    - CURL*
    - CURLoption
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1325
    functionName: curl_easy_setopt_RPGnum_
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_setopt_RPGnum_(CURL *easy, CURLoption tag, curl_off_t
      arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_setopt
      Src: /src/curl/packages/OS400/ccsidcurl.c:1333,1
    - Dst: curl_multi_setopt
      Src: /src/curl/packages/OS400/ccsidcurl.c:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - multi
    - tag
    - arg
    argTypes:
    - CURLM*
    - CURLMoption
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1335
    functionName: curl_multi_setopt_RPGnum_
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_multi_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_multi_setopt_RPGnum_(CURLM *multi, CURLMoption tag, curl_off_t
      arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_pushheader_bynum
      Src: /src/curl/packages/OS400/ccsidcurl.c:1343,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h
    - num
    - ccsid
    argTypes:
    - struct curl_pushheaders*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1338
    functionDepth: 5
    functionLinenumber: 1338
    functionLinenumberEnd: 1349
    functionName: curl_pushheader_bynum_cssid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - dynconvert
    - curl_pushheader_bynum
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_pushheader_bynum_cssid(struct curl_pushheaders *h,\n
      \                           size_t num, unsigned int ccsid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1359,1
    - Dst: curl_pushheader_byname
      Src: /src/curl/packages/OS400/ccsidcurl.c:1362,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1363,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - h
    - header
    - ccsidin
    - ccsidout
    argTypes:
    - struct curl_pushheaders*
    - char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1352
    functionDepth: 5
    functionLinenumber: 1352
    functionLinenumberEnd: 1371
    functionName: curl_pushheader_byname_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - dynconvert
    - curl_pushheader_byname
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_pushheader_byname_ccsid(struct curl_pushheaders *h, const
      char *header,\n                             unsigned int ccsidin, unsigned int
      ccsidout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mimefunc
      Src: /src/curl/packages/OS400/ccsidcurl.c:1381,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1382,1
    - Dst: mimefunc
      Src: /src/curl/packages/OS400/ccsidcurl.c:1386,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - part
    - string
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1373
    functionDepth: 5
    functionLinenumber: 1373
    functionLinenumberEnd: 1389
    functionName: mime_string_call
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - dynconvert
    - mimefunc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mime_string_call(curl_mimepart *part, const char *string,
      unsigned int ccsid,\n                 CURLcode (*mimefunc)(curl_mimepart *part,
      const char *string))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/curl/packages/OS400/ccsidcurl.c:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - name
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 6
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: curl_mime_name_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_name_ccsid(curl_mimepart *part, const char *name,
      unsigned int ccsid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/curl/packages/OS400/ccsidcurl.c:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - filename
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1397
    functionDepth: 6
    functionLinenumber: 1397
    functionLinenumberEnd: 1402
    functionName: curl_mime_filename_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_filename_ccsid(curl_mimepart *part,\n                         const
      char *filename, unsigned int ccsid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/curl/packages/OS400/ccsidcurl.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - mimetype
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1404
    functionDepth: 6
    functionLinenumber: 1404
    functionLinenumberEnd: 1409
    functionName: curl_mime_type_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_type_ccsid(curl_mimepart *part,\n                     const
      char *mimetype, unsigned int ccsid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/curl/packages/OS400/ccsidcurl.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - encoding
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1411
    functionDepth: 6
    functionLinenumber: 1411
    functionLinenumberEnd: 1416
    functionName: curl_mime_encoder_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_encoder_ccsid(curl_mimepart *part,\n                       const
      char *encoding, unsigned int ccsid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_string_call
      Src: /src/curl/packages/OS400/ccsidcurl.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - part
    - filename
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1418
    functionDepth: 6
    functionLinenumber: 1418
    functionLinenumberEnd: 1423
    functionName: curl_mime_filedata_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - mime_string_call
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_filedata_ccsid(curl_mimepart *part,\n                         const
      char *filename, unsigned int ccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mime_data
      Src: /src/curl/packages/OS400/ccsidcurl.c:1433,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1434,1
    - Dst: curl_mime_data
      Src: /src/curl/packages/OS400/ccsidcurl.c:1438,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - part
    - data
    - datasize
    - ccsid
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1425
    functionDepth: 5
    functionLinenumber: 1425
    functionLinenumberEnd: 1441
    functionName: curl_mime_data_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - dynconvert
    - curl_mime_data
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data_ccsid(curl_mimepart *part,\n                     const
      char *data, size_t datasize, unsigned int ccsid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url_get
      Src: /src/curl/packages/OS400/ccsidcurl.c:1454,1
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1457,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - handle
    - what
    - part
    - flags
    - ccsid
    argTypes:
    - CURLU*
    - CURLUPart
    - char**
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1443
    functionDepth: 5
    functionLinenumber: 1443
    functionLinenumberEnd: 1465
    functionName: curl_url_get_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - dynconvert
    - curl_url_get
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode curl_url_get_ccsid(CURLU *handle, CURLUPart what, char **part,\n
      \                  unsigned int flags, unsigned int ccsid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1475,1
    - Dst: curl_url_set
      Src: /src/curl/packages/OS400/ccsidcurl.c:1479,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - handle
    - what
    - part
    - flags
    - ccsid
    argTypes:
    - CURLU*
    - CURLUPart
    - char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1467
    functionDepth: 5
    functionLinenumber: 1467
    functionLinenumberEnd: 1483
    functionName: curl_url_set_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - dynconvert
    - free
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode curl_url_set_ccsid(CURLU *handle, CURLUPart what, const
      char *part,\n                   unsigned int flags, unsigned int ccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1491,1
    - Dst: curl_easy_option_by_name
      Src: /src/curl/packages/OS400/ccsidcurl.c:1494,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - name
    - ccsid
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1485
    functionDepth: 5
    functionLinenumber: 1485
    functionLinenumberEnd: 1500
    functionName: curl_easy_option_by_name_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - dynconvert
    - curl_easy_option_by_name
    linkageType: ''
    returnType: struct curl_easyoption
    signature: 'struct curl_easyoption *

      curl_easy_option_by_name_ccsid(const char *name, unsigned int ccsid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - option
    - ccsid
    argTypes:
    - struct curl_easyoption*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1503
    functionDepth: 5
    functionLinenumber: 1503
    functionLinenumberEnd: 1513
    functionName: curl_easy_option_get_name_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - dynconvert
    linkageType: ''
    returnType: char
    signature: "char *\ncurl_easy_option_get_name_ccsid(const struct curl_easyoption
      *option,\n                                unsigned int ccsid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynconvert
      Src: /src/curl/packages/OS400/ccsidcurl.c:1524,1
    - Dst: curl_easy_header
      Src: /src/curl/packages/OS400/ccsidcurl.c:1528,1
    - Dst: free
      Src: /src/curl/packages/OS400/ccsidcurl.c:1529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - easy
    - name
    - index
    - origin
    - request
    - hout
    - ccsid
    argTypes:
    - CURL*
    - char*
    - size_t
    - unsigned int
    - int
    - struct curl_header**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1516
    functionDepth: 5
    functionLinenumber: 1516
    functionLinenumberEnd: 1534
    functionName: curl_easy_header_ccsid
    functionSourceFile: /src/curl/packages/OS400/ccsidcurl.c
    functionUses: 0
    functionsReached:
    - free
    - dynconvert
    - curl_easy_header
    linkageType: ''
    returnType: CURLHcode
    signature: "CURLHcode curl_easy_header_ccsid(CURL *easy, const char *name, size_t
      index,\n                       unsigned int origin, int request,\n                       struct
      curl_header **hout, unsigned int ccsid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:93,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: thdbufdestroy
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void thdbufdestroy(void *private)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/curl/packages/OS400/os400sys.c:106,1
    - Dst: pthread_setspecific
      Src: /src/curl/packages/OS400/os400sys.c:107,1
    - Dst: pthread_key_delete
      Src: /src/curl/packages/OS400/os400sys.c:108,1
    - Dst: thdbufdestroy
      Src: /src/curl/packages/OS400/os400sys.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: terminate
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - pthread_getspecific
    - thdbufdestroy
    - pthread_setspecific
    - pthread_key_delete
    linkageType: ''
    returnType: void
    signature: void terminate(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:132,1
    - Dst: realloc
      Src: /src/curl/packages/OS400/os400sys.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - struct buffer_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 158
    functionName: get_buffer
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    linkageType: ''
    returnType: char
    signature: 'char *

      get_buffer(struct buffer_t *buf, long size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_buffer
      Src: /src/curl/packages/OS400/os400sys.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - localkey_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: buffer_unthreaded
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - get_buffer
    linkageType: ''
    returnType: char
    signature: 'char *

      buffer_unthreaded(localkey_t key, long size)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/curl/packages/OS400/os400sys.c:188,1
    - Dst: calloc
      Src: /src/curl/packages/OS400/os400sys.c:196,1
    - Dst: pthread_setspecific
      Src: /src/curl/packages/OS400/os400sys.c:200,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:201,1
    - Dst: get_buffer
      Src: /src/curl/packages/OS400/os400sys.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - localkey_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: buffer_threaded
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - calloc
    - pthread_setspecific
    - free
    - pthread_getspecific
    - get_buffer
    linkageType: ''
    returnType: char
    signature: 'char *

      buffer_threaded(localkey_t key, long size)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/curl/packages/OS400/os400sys.c:217,1
    - Dst: pthread_key_create
      Src: /src/curl/packages/OS400/os400sys.c:223,1
    - Dst: calloc
      Src: /src/curl/packages/OS400/os400sys.c:230,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/packages/OS400/os400sys.c:232,1
    - Dst: atexit
      Src: /src/curl/packages/OS400/os400sys.c:239,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/packages/OS400/os400sys.c:242,1
    - Dst: Curl_thread_buffer
      Src: /src/curl/packages/OS400/os400sys.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - localkey_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 244
    functionName: buffer_undef
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - Curl_thread_buffer
    - calloc
    - atexit
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_key_create
    linkageType: ''
    returnType: char
    signature: 'char *

      buffer_undef(localkey_t key, long size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:256,1
    - Dst: Curl_thread_buffer
      Src: /src/curl/packages/OS400/os400sys.c:257,1
    - Dst: QadrtConvertE2A
      Src: /src/curl/packages/OS400/os400sys.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key
    - s
    argTypes:
    - localkey_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 265
    functionName: set_thread_string
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - Curl_thread_buffer
    - strlen
    - QadrtConvertE2A
    linkageType: ''
    returnType: char
    signature: 'char *

      set_thread_string(localkey_t key, const char *s)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:279,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:285,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:287,1
    - Dst: getnameinfo
      Src: /src/curl/packages/OS400/os400sys.c:292,1
    - Dst: QadrtConvertE2A
      Src: /src/curl/packages/OS400/os400sys.c:298,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:299,1
    - Dst: QadrtConvertE2A
      Src: /src/curl/packages/OS400/os400sys.c:304,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:305,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:310,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:311,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 7
    argNames:
    - sa
    - salen
    - nodename
    - nodenamelen
    - servname
    - servnamelen
    - flags
    argTypes:
    - struct sockaddr*
    - socklen_t
    - char*
    - socklen_t
    - char*
    - socklen_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 313
    functionName: Curl_getnameinfo_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - malloc
    - strlen
    - free
    - getnameinfo
    - QadrtConvertE2A
    linkageType: ''
    returnType: int
    signature: "int Curl_getnameinfo_a(const struct sockaddr *sa, socklen_t salen,\n
      \                  char *nodename, socklen_t nodenamelen,\n                   char
      *servname, socklen_t servnamelen,\n                   int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:329,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:331,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:335,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:340,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:342,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:344,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:348,1
    - Dst: getaddrinfo
      Src: /src/curl/packages/OS400/os400sys.c:353,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:354,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - nodename
    - servname
    - hints
    - res
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 357
    functionName: Curl_getaddrinfo_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - getaddrinfo
    - free
    - QadrtConvertA2E
    linkageType: ''
    returnType: int
    signature: "int Curl_getaddrinfo_a(const char *nodename, const char *servname,\n
      \                  const struct addrinfo *hints,\n                   struct
      addrinfo **res)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:372,1
    - Dst: gss_release_buffer
      Src: /src/curl/packages/OS400/os400sys.c:374,1
    - Dst: QadrtConvertE2A
      Src: /src/curl/packages/OS400/os400sys.c:383,1
    - Dst: memcpy
      Src: /src/curl/packages/OS400/os400sys.c:384,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - minor_status
    - buf
    argTypes:
    - OM_uint32*
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 389
    functionName: Curl_gss_convert_in_place
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - malloc
    - gss_release_buffer
    - memcpy
    - free
    - QadrtConvertE2A
    linkageType: ''
    returnType: int
    signature: int Curl_gss_convert_in_place(OM_uint32 *minor_status, gss_buffer_t
      buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gss_import_name
      Src: /src/curl/packages/OS400/os400sys.c:401,1
    - Dst: memcpy
      Src: /src/curl/packages/OS400/os400sys.c:403,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:406,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:415,1
    - Dst: gss_import_name
      Src: /src/curl/packages/OS400/os400sys.c:417,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - minor_status
    - in_name
    - in_name_type
    - out_name
    argTypes:
    - OM_uint32*
    - gss_buffer_t
    - gss_OID
    - gss_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 420
    functionName: Curl_gss_import_name_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - malloc
    - gss_import_name
    - memcpy
    - free
    - QadrtConvertA2E
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_import_name_a(OM_uint32 *minor_status, gss_buffer_t
      in_name,\n                       gss_OID in_name_type, gss_name_t *out_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_display_status
      Src: /src/curl/packages/OS400/os400sys.c:430,1
    - Dst: Curl_gss_convert_in_place
      Src: /src/curl/packages/OS400/os400sys.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 6
    argNames:
    - minor_status
    - status_value
    - status_type
    - mech_type
    - message_context
    - status_string
    argTypes:
    - OM_uint32*
    - OM_uint32
    - int
    - gss_OID
    - gss_msg_ctx_t*
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 445
    functionName: Curl_gss_display_status_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - Curl_gss_convert_in_place
    - gss_display_status
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_display_status_a(OM_uint32 *minor_status, OM_uint32
      status_value,\n                          int status_type, gss_OID mech_type,\n
      \                         gss_msg_ctx_t *message_context,\n                          gss_buffer_t
      status_string)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:470,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:479,1
    - Dst: gss_init_sec_context
      Src: /src/curl/packages/OS400/os400sys.c:486,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:490,1
    - Dst: Curl_gss_convert_in_place
      Src: /src/curl/packages/OS400/os400sys.c:500,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 13
    argNames:
    - minor_status
    - cred_handle
    - context_handle
    - target_name
    - mech_type
    - req_flags
    - time_req
    - input_chan_bindings
    - input_token
    - actual_mech_type
    - output_token
    - ret_flags
    - time_rec
    argTypes:
    - OM_uint32*
    - gss_cred_id_t
    - gss_ctx_id_t*
    - gss_name_t
    - gss_OID
    - gss_flags_t
    - OM_uint32
    - gss_channel_bindings_t
    - gss_buffer_t
    - gss_OID*
    - gss_buffer_t
    - gss_flags_t*
    - OM_uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 504
    functionName: Curl_gss_init_sec_context_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - malloc
    - gss_init_sec_context
    - free
    - Curl_gss_convert_in_place
    - QadrtConvertA2E
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_init_sec_context_a(OM_uint32 *minor_status,\n                            gss_cred_id_t
      cred_handle,\n                            gss_ctx_id_t *context_handle,\n                            gss_name_t
      target_name, gss_OID mech_type,\n                            gss_flags_t req_flags,
      OM_uint32 time_req,\n                            gss_channel_bindings_t input_chan_bindings,\n
      \                           gss_buffer_t input_token,\n                            gss_OID
      *actual_mech_type,\n                            gss_buffer_t output_token, gss_flags_t
      *ret_flags,\n                            OM_uint32 *time_rec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_delete_sec_context
      Src: /src/curl/packages/OS400/os400sys.c:514,1
    - Dst: Curl_gss_convert_in_place
      Src: /src/curl/packages/OS400/os400sys.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - minor_status
    - context_handle
    - output_token
    argTypes:
    - OM_uint32*
    - gss_ctx_id_t*
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 528
    functionName: Curl_gss_delete_sec_context_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - gss_delete_sec_context
    - Curl_gss_convert_in_place
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_delete_sec_context_a(OM_uint32 *minor_status,\n
      \                             gss_ctx_id_t *context_handle,\n                              gss_buffer_t
      output_token)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_init
      Src: /src/curl/packages/OS400/os400sys.c:544,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:546,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:548,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:552,1
    - Dst: ldap_init
      Src: /src/curl/packages/OS400/os400sys.c:554,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 557
    functionName: Curl_ldap_init_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - free
    - ldap_init
    - QadrtConvertA2E
    linkageType: ''
    returnType: void
    signature: 'void *

      Curl_ldap_init_a(char *host, int port)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:570,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:572,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:576,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:581,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:583,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:585,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:589,1
    - Dst: ldap_simple_bind_s
      Src: /src/curl/packages/OS400/os400sys.c:593,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:594,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - ld
    - dn
    - passwd
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 597
    functionName: Curl_ldap_simple_bind_s_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - ldap_simple_bind_s
    - strlen
    - malloc
    - free
    - QadrtConvertA2E
    linkageType: ''
    returnType: int
    signature: int Curl_ldap_simple_bind_s_a(void *ld, char *dn, char *passwd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:616,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:618,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:622,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:628,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:630,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:634,1
    - Dst: calloc
      Src: /src/curl/packages/OS400/os400sys.c:643,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:648,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:650,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:656,1
    - Dst: ldap_search_s
      Src: /src/curl/packages/OS400/os400sys.c:663,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:669,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:671,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:674,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:675,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 7
    argNames:
    - ld
    - base
    - scope
    - filter
    - attrs
    - attrsonly
    - res
    argTypes:
    - void*
    - char*
    - int
    - char*
    - char**
    - int
    - LDAPMessage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 677
    functionName: Curl_ldap_search_s_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    - malloc
    - ldap_search_s
    - free
    - QadrtConvertA2E
    linkageType: ''
    returnType: int
    signature: "int Curl_ldap_search_s_a(void *ld, char *base, int scope, char *filter,\n
      \                    char **attrs, int attrsonly, LDAPMessage **res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:689,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:691,1
    - Dst: ldap_set_lderrno
      Src: /src/curl/packages/OS400/os400sys.c:693,1
    - Dst: ldap_err2string
      Src: /src/curl/packages/OS400/os400sys.c:694,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:698,1
    - Dst: ldap_get_values_len
      Src: /src/curl/packages/OS400/os400sys.c:702,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 709
    functionName: Curl_ldap_get_values_len_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - ldap_set_lderrno
    - free
    - ldap_err2string
    - ldap_get_values_len
    - QadrtConvertA2E
    linkageType: ''
    returnType: struct berval
    signature: 'struct berval **

      Curl_ldap_get_values_len_a(void *ld, LDAPMessage *entry, const char *attr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_thread_string
      Src: /src/curl/packages/OS400/os400sys.c:714,1
    - Dst: ldap_err2string
      Src: /src/curl/packages/OS400/os400sys.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: Curl_ldap_err2string_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - ldap_err2string
    - set_thread_string
    linkageType: ''
    returnType: char
    signature: 'char *

      Curl_ldap_err2string_a(int error)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_dn
      Src: /src/curl/packages/OS400/os400sys.c:724,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:729,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:731,1
    - Dst: QadrtConvertE2A
      Src: /src/curl/packages/OS400/os400sys.c:735,1
    - Dst: strcpy
      Src: /src/curl/packages/OS400/os400sys.c:742,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ld
    - entry
    argTypes:
    - void*
    - LDAPMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 745
    functionName: Curl_ldap_get_dn_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - ldap_get_dn
    - free
    - strcpy
    - QadrtConvertE2A
    linkageType: ''
    returnType: char
    signature: 'char *

      Curl_ldap_get_dn_a(void *ld, LDAPMessage *entry)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_first_attribute
      Src: /src/curl/packages/OS400/os400sys.c:755,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:760,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:762,1
    - Dst: QadrtConvertE2A
      Src: /src/curl/packages/OS400/os400sys.c:766,1
    - Dst: strcpy
      Src: /src/curl/packages/OS400/os400sys.c:773,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ld
    - entry
    - berptr
    argTypes:
    - void*
    - LDAPMessage*
    - BerElement**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 776
    functionName: Curl_ldap_first_attribute_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - ldap_first_attribute
    - free
    - strcpy
    - QadrtConvertE2A
    linkageType: ''
    returnType: char
    signature: "char *\nCurl_ldap_first_attribute_a(void *ld,\n                            LDAPMessage
      *entry, BerElement **berptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldap_next_attribute
      Src: /src/curl/packages/OS400/os400sys.c:786,1
    - Dst: strlen
      Src: /src/curl/packages/OS400/os400sys.c:791,1
    - Dst: malloc
      Src: /src/curl/packages/OS400/os400sys.c:793,1
    - Dst: QadrtConvertE2A
      Src: /src/curl/packages/OS400/os400sys.c:797,1
    - Dst: strcpy
      Src: /src/curl/packages/OS400/os400sys.c:804,1
    - Dst: free
      Src: /src/curl/packages/OS400/os400sys.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ld
    - entry
    - berptr
    argTypes:
    - void*
    - LDAPMessage*
    - BerElement*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 807
    functionName: Curl_ldap_next_attribute_a
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - free
    - ldap_next_attribute
    - strcpy
    - QadrtConvertE2A
    linkageType: ''
    returnType: char
    signature: "char *\nCurl_ldap_next_attribute_a(void *ld,\n                           LDAPMessage
      *entry, BerElement *berptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/packages/OS400/os400sys.c:829,1
    - Dst: QadrtConvertA2E
      Src: /src/curl/packages/OS400/os400sys.c:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - dstaddr
    - srcaddr
    - srclen
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 844
    functionName: sockaddr2ebcdic
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - memcpy
    - QadrtConvertA2E
    linkageType: ''
    returnType: int
    signature: "int sockaddr2ebcdic(struct sockaddr_storage *dstaddr,\n                const
      struct sockaddr *srcaddr, int srclen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/packages/OS400/os400sys.c:867,1
    - Dst: QadrtConvertE2A
      Src: /src/curl/packages/OS400/os400sys.c:879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - dstaddr
    - dstlen
    - srcaddr
    - srclen
    argTypes:
    - struct sockaddr*
    - int
    - struct sockaddr_storage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 888
    functionName: sockaddr2ascii
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - memcpy
    - QadrtConvertE2A
    linkageType: ''
    returnType: int
    signature: "int sockaddr2ascii(struct sockaddr *dstaddr, int dstlen,\n               const
      struct sockaddr_storage *srcaddr, int srclen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr2ebcdic
      Src: /src/curl/packages/OS400/os400sys.c:896,1
    - Dst: connect
      Src: /src/curl/packages/OS400/os400sys.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sd
    - destaddr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 902
    functionName: Curl_os400_connect
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - connect
    - sockaddr2ebcdic
    linkageType: ''
    returnType: int
    signature: int Curl_os400_connect(int sd, struct sockaddr *destaddr, int addrlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr2ebcdic
      Src: /src/curl/packages/OS400/os400sys.c:910,1
    - Dst: bind
      Src: /src/curl/packages/OS400/os400sys.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sd
    - localaddr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 916
    functionName: Curl_os400_bind
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - bind
    - sockaddr2ebcdic
    linkageType: ''
    returnType: int
    signature: int Curl_os400_bind(int sd, struct sockaddr *localaddr, int addrlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr2ebcdic
      Src: /src/curl/packages/OS400/os400sys.c:925,1
    - Dst: sendto
      Src: /src/curl/packages/OS400/os400sys.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - sd
    - buffer
    - buflen
    - flags
    - dstaddr
    - addrlen
    argTypes:
    - int
    - char*
    - int
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 931
    functionName: Curl_os400_sendto
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - sendto
    - sockaddr2ebcdic
    linkageType: ''
    returnType: int
    signature: "int Curl_os400_sendto(int sd, char *buffer, int buflen, int flags,\n
      \                 const struct sockaddr *dstaddr, int addrlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/curl/packages/OS400/os400sys.c:942,1
    - Dst: recvfrom
      Src: /src/curl/packages/OS400/os400sys.c:945,1
    - Dst: sockaddr2ascii
      Src: /src/curl/packages/OS400/os400sys.c:954,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - sd
    - buffer
    - buflen
    - flags
    - fromaddr
    - addrlen
    argTypes:
    - int
    - char*
    - int
    - int
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 960
    functionName: Curl_os400_recvfrom
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - sockaddr2ascii
    - recvfrom
    linkageType: ''
    returnType: int
    signature: "int Curl_os400_recvfrom(int sd, char *buffer, int buflen, int flags,\n
      \                   struct sockaddr *fromaddr, int *addrlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpeername
      Src: /src/curl/packages/OS400/os400sys.c:967,1
    - Dst: sockaddr2ascii
      Src: /src/curl/packages/OS400/os400sys.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 977
    functionName: Curl_os400_getpeername
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - sockaddr2ascii
    - getpeername
    linkageType: ''
    returnType: int
    signature: int Curl_os400_getpeername(int sd, struct sockaddr *addr, int *addrlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/curl/packages/OS400/os400sys.c:984,1
    - Dst: sockaddr2ascii
      Src: /src/curl/packages/OS400/os400sys.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 994
    functionName: Curl_os400_getsockname
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - sockaddr2ascii
    - getsockname
    linkageType: ''
    returnType: int
    signature: int Curl_os400_getsockname(int sd, struct sockaddr *addr, int *addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_thread_string
      Src: /src/curl/packages/OS400/os400sys.c:1001,1
    - Dst: zlibVersion
      Src: /src/curl/packages/OS400/os400sys.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    functionName: Curl_os400_zlibVersion
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - zlibVersion
    - set_thread_string
    linkageType: ''
    returnType: char
    signature: 'char *

      Curl_os400_zlibVersion(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/curl/packages/OS400/os400sys.c:1011,1
    - Dst: set_thread_string
      Src: /src/curl/packages/OS400/os400sys.c:1014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - strm
    - version
    - stream_size
    argTypes:
    - z_streamp
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1017
    functionName: Curl_os400_inflateInit_
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - inflateInit
    - set_thread_string
    linkageType: ''
    returnType: int
    signature: int Curl_os400_inflateInit_(z_streamp strm, const char *version, int
      stream_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/curl/packages/OS400/os400sys.c:1026,1
    - Dst: set_thread_string
      Src: /src/curl/packages/OS400/os400sys.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - strm
    - windowBits
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1032
    functionName: Curl_os400_inflateInit2_
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - inflateInit2
    - set_thread_string
    linkageType: ''
    returnType: int
    signature: "int Curl_os400_inflateInit2_(z_streamp strm, int windowBits,\n                         const
      char *version, int stream_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/curl/packages/OS400/os400sys.c:1040,1
    - Dst: set_thread_string
      Src: /src/curl/packages/OS400/os400sys.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - strm
    - flush
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1046
    functionName: Curl_os400_inflate
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - inflate
    - set_thread_string
    linkageType: ''
    returnType: int
    signature: int Curl_os400_inflate(z_streamp strm, int flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/curl/packages/OS400/os400sys.c:1054,1
    - Dst: set_thread_string
      Src: /src/curl/packages/OS400/os400sys.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1060
    functionName: Curl_os400_inflateEnd
    functionSourceFile: /src/curl/packages/OS400/os400sys.c
    functionUses: 0
    functionsReached:
    - set_thread_string
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: int Curl_os400_inflateEnd(z_streamp strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/vms/curl_crtl_init.c:125,1
    - Dst: SYS$TRNLNM
      Src: /src/curl/packages/vms/curl_crtl_init.c:130,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/curl/packages/vms/curl_crtl_init.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - logname
    - value
    - value_len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 140
    functionName: sys_trnlnm
    functionSourceFile: /src/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - SYS$TRNLNM
    - strlen
    - $VMS_STATUS_SUCCESS
    linkageType: ''
    returnType: int
    signature: "int sys_trnlnm(const char *logname,\n                      char *value,\n
      \                     int value_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/vms/curl_crtl_init.c:125,1
    - Dst: SYS$TRNLNM
      Src: /src/curl/packages/vms/curl_crtl_init.c:130,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/curl/packages/vms/curl_crtl_init.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: $DESCRIPTOR
    functionSourceFile: /src/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - SYS$TRNLNM
    - strlen
    - $VMS_STATUS_SUCCESS
    linkageType: ''
    returnType: void
    signature: "void $DESCRIPTOR(table_dsc, \"LNM$FILE_DEV\");\n  const unsigned long
      attr = LNM$M_CASE_BLIND;\n  struct dsc$descriptor_s name_dsc;\n  int status;\n
      \ unsigned short result;\n  struct itmlst_3 itlst[2];\n\n  itlst[0].buflen =
      value_len;\n  itlst[0].itmcode = LNM$_STRING;\n  itlst[0].bufadr = value;\n
      \ itlst[0].retlen = &result;\n\n  itlst[1].buflen = 0;\n  itlst[1].itmcode =
      0;\n\n  name_dsc.dsc$w_length = strlen(logname);\n  name_dsc.dsc$a_pointer =
      (char *)logname;\n  name_dsc.dsc$b_dtype = DSC$K_DTYPE_T;\n  name_dsc.dsc$b_class
      = DSC$K_CLASS_S;\n\n  status = SYS$TRNLNM(&attr, &table_dsc, &name_dsc, 0, itlst);\n\n
      \ if($VMS_STATUS_SUCCESS(status))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/packages/vms/curl_crtl_init.c:153,1
    - Dst: strlen
      Src: /src/curl/packages/vms/curl_crtl_init.c:158,1
    - Dst: strlen
      Src: /src/curl/packages/vms/curl_crtl_init.c:162,1
    - Dst: SYS$CRELNM
      Src: /src/curl/packages/vms/curl_crtl_init.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - logname
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 173
    functionName: sys_crelnm
    functionSourceFile: /src/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - SYS$CRELNM
    - strlen
    linkageType: ''
    returnType: int
    signature: "int sys_crelnm(const char *logname,\n                      const char
      *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sys_crelnm
      Src: /src/curl/packages/vms/curl_crtl_init.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: set_feature_default
    functionSourceFile: /src/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - sys_crelnm
    linkageType: ''
    returnType: void
    signature: void set_feature_default(const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decc$feature_get_index
      Src: /src/curl/packages/vms/curl_crtl_init.c:191,1
    - Dst: decc$feature_set_value
      Src: /src/curl/packages/vms/curl_crtl_init.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: set_feature_default
    functionSourceFile: /src/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - decc$feature_get_index
    - decc$feature_set_value
    linkageType: ''
    returnType: void
    signature: void set_feature_default(const char *name, int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sys_trnlnm
      Src: /src/curl/packages/vms/curl_crtl_init.c:204,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/curl/packages/vms/curl_crtl_init.c:206,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:211,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:214,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:220,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:224,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:225,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:228,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:231,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:235,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:237,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:241,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:245,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:248,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:253,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:256,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:260,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:262,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:264,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:265,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:269,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:273,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:277,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:281,1
    - Dst: set_feature_default
      Src: /src/curl/packages/vms/curl_crtl_init.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 290
    functionName: set_features
    functionSourceFile: /src/curl/packages/vms/curl_crtl_init.c
    functionUses: 0
    functionsReached:
    - $VMS_STATUS_SUCCESS
    - set_feature_default
    - sys_trnlnm
    linkageType: ''
    returnType: void
    signature: void set_features(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/curl/packages/vms/report_openssl_version.c:50,1
    - Dst: dlopen
      Src: /src/curl/packages/vms/report_openssl_version.c:54,1
    - Dst: dlsym
      Src: /src/curl/packages/vms/report_openssl_version.c:56,1
    - Dst: dlsym
      Src: /src/curl/packages/vms/report_openssl_version.c:58,1
    - Dst: dlsym
      Src: /src/curl/packages/vms/report_openssl_version.c:60,1
    - Dst: dlclose
      Src: /src/curl/packages/vms/report_openssl_version.c:64,1
    - Dst: puts
      Src: /src/curl/packages/vms/report_openssl_version.c:67,1
    - Dst: ssl_version
      Src: /src/curl/packages/vms/report_openssl_version.c:71,1
    - Dst: puts
      Src: /src/curl/packages/vms/report_openssl_version.c:73,1
    - Dst: strlen
      Src: /src/curl/packages/vms/report_openssl_version.c:83,1
    - Dst: strlen
      Src: /src/curl/packages/vms/report_openssl_version.c:88,1
    - Dst: LIB$SET_SYMBOL
      Src: /src/curl/packages/vms/report_openssl_version.c:92,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/curl/packages/vms/report_openssl_version.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/curl/packages/vms/report_openssl_version.c
    functionUses: 0
    functionsReached:
    - dlopen
    - strlen
    - dlsym
    - ssl_version
    - dlclose
    - $VMS_STATUS_SUCCESS
    - LIB$SET_SYMBOL
    - puts
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/src/tool_filetime.c:44,1
    - Dst: CreateFile
      Src: /src/curl/src/tool_filetime.c:46,1
    - Dst: curlx_unicodefree
      Src: /src/curl/src/tool_filetime.c:50,1
    - Dst: GetFileTime
      Src: /src/curl/src/tool_filetime.c:53,1
    - Dst: warnf
      Src: /src/curl/src/tool_filetime.c:58,1
    - Dst: warnf
      Src: /src/curl/src/tool_filetime.c:65,1
    - Dst: GetLastError
      Src: /src/curl/src/tool_filetime.c:66,1
    - Dst: CloseHandle
      Src: /src/curl/src/tool_filetime.c:68,1
    - Dst: GetLastError
      Src: /src/curl/src/tool_filetime.c:70,1
    - Dst: warnf
      Src: /src/curl/src/tool_filetime.c:71,1
    - Dst: GetLastError
      Src: /src/curl/src/tool_filetime.c:72,1
    - Dst: curlx_stat
      Src: /src/curl/src/tool_filetime.c:76,1
    - Dst: warnf
      Src: /src/curl/src/tool_filetime.c:82,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_filetime.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - filename
    - stamp
    argTypes:
    - char*
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 87
    functionName: getfiletime
    functionSourceFile: /src/curl/src/tool_filetime.c
    functionUses: 0
    functionsReached:
    - curlx_strerror
    - curlx_convert_UTF8_to_tchar
    - CreateFile
    - warnf
    - curlx_stat
    - GetFileTime
    - curlx_unicodefree
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int getfiletime(const char *filename, curl_off_t *stamp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/src/tool_filetime.c:97,1
    - Dst: warnf
      Src: /src/curl/src/tool_filetime.c:102,1
    - Dst: curlx_unicodefree
      Src: /src/curl/src/tool_filetime.c:104,1
    - Dst: CreateFile
      Src: /src/curl/src/tool_filetime.c:108,1
    - Dst: curlx_unicodefree
      Src: /src/curl/src/tool_filetime.c:112,1
    - Dst: SetFileTime
      Src: /src/curl/src/tool_filetime.c:119,1
    - Dst: warnf
      Src: /src/curl/src/tool_filetime.c:120,1
    - Dst: GetLastError
      Src: /src/curl/src/tool_filetime.c:122,1
    - Dst: CloseHandle
      Src: /src/curl/src/tool_filetime.c:124,1
    - Dst: warnf
      Src: /src/curl/src/tool_filetime.c:127,1
    - Dst: GetLastError
      Src: /src/curl/src/tool_filetime.c:129,1
    - Dst: utimes
      Src: /src/curl/src/tool_filetime.c:136,1
    - Dst: warnf
      Src: /src/curl/src/tool_filetime.c:138,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_filetime.c:140,1
    - Dst: utime
      Src: /src/curl/src/tool_filetime.c:147,1
    - Dst: warnf
      Src: /src/curl/src/tool_filetime.c:149,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_filetime.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - filetime
    - filename
    argTypes:
    - curl_off_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 154
    functionName: setfiletime
    functionSourceFile: /src/curl/src/tool_filetime.c
    functionUses: 0
    functionsReached:
    - SetFileTime
    - curlx_strerror
    - utimes
    - curlx_convert_UTF8_to_tchar
    - CreateFile
    - warnf
    - curlx_unicodefree
    - GetLastError
    - utime
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void setfiletime(curl_off_t filetime, const char *filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_writeout.c:164,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_writeout.c:167,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_writeout.c:171,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:179,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:181,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - stream
    - wovar
    - per
    - per_result
    - use_json
    argTypes:
    - FILE*
    - struct writeoutvar*
    - struct per_transfer*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 190
    functionName: writeTime
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - DEBUGASSERT
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: "int writeTime(FILE *stream, const struct writeoutvar *wovar,\n                     struct
      per_transfer *per, CURLcode per_result,\n                     bool use_json)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/src/tool_writeout.c:195,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_writeout.c:203,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_writeout.c:257,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_writeout.c:261,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_writeout.c:266,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 3
    argNames:
    - per
    - vid
    - contentp
    argTypes:
    - struct per_transfer*
    - writeoutid
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 271
    functionName: urlpart
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_url_get
    - curl_url
    - curl_easy_getinfo
    - curl_url_cleanup
    linkageType: ''
    returnType: int
    signature: "int urlpart(struct per_transfer *per, writeoutid vid,\n                   const
      char **contentp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_writeout.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: certinfo
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 1
    functionsReached:
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void certinfo(struct per_transfer *per)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_writeout.c:290,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_writeout.c:292,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_writeout.c:297,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_writeout.c:310,1
    - Dst: certinfo
      Src: /src/curl/src/tool_writeout.c:317,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_writeout.c:326,1
    - Dst: curlx_dyn_add
      Src: /src/curl/src/tool_writeout.c:327,1
    - Dst: curlx_dyn_add
      Src: /src/curl/src/tool_writeout.c:333,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_writeout.c:338,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_writeout.c:340,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout.c:343,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_writeout.c:352,1
    - Dst: curl_easy_strerror
      Src: /src/curl/src/tool_writeout.c:365,1
    - Dst: urlpart
      Src: /src/curl/src/tool_writeout.c:402,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_writeout.c:409,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_writeout.c:414,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:417,1
    - Dst: jsonWriteString
      Src: /src/curl/src/tool_writeout.c:418,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout.c:421,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:425,1
    - Dst: curl_free
      Src: /src/curl/src/tool_writeout.c:427,1
    - Dst: CURL_UNCONST
      Src: /src/curl/src/tool_writeout.c:427,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_writeout.c:429,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 121
    argCount: 5
    argNames:
    - stream
    - wovar
    - per
    - per_result
    - use_json
    argTypes:
    - FILE*
    - struct writeoutvar*
    - struct per_transfer*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 431
    functionName: writeString
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - curl_strnequal
    - curl_easy_strerror
    - curl_mfprintf
    - urlpart
    - fputs
    - CURL_UNCONST
    - curl_free
    - certinfo
    - curlx_dyn_addn
    - curlx_dyn_init
    - curlx_dyn_free
    - curl_easy_getinfo
    - curlx_dyn_len
    - jsonWriteString
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: int
    signature: "int writeString(FILE *stream, const struct writeoutvar *wovar,\n                       struct
      per_transfer *per, CURLcode per_result,\n                       bool use_json)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_writeout.c:440,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_writeout.c:443,1
    - Dst: certinfo
      Src: /src/curl/src/tool_writeout.c:453,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_writeout.c:466,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:473,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:476,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:478,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:483,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 5
    argNames:
    - stream
    - wovar
    - per
    - per_result
    - use_json
    argTypes:
    - FILE*
    - struct writeoutvar*
    - struct per_transfer*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 487
    functionName: writeLong
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - certinfo
    - curl_mfprintf
    - DEBUGASSERT
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: "int writeLong(FILE *stream, const struct writeoutvar *wovar,\n                     struct
      per_transfer *per, CURLcode per_result,\n                     bool use_json)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_writeout.c:498,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_writeout.c:501,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_writeout.c:513,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:519,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:521,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - stream
    - wovar
    - per
    - per_result
    - use_json
    argTypes:
    - FILE*
    - struct writeoutvar*
    - struct per_transfer*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 529
    functionName: writeOffset
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - DEBUGASSERT
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: "int writeOffset(FILE *stream, const struct writeoutvar *wovar,\n                       struct
      per_transfer *per, CURLcode per_result,\n                       bool use_json)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_writeout.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: matchvar
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int matchvar(const void *m1, const void *m2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/src/tool_writeout.c:548,1
    - Dst: gettimeofday
      Src: /src/curl/src/tool_writeout.c:565,1
    - Dst: time
      Src: /src/curl/src/tool_writeout.c:567,1
    - Dst: getenv
      Src: /src/curl/src/tool_writeout.c:574,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_writeout.c:577,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_writeout.c:584,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/tool_writeout.c:593,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout.c:595,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout.c:597,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout.c:601,1
    - Dst: gmtime
      Src: /src/curl/src/tool_writeout.c:605,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_writeout.c:606,1
    - Dst: strftime
      Src: /src/curl/src/tool_writeout.c:607,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_writeout.c:607,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout.c:608,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_writeout.c:609,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout.c:614,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 616
    functionName: outtime
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - getenv
    - strchr
    - fputs
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_str_number
    - curlx_dyn_init
    - curlx_dyn_len
    - gettimeofday
    - strftime
    - curlx_dyn_ptr
    - gmtime
    - curlx_dyn_addf
    - time
    linkageType: ''
    returnType: char
    signature: "char *outtime(const char *ptr, /* %time{ ... */\n                           FILE
      *stream)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:624,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:627,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:630,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:633,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:639,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:640,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - sep
    - seplen
    - stream
    argTypes:
    - char*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 652
    functionName: separator
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void separator(const char *sep, size_t seplen, FILE *stream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/src/tool_writeout.c:660,1
    - Dst: strchr
      Src: /src/curl/src/tool_writeout.c:664,1
    - Dst: memchr
      Src: /src/curl/src/tool_writeout.c:673,1
    - Dst: strncmp
      Src: /src/curl/src/tool_writeout.c:676,1
    - Dst: memcpy
      Src: /src/curl/src/tool_writeout.c:683,1
    - Dst: curl_easy_header
      Src: /src/curl/src/tool_writeout.c:691,1
    - Dst: separator
      Src: /src/curl/src/tool_writeout.c:696,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout.c:697,1
    - Dst: curl_easy_header
      Src: /src/curl/src/tool_writeout.c:711,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout.c:713,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout.c:719,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - per
    - stream
    - pptr
    argTypes:
    - struct per_transfer*
    - FILE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 721
    functionName: output_header
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - strchr
    - separator
    - fputs
    - memcpy
    - curl_easy_header
    - memchr
    - strncmp
    linkageType: ''
    returnType: void
    signature: "void output_header(struct per_transfer *per,\n                          FILE
      *stream,\n                          const char **pptr)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_writeout.c:736,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:741,1
    - Dst: strchr
      Src: /src/curl/src/tool_writeout.c:751,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout.c:754,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/tool_writeout.c:759,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout.c:760,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_writeout.c:761,1
    - Dst: bsearch
      Src: /src/curl/src/tool_writeout.c:762,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_writeout.c:763,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_writeout.c:775,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_writeout.c:781,1
    - Dst: ourWriteOutJSON
      Src: /src/curl/src/tool_writeout.c:786,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_writeout.c:787,1
    - Dst: headerJSON
      Src: /src/curl/src/tool_writeout.c:791,1
    - Dst: struct writeoutvar*::writefunc
      Src: /src/curl/src/tool_writeout.c:794,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout.c:799,1
    - Dst: strncmp
      Src: /src/curl/src/tool_writeout.c:805,1
    - Dst: output_header
      Src: /src/curl/src/tool_writeout.c:807,1
    - Dst: strncmp
      Src: /src/curl/src/tool_writeout.c:809,1
    - Dst: outtime
      Src: /src/curl/src/tool_writeout.c:810,1
    - Dst: strncmp
      Src: /src/curl/src/tool_writeout.c:812,1
    - Dst: strchr
      Src: /src/curl/src/tool_writeout.c:819,1
    - Dst: memcpy
      Src: /src/curl/src/tool_writeout.c:825,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_writeout.c:827,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_writeout.c:832,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout.c:840,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:844,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:845,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:853,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:856,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:859,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:863,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:864,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout.c:870,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_writeout.c:875,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_writeout.c:876,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 117
    argCount: 3
    argNames:
    - config
    - per
    - per_result
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 877
    functionName: ourWriteOut
    functionSourceFile: /src/curl/src/tool_writeout.c
    functionUses: 0
    functionsReached:
    - ourWriteOutJSON
    - outtime
    - curlx_fclose
    - curl_mfprintf
    - strchr
    - curlx_dyn_reset
    - curlx_fopen
    - fputc
    - curlx_dyn_addn
    - strncmp
    - curlx_dyn_ptr
    - memcpy
    - curlx_dyn_free
    - curlx_dyn_init
    - CURL_ARRAYSIZE
    - output_header
    - headerJSON
    - fputs
    - bsearch
    - struct writeoutvar*::writefunc
    linkageType: ''
    returnType: void
    signature: "void ourWriteOut(struct OperationConfig *config, struct per_transfer
      *per,\n                 CURLcode per_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/curl/src/tool_util.c:40,1
    - Dst: SystemTimeToFileTime
      Src: /src/curl/src/tool_util.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: tvrealnow
    functionSourceFile: /src/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - SystemTimeToFileTime
    - GetSystemTime
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval tvrealnow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/curl/src/tool_util.c:56,1
    - Dst: time
      Src: /src/curl/src/tool_util.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: tvrealnow
    functionSourceFile: /src/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - time
    - gettimeofday
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval tvrealnow(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_STRICMP
      Src: /src/curl/src/tool_util.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: struplocompare
    functionSourceFile: /src/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - CURL_STRICMP
    linkageType: ''
    returnType: int
    signature: int struplocompare(const char *p1, const char *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struplocompare
      Src: /src/curl/src/tool_util.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: struplocompare4sort
    functionSourceFile: /src/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - struplocompare
    linkageType: ''
    returnType: int
    signature: int struplocompare4sort(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hnd
    - ','
    - ofs
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: _lseeki64
    functionSourceFile: /src/curl/src/tool_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _lseeki64(hnd,ofs,whence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/curl/src/tool_util.c:96,1
    - Dst: _lseeki64
      Src: /src/curl/src/tool_util.c:98,1
    - Dst: SetEndOfFile
      Src: /src/curl/src/tool_util.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - where
    argTypes:
    - int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: tool_ftruncate64
    functionSourceFile: /src/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - SetEndOfFile
    - _lseeki64
    - _get_osfhandle
    linkageType: ''
    returnType: int
    signature: int tool_ftruncate64(int fd, curl_off_t where)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileNameA
      Src: /src/curl/src/tool_util.c:118,1
    - Dst: strrchr
      Src: /src/curl/src/tool_util.c:121,1
    - Dst: strlen
      Src: /src/curl/src/tool_util.c:126,1
    - Dst: strlen
      Src: /src/curl/src/tool_util.c:127,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_util.c:128,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_util.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - filename
    - pathp
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 136
    functionName: tool_execpath
    functionSourceFile: /src/curl/src/tool_util.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_msnprintf
    - strrchr
    - curlx_fopen
    - GetModuleFileNameA
    linkageType: ''
    returnType: FILE
    signature: FILE *tool_execpath(const char *filename, char **pathp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/src/tool_cfgable.c:39,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_cfgable.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: config_alloc
    functionSourceFile: /src/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    linkageType: ''
    returnType: struct OperationConfig
    signature: struct OperationConfig *config_alloc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:63,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:64,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:65,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:66,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:67,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:68,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:69,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_cfgable.c:71,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:72,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:73,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:75,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:76,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:77,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:79,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:81,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:82,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:83,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:84,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:85,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:86,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:87,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:88,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:89,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:91,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:92,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:93,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:94,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:96,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:98,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:99,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:100,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:102,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:103,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:104,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:105,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:110,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:111,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:112,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:113,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:122,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:124,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:125,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:126,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:127,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:128,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:129,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:130,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:131,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:132,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:133,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:134,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:135,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:136,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:137,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:138,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:139,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:140,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:141,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:142,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:143,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:144,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:145,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:146,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:147,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:148,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:149,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:150,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:151,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:152,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:153,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:154,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:155,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:156,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:157,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:158,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:159,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:160,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:161,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:162,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:164,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:165,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:166,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:168,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:169,1
    - Dst: curl_mime_free
      Src: /src/curl/src/tool_cfgable.c:171,1
    - Dst: tool_mime_free
      Src: /src/curl/src/tool_cfgable.c:173,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:177,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:178,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cfgable.c:179,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:181,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:182,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:183,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:184,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:185,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:186,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:187,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:188,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:189,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:190,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:191,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 113
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 193
    functionName: free_config_fields
    functionSourceFile: /src/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - tool_safefree
    - tool_mime_free
    - curl_slist_free_all
    - curlx_dyn_free
    - curl_mime_free
    linkageType: ''
    returnType: void
    signature: void free_config_fields(struct OperationConfig *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_config_fields
      Src: /src/curl/src/tool_cfgable.c:203,1
    - Dst: free
      Src: /src/curl/src/tool_cfgable.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: config_free
    functionSourceFile: /src/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - free
    - free_config_fields
    linkageType: ''
    returnType: void
    signature: void config_free(struct OperationConfig *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: config_alloc
      Src: /src/curl/src/tool_cfgable.c:231,1
    - Dst: curl_global_init
      Src: /src/curl/src/tool_cfgable.c:234,1
    - Dst: get_libcurl_info
      Src: /src/curl/src/tool_cfgable.c:237,1
    - Dst: errorf
      Src: /src/curl/src/tool_cfgable.c:240,1
    - Dst: free
      Src: /src/curl/src/tool_cfgable.c:241,1
    - Dst: errorf
      Src: /src/curl/src/tool_cfgable.c:245,1
    - Dst: free
      Src: /src/curl/src/tool_cfgable.c:246,1
    - Dst: errorf
      Src: /src/curl/src/tool_cfgable.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 255
    functionName: globalconf_init
    functionSourceFile: /src/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - get_libcurl_info
    - config_alloc
    - errorf
    - free
    - curl_global_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode globalconf_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:259,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_cfgable.c:262,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cfgable.c:265,1
    - Dst: free
      Src: /src/curl/src/tool_cfgable.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: free_globalconfig
    functionSourceFile: /src/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - free
    - tool_safefree
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void free_globalconfig(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_cleanup
      Src: /src/curl/src/tool_cfgable.c:279,1
    - Dst: free_globalconfig
      Src: /src/curl/src/tool_cfgable.c:280,1
    - Dst: config_free
      Src: /src/curl/src/tool_cfgable.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: globalconf_free
    functionSourceFile: /src/curl/src/tool_cfgable.c
    functionUses: 0
    functionsReached:
    - config_free
    - curl_global_cleanup
    - free_globalconfig
    linkageType: ''
    returnType: void
    signature: void globalconf_free(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: $DESCRIPTOR
      Src: /src/curl/src/tool_getpass.c:73,1
    - Dst: sys$assign
      Src: /src/curl/src/tool_getpass.c:76,1
    - Dst: sys$qiow
      Src: /src/curl/src/tool_getpass.c:78,1
    - Dst: strlen
      Src: /src/curl/src/tool_getpass.c:81,1
    - Dst: sys$dassgn
      Src: /src/curl/src/tool_getpass.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - prompt
    - buffer
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: getpass_r
    functionSourceFile: /src/curl/src/tool_getpass.c
    functionUses: 0
    functionsReached:
    - sys$assign
    - sys$dassgn
    - strlen
    - $DESCRIPTOR
    - sys$qiow
    linkageType: ''
    returnType: char
    signature: char *getpass_r(const char *prompt, char *buffer, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/curl/src/tool_getpass.c:98,1
    - Dst: _getch
      Src: /src/curl/src/tool_getpass.c:101,1
    - Dst: fputs
      Src: /src/curl/src/tool_getpass.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - prompt
    - buffer
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: getpass_r
    functionSourceFile: /src/curl/src/tool_getpass.c
    functionUses: 0
    functionsReached:
    - fputs
    - _getch
    linkageType: ''
    returnType: char
    signature: char *getpass_r(const char *prompt, char *buffer, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcgetattr
      Src: /src/curl/src/tool_getpass.c:143,1
    - Dst: tcsetattr
      Src: /src/curl/src/tool_getpass.c:146,1
    - Dst: ioctl
      Src: /src/curl/src/tool_getpass.c:148,1
    - Dst: ioctl
      Src: /src/curl/src/tool_getpass.c:151,1
    - Dst: tcsetattr
      Src: /src/curl/src/tool_getpass.c:162,1
    - Dst: ioctl
      Src: /src/curl/src/tool_getpass.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - enable
    - fd
    argTypes:
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 169
    functionName: ttyecho
    functionSourceFile: /src/curl/src/tool_getpass.c
    functionUses: 0
    functionsReached:
    - tcgetattr
    - ioctl
    - tcsetattr
    linkageType: ''
    returnType: bool
    signature: bool ttyecho(bool enable, int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_open
      Src: /src/curl/src/tool_getpass.c:177,1
    - Dst: ttyecho
      Src: /src/curl/src/tool_getpass.c:181,1
    - Dst: fputs
      Src: /src/curl/src/tool_getpass.c:183,1
    - Dst: read
      Src: /src/curl/src/tool_getpass.c:184,1
    - Dst: fputs
      Src: /src/curl/src/tool_getpass.c:192,1
    - Dst: ttyecho
      Src: /src/curl/src/tool_getpass.c:193,1
    - Dst: close
      Src: /src/curl/src/tool_getpass.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - prompt
    - password
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 200
    functionName: getpass_r
    functionSourceFile: /src/curl/src/tool_getpass.c
    functionUses: 0
    functionsReached:
    - curlx_open
    - read
    - fputs
    - ttyecho
    - close
    linkageType: ''
    returnType: char
    signature: "char *getpass_r(const char *prompt, /* prompt to display */\n                char
      *password,     /* buffer to store password in */\n                size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: fwrite_xattr
    functionSourceFile: /src/curl/src/tool_xattr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fwrite_xattr(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: exit
    functionSourceFile: /src/curl/src/tool_vms.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exit(__code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - f
    - ','
    - e
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: VMS_STS
    functionSourceFile: /src/curl/src/tool_vms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VMS_STS(c,f,e,s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/curl/src/tool_cb_see.c:66,1
    - Dst: lseek
      Src: /src/curl/src/tool_cb_see.c:72,1
    - Dst: lseek
      Src: /src/curl/src/tool_cb_see.c:82,1
    - Dst: lseek
      Src: /src/curl/src/tool_cb_see.c:84,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - userdata
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 92
    functionName: tool_seek_cb
    functionSourceFile: /src/curl/src/tool_cb_see.c
    functionUses: 0
    functionsReached:
    - lseek
    linkageType: ''
    returnType: int
    signature: int tool_seek_cb(void *userdata, curl_off_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: BIT
    functionSourceFile: /src/curl/src/tool_cfgable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: BIT
    functionSourceFile: /src/curl/src/tool_cfgable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: checkprefix
    functionSourceFile: /src/curl/src/tool_cfgable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkprefix(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tool_safefree
    functionSourceFile: /src/curl/src/tool_cfgable.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tool_safefree(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: basename
    functionSourceFile: /src/curl/src/tool_bname.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: basename(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: easysrc_init
    functionSourceFile: /src/curl/src/tool_easysrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easysrc_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: easysrc_perform
    functionSourceFile: /src/curl/src/tool_easysrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easysrc_perform()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/curl/src/tool_main.c:100,1
    - Dst: fcntl
      Src: /src/curl/src/tool_main.c:101,1
    - Dst: fcntl
      Src: /src/curl/src/tool_main.c:102,1
    - Dst: pipe
      Src: /src/curl/src/tool_main.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: main_checkfds
    functionSourceFile: /src/curl/src/tool_main.c
    functionUses: 0
    functionsReached:
    - fcntl
    - pipe
    linkageType: ''
    returnType: int
    signature: int main_checkfds(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: main_checkfds
    functionSourceFile: /src/curl/src/tool_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: main_checkfds()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/curl/src/tool_main.c:116,1
    - Dst: strlen
      Src: /src/curl/src/tool_main.c:120,1
    - Dst: strcpy
      Src: /src/curl/src/tool_main.c:122,1
    - Dst: curl_free
      Src: /src/curl/src/tool_main.c:123,1
    - Dst: curl_dbg_memdebug
      Src: /src/curl/src/tool_main.c:124,1
    - Dst: curl_getenv
      Src: /src/curl/src/tool_main.c:130,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_main.c:134,1
    - Dst: curl_dbg_memlimit
      Src: /src/curl/src/tool_main.c:135,1
    - Dst: curl_free
      Src: /src/curl/src/tool_main.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 138
    functionName: memory_tracking_init
    functionSourceFile: /src/curl/src/tool_main.c
    functionUses: 1
    functionsReached:
    - strlen
    - curl_free
    - curl_getenv
    - curl_dbg_memdebug
    - curlx_str_number
    - curl_dbg_memlimit
    - strcpy
    linkageType: ''
    returnType: void
    signature: void memory_tracking_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: memory_tracking_init
    functionSourceFile: /src/curl/src/tool_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memory_tracking_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mkdir
    functionSourceFile: /src/curl/src/tool_dirhie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mkdir(x,y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: errorf
      Src: /src/curl/src/tool_dirhie.c:48,1
    - Dst: errorf
      Src: /src/curl/src/tool_dirhie.c:53,1
    - Dst: errorf
      Src: /src/curl/src/tool_dirhie.c:58,1
    - Dst: errorf
      Src: /src/curl/src/tool_dirhie.c:63,1
    - Dst: errorf
      Src: /src/curl/src/tool_dirhie.c:69,1
    - Dst: errorf
      Src: /src/curl/src/tool_dirhie.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: show_dir_errno
    functionSourceFile: /src/curl/src/tool_dirhie.c
    functionUses: 0
    functionsReached:
    - errorf
    linkageType: ''
    returnType: void
    signature: void show_dir_errno(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_dirhie.c:96,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_dirhie.c:99,1
    - Dst: strspn
      Src: /src/curl/src/tool_dirhie.c:103,1
    - Dst: strcspn
      Src: /src/curl/src/tool_dirhie.c:104,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_dirhie.c:111,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_dirhie.c:123,1
    - Dst: mkdir
      Src: /src/curl/src/tool_dirhie.c:129,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_dirhie.c:129,1
    - Dst: show_dir_errno
      Src: /src/curl/src/tool_dirhie.c:131,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_dirhie.c:131,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_dirhie.c:138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - outfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 141
    functionName: create_dir_hierarchy
    functionSourceFile: /src/curl/src/tool_dirhie.c
    functionUses: 0
    functionsReached:
    - show_dir_errno
    - strlen
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_len
    - strcspn
    - strspn
    - mkdir
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode create_dir_hierarchy(const char *outfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/curl/src/tool_cb_dbg.c:48,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_cb_dbg.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tv_sec
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: hms_for_sec
    functionSourceFile: /src/curl/src/tool_cb_dbg.c
    functionUses: 0
    functionsReached:
    - localtime
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *hms_for_sec(time_t tv_sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_dbg.c:67,1
    - Dst: fputs
      Src: /src/curl/src/tool_cb_dbg.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - log
    - timebuf
    - idsbuf
    - type
    argTypes:
    - FILE*
    - char*
    - char*
    - curl_infotype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: log_line_start
    functionSourceFile: /src/curl/src/tool_cb_dbg.c
    functionUses: 1
    functionsReached:
    - curl_mfprintf
    - fputs
    linkageType: ''
    returnType: void
    signature: "void log_line_start(FILE *log, const char *timebuf,\n                           const
      char *idsbuf, curl_infotype type)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: tvrealnow
      Src: /src/curl/src/tool_cb_dbg.c:98,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_cb_dbg.c:99,1
    - Dst: hms_for_sec
      Src: /src/curl/src/tool_cb_dbg.c:100,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_cb_dbg.c:106,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_cb_dbg.c:107,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_cb_dbg.c:109,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_cb_dbg.c:113,1
    - Dst: strcmp
      Src: /src/curl/src/tool_cb_dbg.c:121,1
    - Dst: strcmp
      Src: /src/curl/src/tool_cb_dbg.c:123,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_cb_dbg.c:127,1
    - Dst: warnf
      Src: /src/curl/src/tool_cb_dbg.c:136,1
    - Dst: log_line_start
      Src: /src/curl/src/tool_cb_dbg.c:152,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_dbg.c:154,1
    - Dst: log_line_start
      Src: /src/curl/src/tool_cb_dbg.c:160,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_dbg.c:161,1
    - Dst: log_line_start
      Src: /src/curl/src/tool_cb_dbg.c:169,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_dbg.c:170,1
    - Dst: log_line_start
      Src: /src/curl/src/tool_cb_dbg.c:186,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_dbg.c:187,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_dbg.c:204,1
    - Dst: FALLTHROUGH
      Src: /src/curl/src/tool_cb_dbg.c:205,1
    - Dst: dump
      Src: /src/curl/src/tool_cb_dbg.c:229,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userdata
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 232
    functionName: tool_debug_cb
    functionSourceFile: /src/curl/src/tool_cb_dbg.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - curl_msnprintf
    - log_line_start
    - fwrite
    - curl_mfprintf
    - hms_for_sec
    - curlx_fopen
    - strcmp
    - curl_easy_getinfo
    - warnf
    - tvrealnow
    - dump
    linkageType: ''
    returnType: int
    signature: "int tool_debug_cb(CURL *handle, curl_infotype type,\n                  char
      *data, size_t size,\n                  void *userdata)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_dbg.c:247,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_dbg.c:252,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_dbg.c:258,1
    - Dst: fputs
      Src: /src/curl/src/tool_cb_dbg.c:260,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_dbg.c:272,1
    - Dst: fputc
      Src: /src/curl/src/tool_cb_dbg.c:283,1
    - Dst: fflush
      Src: /src/curl/src/tool_cb_dbg.c:285,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 8
    argNames:
    - timebuf
    - idsbuf
    - text
    - stream
    - ptr
    - size
    - tracetype
    - infotype
    argTypes:
    - char*
    - char*
    - char*
    - FILE*
    - unsigned char*
    - size_t
    - trace
    - curl_infotype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 286
    functionName: dump
    functionSourceFile: /src/curl/src/tool_cb_dbg.c
    functionUses: 5
    functionsReached:
    - curl_mfprintf
    - fputc
    - fputs
    - fflush
    linkageType: ''
    returnType: void
    signature: "void dump(const char *timebuf, const char *idsbuf, const char *text,\n
      \                FILE *stream, const unsigned char *ptr, size_t size,\n                 trace
      tracetype, curl_infotype infotype)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/curl/src/tool_libinfo.c:144,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_libinfo.c:156,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_libinfo.c:181,1
    - Dst: strncmp
      Src: /src/curl/src/tool_libinfo.c:190,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 192
    functionName: get_libcurl_info
    functionSourceFile: /src/curl/src/tool_libinfo.c
    functionUses: 1
    functionsReached:
    - curl_version_info
    - strncmp
    - curl_strequal
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode get_libcurl_info(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/src/tool_libinfo.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - proto
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: proto_token
    functionSourceFile: /src/curl/src/tool_libinfo.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: char
    signature: char *proto_token(const char *proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: my_setopt
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: my_setopt_long
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_long(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: my_setopt_offt
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_offt(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: my_setopt_str
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_str(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: my_setopt_enum
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_enum(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: my_setopt_SSLVERSION
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_SSLVERSION(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: my_setopt_bitmask
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_bitmask(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: my_setopt_mimepost
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_mimepost(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: my_setopt_slist
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_slist(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: my_setopt
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: my_setopt_long
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_long(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: my_setopt_offt
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_offt(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: my_setopt_str
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_str(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: my_setopt_enum
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_enum(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: my_setopt_SSLVERSION
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_SSLVERSION(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: my_setopt_bitmask
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_bitmask(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: my_setopt_mimepost
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_mimepost(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: my_setopt_slist
    functionSourceFile: /src/curl/src/tool_setopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_setopt_slist(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: NV
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NV(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: NV1
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NV1(e, v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_setopt.c:186,1
    - Dst: strlen
      Src: /src/curl/src/tool_setopt.c:189,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_setopt.c:197,1
    - Dst: STRCONST
      Src: /src/curl/src/tool_setopt.c:197,1
    - Dst: strchr
      Src: /src/curl/src/tool_setopt.c:203,1
    - Dst: ISPRINT
      Src: /src/curl/src/tool_setopt.c:205,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_setopt.c:208,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_setopt.c:213,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/tool_setopt.c:215,1
    - Dst: ISXDIGIT
      Src: /src/curl/src/tool_setopt.c:217,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_setopt.c:225,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_setopt.c:228,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_setopt.c:230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 231
    functionName: c_escape
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - strlen
    - strchr
    - ISPRINT
    - curlx_dyn_addn
    - curlx_dyn_init
    - ISXDIGIT
    - curlx_dyn_ptr
    - STRCONST
    - curlx_dyn_addf
    linkageType: ''
    returnType: char
    signature: char *c_escape(const char *str, curl_off_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_setopt.c:240,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:255,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:259,1
    - Dst: warnf
      Src: /src/curl/src/tool_setopt.c:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - curl
    - name
    - tag
    - nvlist
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - struct NameValue*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: tool_setopt_enum
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - warnf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_enum(CURL *curl, const char *name, CURLoption
      tag,\n                          const struct NameValue *nvlist, long lval)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_setopt.c:278,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:298,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:304,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:309,1
    - Dst: warnf
      Src: /src/curl/src/tool_setopt.c:317,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - curl
    - name
    - tag
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 320
    functionName: tool_setopt_SSLVERSION
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - warnf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_SSLVERSION(CURL *curl, const char *name, CURLoption
      tag,\n                                long lval)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_setopt.c:328,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_setopt.c:337,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:343,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_setopt.c:348,1
    - Dst: strlen
      Src: /src/curl/src/tool_setopt.c:349,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - curl
    - name
    - tag
    - nvlist
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - struct NameValueUnsigned*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 360
    functionName: tool_setopt_bitmask
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - curl_msnprintf
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_bitmask(CURL *curl, const char *name, CURLoption
      tag,\n                             const struct NameValueUnsigned *nvlist,\n
      \                            long lval)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:370,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:372,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:374,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:377,1
    - Dst: c_escape
      Src: /src/curl/src/tool_setopt.c:381,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:384,1
    - Dst: free
      Src: /src/curl/src/tool_setopt.c:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - slist
    - slistno
    argTypes:
    - struct curl_slist*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 391
    functionName: libcurl_generate_slist
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - c_escape
    - free
    - easysrc_addf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode libcurl_generate_slist(struct curl_slist *slist, int *slistno)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: libcurl_generate_mime_part
      Src: /src/curl/src/tool_setopt.c:411,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:415,1
    - Dst: libcurl_generate_mime
      Src: /src/curl/src/tool_setopt.c:422,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:424,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:428,1
    - Dst: c_escape
      Src: /src/curl/src/tool_setopt.c:436,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:438,1
    - Dst: free
      Src: /src/curl/src/tool_setopt.c:441,1
    - Dst: c_escape
      Src: /src/curl/src/tool_setopt.c:447,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:448,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:451,1
    - Dst: free
      Src: /src/curl/src/tool_setopt.c:454,1
    - Dst: FALLTHROUGH
      Src: /src/curl/src/tool_setopt.c:461,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:464,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:467,1
    - Dst: c_escape
      Src: /src/curl/src/tool_setopt.c:476,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:477,1
    - Dst: free
      Src: /src/curl/src/tool_setopt.c:479,1
    - Dst: c_escape
      Src: /src/curl/src/tool_setopt.c:483,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:484,1
    - Dst: free
      Src: /src/curl/src/tool_setopt.c:486,1
    - Dst: c_escape
      Src: /src/curl/src/tool_setopt.c:490,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:491,1
    - Dst: free
      Src: /src/curl/src/tool_setopt.c:493,1
    - Dst: c_escape
      Src: /src/curl/src/tool_setopt.c:497,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:498,1
    - Dst: free
      Src: /src/curl/src/tool_setopt.c:500,1
    - Dst: libcurl_generate_slist
      Src: /src/curl/src/tool_setopt.c:506,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:508,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:512,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 4
    argNames:
    - curl
    - config
    - part
    - mimeno
    argTypes:
    - CURL*
    - struct OperationConfig*
    - struct tool_mime*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 517
    functionName: libcurl_generate_mime_part
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 1
    functionsReached:
    - c_escape
    - FALLTHROUGH
    - easysrc_addf
    - free
    - libcurl_generate_mime
    - libcurl_generate_slist
    - libcurl_generate_mime_part
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode libcurl_generate_mime_part(CURL *curl,\n                                           struct
      OperationConfig *config,\n                                           struct
      tool_mime *part,\n                                           int mimeno)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:529,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:531,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:533,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:536,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:538,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:541,1
    - Dst: libcurl_generate_mime_part
      Src: /src/curl/src/tool_setopt.c:543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - curl
    - config
    - toolmime
    - mimeno
    argTypes:
    - CURL*
    - struct OperationConfig*
    - struct tool_mime*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 548
    functionName: libcurl_generate_mime
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 1
    functionsReached:
    - easysrc_addf
    - libcurl_generate_mime_part
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode libcurl_generate_mime(CURL *curl,\n                                      struct
      OperationConfig *config,\n                                      struct tool_mime
      *toolmime,\n                                      int *mimeno)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_setopt.c:555,1
    - Dst: libcurl_generate_mime
      Src: /src/curl/src/tool_setopt.c:559,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - curl
    - config
    - name
    - tag
    - mimepost
    argTypes:
    - CURL*
    - struct OperationConfig*
    - char*
    - CURLoption
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 5
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: tool_setopt_mimepost
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - libcurl_generate_mime
    - curl_easy_setopt
    - easysrc_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_mimepost(CURL *curl, struct OperationConfig *config,\n
      \                             const char *name, CURLoption tag,\n                              curl_mime
      *mimepost)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_setopt.c:575,1
    - Dst: libcurl_generate_slist
      Src: /src/curl/src/tool_setopt.c:580,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - curl
    - name
    - tag
    - list
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 587
    functionName: tool_setopt_slist
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - easysrc_addf
    - libcurl_generate_slist
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_slist(CURL *curl, const char *name, CURLoption
      tag,\n                           struct curl_slist *list)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_setopt.c:596,1
    - Dst: strcmp
      Src: /src/curl/src/tool_setopt.c:599,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_setopt.c:605,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:608,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - curl
    - name
    - tag
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 612
    functionName: tool_setopt_long
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - curl_easy_setopt
    - DEBUGASSERT
    - easysrc_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_long(CURL *curl, const char *name, CURLoption
      tag,\n                          long lval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_setopt.c:619,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_setopt.c:621,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - curl
    - name
    - tag
    - lval
    argTypes:
    - CURL*
    - char*
    - CURLoption
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 629
    functionName: tool_setopt_offt
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - DEBUGASSERT
    - easysrc_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt_offt(CURL *curl, const char *name, CURLoption
      tag,\n                          curl_off_t lval)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/src/tool_setopt.c:640,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_setopt.c:642,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_setopt.c:643,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_setopt.c:646,1
    - Dst: va_arg
      Src: /src/curl/src/tool_setopt.c:649,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_setopt.c:651,1
    - Dst: va_end
      Src: /src/curl/src/tool_setopt.c:653,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:662,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_setopt.c:670,1
    - Dst: c_escape
      Src: /src/curl/src/tool_setopt.c:671,1
    - Dst: easysrc_addf
      Src: /src/curl/src/tool_setopt.c:673,1
    - Dst: free
      Src: /src/curl/src/tool_setopt.c:675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - curl
    - config
    - str
    - name
    - tag
    argTypes:
    - CURL*
    - struct OperationConfig*
    - bool
    - char*
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 681
    functionName: tool_setopt
    functionSourceFile: /src/curl/src/tool_setopt.c
    functionUses: 0
    functionsReached:
    - c_escape
    - easysrc_addf
    - va_start
    - free
    - va_end
    - curlx_dyn_len
    - curl_easy_setopt
    - DEBUGASSERT
    - va_arg
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_setopt(CURL *curl, struct OperationConfig *config,\n
      \                    bool str, const char *name, CURLoption tag,\n                     ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/src/tool_paramhlp.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: new_getout
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct getout
    signature: struct getout *new_getout(struct OperationConfig *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ISCRLF
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISCRLF(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISCRLF
      Src: /src/curl/src/tool_paramhlp.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - orig
    - countcrlf
    - max
    argTypes:
    - char*
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: memcrlf
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - ISCRLF
    linkageType: ''
    returnType: size_t
    signature: "size_t memcrlf(char *orig,\n                      bool countcrlf,
      /* TRUE if we count CRLF, FALSE\n                                         if
      we count non-CRLF */\n                      size_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_paramhlp.c:91,1
    - Dst: fread
      Src: /src/curl/src/tool_paramhlp.c:96,1
    - Dst: ferror
      Src: /src/curl/src/tool_paramhlp.c:97,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_paramhlp.c:98,1
    - Dst: memcrlf
      Src: /src/curl/src/tool_paramhlp.c:104,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_paramhlp.c:105,1
    - Dst: memcrlf
      Src: /src/curl/src/tool_paramhlp.c:111,1
    - Dst: feof
      Src: /src/curl/src/tool_paramhlp.c:116,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_paramhlp.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - bufp
    - file
    argTypes:
    - char**
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: file2string
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - fread
    - curlx_dyn_free
    - ferror
    - curlx_dyn_init
    - curlx_dyn_addn
    - feof
    - memcrlf
    - curlx_dyn_ptr
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError file2string(char **bufp, FILE *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _fseeki64
      Src: /src/curl/src/tool_paramhlp.c:125,1
    - Dst: fseeko
      Src: /src/curl/src/tool_paramhlp.c:127,1
    - Dst: fseek
      Src: /src/curl/src/tool_paramhlp.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: myfseek
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - _fseeki64
    - fseek
    - fseeko
    linkageType: ''
    returnType: int
    signature: int myfseek(void *stream, curl_off_t offset, int whence)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: myfseek
      Src: /src/curl/src/tool_paramhlp.c:146,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_paramhlp.c:156,1
    - Dst: fread
      Src: /src/curl/src/tool_paramhlp.c:161,1
    - Dst: ferror
      Src: /src/curl/src/tool_paramhlp.c:162,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_paramhlp.c:163,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_paramhlp.c:189,1
    - Dst: feof
      Src: /src/curl/src/tool_paramhlp.c:197,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_paramhlp.c:198,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_paramhlp.c:199,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 5
    argNames:
    - bufp
    - size
    - file
    - starto
    - endo
    argTypes:
    - char**
    - size_t*
    - FILE*
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 206
    functionName: file2memory_range
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - myfseek
    - fread
    - curlx_dyn_free
    - ferror
    - curlx_dyn_init
    - curlx_dyn_addn
    - feof
    - curlx_dyn_len
    - curlx_dyn_ptr
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError file2memory_range(char **bufp, size_t *size, FILE *file,\n
      \                                curl_off_t starto, curl_off_t endo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file2memory_range
      Src: /src/curl/src/tool_paramhlp.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bufp
    - size
    - file
    argTypes:
    - char**
    - size_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: file2memory
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - file2memory_range
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError file2memory(char **bufp, size_t *size, FILE *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_paramhlp.c:223,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_paramhlp.c:231,1
    - Dst: curlx_str_octal
      Src: /src/curl/src/tool_paramhlp.c:235,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_paramhlp.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - val
    - str
    - base
    argTypes:
    - long*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 246
    functionName: getnum
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    - DEBUGASSERT
    - curlx_str_single
    - curlx_str_octal
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError getnum(long *val, const char *str, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getnum
      Src: /src/curl/src/tool_paramhlp.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: str2num
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - getnum
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2num(long *val, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getnum
      Src: /src/curl/src/tool_paramhlp.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - val
    - str
    - max
    argTypes:
    - long*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: oct2nummax
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - getnum
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError oct2nummax(long *val, const char *str, long max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getnum
      Src: /src/curl/src/tool_paramhlp.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: str2unum
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - getnum
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2unum(long *val, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str2unum
      Src: /src/curl/src/tool_paramhlp.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - val
    - str
    - max
    argTypes:
    - long*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: str2unummax
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - str2unum
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2unummax(long *val, const char *str, long max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_paramhlp.c:327,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_paramhlp.c:329,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_paramhlp.c:333,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_paramhlp.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - valp
    - str
    argTypes:
    - long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 346
    functionName: secs2ms
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    - curlx_str_single
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError secs2ms(long *valp, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_paramhlp.c:358,1
    - Dst: proto_token
      Src: /src/curl/src/tool_paramhlp.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - protoset
    - proto
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: protoset_index
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - proto_token
    linkageType: ''
    returnType: size_t
    signature: size_t protoset_index(const char * const *protoset, const char *proto)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: protoset_index
      Src: /src/curl/src/tool_paramhlp.c:370,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_paramhlp.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - protoset
    - proto
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: protoset_set
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - protoset_index
    linkageType: ''
    returnType: void
    signature: void protoset_set(const char **protoset, const char *proto)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: protoset_index
      Src: /src/curl/src/tool_paramhlp.c:384,1
    - Dst: protoset_index
      Src: /src/curl/src/tool_paramhlp.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - protoset
    - proto
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: protoset_clear
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - protoset_index
    linkageType: ''
    returnType: void
    signature: void protoset_clear(const char **protoset, const char *proto)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_paramhlp.c:415,1
    - Dst: malloc
      Src: /src/curl/src/tool_paramhlp.c:417,1
    - Dst: proto_token
      Src: /src/curl/src/tool_paramhlp.c:424,1
    - Dst: protoset_set
      Src: /src/curl/src/tool_paramhlp.c:427,1
    - Dst: strchr
      Src: /src/curl/src/tool_paramhlp.c:431,1
    - Dst: strlen
      Src: /src/curl/src/tool_paramhlp.c:443,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_paramhlp.c:463,1
    - Dst: memcpy
      Src: /src/curl/src/tool_paramhlp.c:470,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_paramhlp.c:478,1
    - Dst: proto_token
      Src: /src/curl/src/tool_paramhlp.c:480,1
    - Dst: protoset_clear
      Src: /src/curl/src/tool_paramhlp.c:485,1
    - Dst: FALLTHROUGH
      Src: /src/curl/src/tool_paramhlp.c:489,1
    - Dst: protoset_set
      Src: /src/curl/src/tool_paramhlp.c:491,1
    - Dst: warnf
      Src: /src/curl/src/tool_paramhlp.c:499,1
    - Dst: qsort
      Src: /src/curl/src/tool_paramhlp.c:509,1
    - Dst: protoset_index
      Src: /src/curl/src/tool_paramhlp.c:509,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_paramhlp.c:512,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/tool_paramhlp.c:514,1
    - Dst: free
      Src: /src/curl/src/tool_paramhlp.c:515,1
    - Dst: curlx_dyn_setlen
      Src: /src/curl/src/tool_paramhlp.c:516,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_paramhlp.c:516,1
    - Dst: free
      Src: /src/curl/src/tool_paramhlp.c:517,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_paramhlp.c:518,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 3
    argNames:
    - val
    - ostr
    - str
    argTypes:
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 521
    functionName: proto2num
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - protoset_set
    - qsort
    - strchr
    - curlx_dyn_addn
    - warnf
    - curlx_dyn_len
    - curlx_dyn_ptr
    - strlen
    - curl_msnprintf
    - memcpy
    - free
    - curlx_dyn_init
    - protoset_index
    - proto_token
    - FALLTHROUGH
    - malloc
    - curlx_dyn_setlen
    - curlx_dyn_addf
    - protoset_clear
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError proto2num(const char * const *val, char **ostr, const
      char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proto_token
      Src: /src/curl/src/tool_paramhlp.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: check_protocol
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - proto_token
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError check_protocol(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_paramhlp.c:551,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_paramhlp.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - curl_off_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: str2offset
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    - curlx_str_single
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2offset(curl_off_t *val, const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/src/tool_paramhlp.c:570,1
    - Dst: strchr
      Src: /src/curl/src/tool_paramhlp.c:573,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_paramhlp.c:581,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_paramhlp.c:587,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_paramhlp.c:591,1
    - Dst: getpass_r
      Src: /src/curl/src/tool_paramhlp.c:596,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/tool_paramhlp.c:600,1
    - Dst: free
      Src: /src/curl/src/tool_paramhlp.c:604,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_paramhlp.c:605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - kind
    - i
    - last
    - userpwd
    argTypes:
    - char*
    - size_t
    - bool
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 609
    functionName: checkpasswd
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - getpass_r
    - strchr
    - free
    - curlx_dyn_init
    - curlx_dyn_ptr
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode checkpasswd(const char *kind, /* for what purpose */\n                            const
      size_t i,   /* operation index */\n                            const bool last,
      \ /* TRUE if last operation */\n                            char **userpwd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/src/tool_paramhlp.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - list
    - ptr
    argTypes:
    - struct curl_slist**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 620
    functionName: add2list
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError add2list(struct curl_slist **list, const char *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/src/tool_paramhlp.c:624,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_paramhlp.c:626,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_paramhlp.c:628,1
    - Dst: warnf
      Src: /src/curl/src/tool_paramhlp.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 634
    functionName: ftpfilemethod
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - warnf
    - curl_strequal
    linkageType: ''
    returnType: long
    signature: long ftpfilemethod(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/src/tool_paramhlp.c:638,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_paramhlp.c:640,1
    - Dst: warnf
      Src: /src/curl/src/tool_paramhlp.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 646
    functionName: ftpcccmethod
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - warnf
    - curl_strequal
    linkageType: ''
    returnType: long
    signature: long ftpcccmethod(const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/src/tool_paramhlp.c:650,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_paramhlp.c:652,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_paramhlp.c:654,1
    - Dst: warnf
      Src: /src/curl/src/tool_paramhlp.c:657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 660
    functionName: delegation
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - warnf
    - curl_strequal
    linkageType: ''
    returnType: long
    signature: long delegation(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/src/tool_paramhlp.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 668
    functionName: my_useragent
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: char
    signature: char *my_useragent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 671
    functionName: isheadersep
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isheadersep(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_paramhlp.c:679,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_paramhlp.c:680,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_paramhlp.c:681,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_paramhlp.c:684,1
    - Dst: isheadersep
      Src: /src/curl/src/tool_paramhlp.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - head
    - checkfor
    argTypes:
    - struct curl_slist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 690
    functionName: inlist
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - isheadersep
    - strlen
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool inlist(const struct curl_slist *head,\n                   const
      char *checkfor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: inlist
      Src: /src/curl/src/tool_paramhlp.c:701,1
    - Dst: add2list
      Src: /src/curl/src/tool_paramhlp.c:702,1
    - Dst: inlist
      Src: /src/curl/src/tool_paramhlp.c:703,1
    - Dst: add2list
      Src: /src/curl/src/tool_paramhlp.c:704,1
    - Dst: checkpasswd
      Src: /src/curl/src/tool_paramhlp.c:711,1
    - Dst: checkpasswd
      Src: /src/curl/src/tool_paramhlp.c:715,1
    - Dst: my_useragent
      Src: /src/curl/src/tool_paramhlp.c:719,1
    - Dst: errorf
      Src: /src/curl/src/tool_paramhlp.c:721,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - config
    - i
    argTypes:
    - struct OperationConfig*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 727
    functionName: get_args
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - my_useragent
    - errorf
    - checkpasswd
    - add2list
    - inlist
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode get_args(struct OperationConfig *config, const size_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_paramhlp.c:753,1
    - Dst: strcmp
      Src: /src/curl/src/tool_paramhlp.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 760
    functionName: str2tls_max
    functionSourceFile: /src/curl/src/tool_paramhlp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError str2tls_max(unsigned char *val, const char *str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/src/tool_cb_rea.c:55,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_cb_rea.c:56,1
    - Dst: FD_ZERO
      Src: /src/curl/src/tool_cb_rea.c:73,1
    - Dst: FD_SET
      Src: /src/curl/src/tool_cb_rea.c:78,1
    - Dst: select
      Src: /src/curl/src/tool_cb_rea.c:82,1
    - Dst: strcmp
      Src: /src/curl/src/tool_cb_rea.c:93,1
    - Dst: CURL_RECV
      Src: /src/curl/src/tool_cb_rea.c:95,1
    - Dst: curlx_uztosi
      Src: /src/curl/src/tool_cb_rea.c:95,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/src/tool_cb_rea.c:98,1
    - Dst: warnf
      Src: /src/curl/src/tool_cb_rea.c:106,1
    - Dst: read
      Src: /src/curl/src/tool_cb_rea.c:111,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/src/tool_cb_rea.c:114,1
    - Dst: warnf
      Src: /src/curl/src/tool_cb_rea.c:126,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - buffer
    - sz
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 135
    functionName: tool_read_cb
    functionSourceFile: /src/curl/src/tool_cb_rea.c
    functionUses: 0
    functionsReached:
    - curlx_uztosi
    - CURL_SETERRNO
    - read
    - CURL_RECV
    - FD_SET
    - FD_ZERO
    - curlx_now
    - curlx_timediff
    - strcmp
    - warnf
    - select
    linkageType: ''
    returnType: size_t
    signature: size_t tool_read_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/curl/src/tool_cb_rea.c:163,1
    - Dst: FD_SET
      Src: /src/curl/src/tool_cb_rea.c:168,1
    - Dst: select
      Src: /src/curl/src/tool_cb_rea.c:172,1
    - Dst: curlx_wait_ms
      Src: /src/curl/src/tool_cb_rea.c:175,1
    - Dst: curl_easy_pause
      Src: /src/curl/src/tool_cb_rea.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 186
    functionName: tool_readbusy_cb
    functionSourceFile: /src/curl/src/tool_cb_rea.c
    functionUses: 0
    functionsReached:
    - curlx_wait_ms
    - curl_easy_pause
    - FD_SET
    - FD_ZERO
    - select
    linkageType: ''
    returnType: int
    signature: "int tool_readbusy_cb(void *clientp,\n                     curl_off_t
      dltotal, curl_off_t dlnow,\n                     curl_off_t ultotal, curl_off_t
      ulnow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:49,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_getparam.c:52,1
    - Dst: strdup
      Src: /src/curl/src/tool_getparam.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - str
    - val
    - allowblank
    argTypes:
    - char**
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: getstr
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - strdup
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError getstr(char **str, const char *val, bool allowblank)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:67,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_getparam.c:70,1
    - Dst: malloc
      Src: /src/curl/src/tool_getparam.c:74,1
    - Dst: memcpy
      Src: /src/curl/src/tool_getparam.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - str
    - val
    - len
    - allowblank
    argTypes:
    - char**
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: getstrn
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError getstrn(char **str, const char *val,\n                              size_t
      len, bool allowblank)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:392,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_getparam.c:407,1
    - Dst: strpbrk
      Src: /src/curl/src/tool_getparam.c:408,1
    - Dst: strdup
      Src: /src/curl/src/tool_getparam.c:409,1
    - Dst: malloc
      Src: /src/curl/src/tool_getparam.c:413,1
    - Dst: strcspn
      Src: /src/curl/src/tool_getparam.c:420,1
    - Dst: memcpy
      Src: /src/curl/src/tool_getparam.c:421,1
    - Dst: ISALPHA
      Src: /src/curl/src/tool_getparam.c:459,1
    - Dst: strdup
      Src: /src/curl/src/tool_getparam.c:473,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - cert_parameter
    - certname
    - passphrase
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 480
    functionName: parse_cert_parameter
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 1
    functionsReached:
    - strlen
    - curl_strnequal
    - malloc
    - strdup
    - strpbrk
    - memcpy
    - strcspn
    - ISALPHA
    linkageType: ''
    returnType: void
    signature: "void parse_cert_parameter(const char *cert_parameter,\n                          char
      **certname,\n                          char **passphrase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 508
    functionName: replace_url_encoded_space_by_plus
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t replace_url_encoded_space_by_plus(char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_cert_parameter
      Src: /src/curl/src/tool_getparam.c:515,1
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:516,1
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - nextarg
    - file
    - password
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: GetFileAndPassword
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - free
    - parse_cert_parameter
    linkageType: ''
    returnType: void
    signature: void GetFileAndPassword(const char *nextarg, char **file, char **password)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_getparam.c:534,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:535,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:541,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:568,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - arg
    - which
    - value_out
    argTypes:
    - char*
    - char*
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 573
    functionName: GetSizeParameter
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    - strlen
    - warnf
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError GetSizeParameter(const char *arg,\n                                       const
      char *which,\n                                       curl_off_t *value_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:582,1
    - Dst: memset
      Src: /src/curl/src/tool_getparam.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: cleanarg
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strlen
    - memset
    linkageType: ''
    returnType: void
    signature: void cleanarg(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    functionName: cleanarg
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cleanarg(x)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/src/tool_getparam.c:605,1
    - Dst: strchr
      Src: /src/curl/src/tool_getparam.c:612,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:626,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/src/tool_getparam.c:628,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_getparam.c:631,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:633,1
    - Dst: file2memory
      Src: /src/curl/src/tool_getparam.c:638,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_getparam.c:641,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:646,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:649,1
    - Dst: strdup
      Src: /src/curl/src/tool_getparam.c:655,1
    - Dst: curl_easy_escape
      Src: /src/curl/src/tool_getparam.c:661,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_getparam.c:662,1
    - Dst: replace_url_encoded_space_by_plus
      Src: /src/curl/src/tool_getparam.c:665,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_getparam.c:668,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_getparam.c:669,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_getparam.c:670,1
    - Dst: curlx_dyn_add
      Src: /src/curl/src/tool_getparam.c:671,1
    - Dst: curl_free
      Src: /src/curl/src/tool_getparam.c:672,1
    - Dst: curl_free
      Src: /src/curl/src/tool_getparam.c:675,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_getparam.c:676,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_getparam.c:677,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:681,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 3
    argNames:
    - nextarg
    - postp
    - lenp
    argTypes:
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 693
    functionName: data_urlencode
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - CURLX_SET_BINMODE
    - getstr
    - curlx_fclose
    - curlx_dyn_add
    - strdup
    - strchr
    - curlx_fopen
    - curl_easy_escape
    - curlx_dyn_addn
    - curl_free
    - curlx_dyn_len
    - curlx_dyn_ptr
    - file2memory
    - strlen
    - strcmp
    - curlx_dyn_init
    - replace_url_encoded_space_by_plus
    - tool_safefree
    - errorf
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError data_urlencode(const char *nextarg,\n                                     char
      **postp,\n                                     size_t *lenp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - config
    - httpversion
    argTypes:
    - struct OperationConfig*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 703
    functionName: sethttpver
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - warnf
    linkageType: ''
    returnType: void
    signature: "void sethttpver(struct OperationConfig *config,\n                       long
      httpversion)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/src/tool_getparam.c:713,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:718,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_getparam.c:737,1
    - Dst: curl_global_trace
      Src: /src/curl/src/tool_getparam.c:741,1
    - Dst: curl_global_trace
      Src: /src/curl/src/tool_getparam.c:743,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_getparam.c:747,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_getparam.c:750,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_getparam.c:755,1
    - Dst: curl_global_trace
      Src: /src/curl/src/tool_getparam.c:757,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 1
    argNames:
    - token
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 770
    functionName: set_trace_config
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - strlen
    - curl_msnprintf
    - curl_global_trace
    - strchr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_trace_config(const char *token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: findarg
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int findarg(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_getparam.c:788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - letter
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 797
    functionName: findshortopt
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: struct LongShort
    signature: struct LongShort *findshortopt(char letter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 843
    functionName: find_tos
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int find_tos(const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_getparam.c:853,1
    - Dst: strdup
      Src: /src/curl/src/tool_getparam.c:857,1
    - Dst: data_urlencode
      Src: /src/curl/src/tool_getparam.c:862,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/tool_getparam.c:866,1
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:867,1
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:871,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_getparam.c:872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - nextarg
    - config
    argTypes:
    - char*
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 879
    functionName: url_query
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strdup
    - free
    - curlx_dyn_init
    - data_urlencode
    - curlx_dyn_ptr
    - curlx_dyn_addf
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError url_query(const char *nextarg,\n                                struct
      OperationConfig *config)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: data_urlencode
      Src: /src/curl/src/tool_getparam.c:891,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:900,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/src/tool_getparam.c:903,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_getparam.c:906,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:908,1
    - Dst: file2memory
      Src: /src/curl/src/tool_getparam.c:916,1
    - Dst: file2string
      Src: /src/curl/src/tool_getparam.c:918,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:920,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_getparam.c:924,1
    - Dst: strdup
      Src: /src/curl/src/tool_getparam.c:931,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:937,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:940,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_getparam.c:945,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_getparam.c:948,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_getparam.c:952,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_getparam.c:955,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_getparam.c:957,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 3
    argNames:
    - cmd
    - nextarg
    - config
    argTypes:
    - cmdline_t
    - char*
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 881
    functionDepth: 3
    functionLinenumber: 881
    functionLinenumberEnd: 959
    functionName: set_data
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 1
    functionsReached:
    - tool_safefree
    - file2memory
    - strlen
    - strdup
    - errorf
    - curlx_fopen
    - file2string
    - curlx_dyn_addn
    - strcmp
    - data_urlencode
    - CURLX_SET_BINMODE
    - getstr
    - curlx_dyn_len
    - curlx_dyn_ptr
    - curlx_fclose
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError set_data(cmdline_t cmd,\n                               const
      char *nextarg,\n                               struct OperationConfig *config)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/src/tool_getparam.c:972,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:976,1
    - Dst: memcpy
      Src: /src/curl/src/tool_getparam.c:980,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:982,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_getparam.c:993,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1009,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1016,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - nextarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 1032
    functionName: set_rate
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strlen
    - str2unum
    - strchr
    - errorf
    - memcpy
    - curlx_str_number
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError set_rate(const char *nextarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/curl/src/tool_getparam.c:1039,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_getparam.c:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1041
    functionName: findlongopt
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - bsearch
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: struct LongShort
    signature: struct LongShort *findlongopt(const char *opt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: new_getout
      Src: /src/curl/src/tool_getparam.c:1067,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:1073,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1079,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - config
    - thisurl
    - remote_noglob
    argTypes:
    - struct OperationConfig*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1084
    functionName: add_url
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - errorf
    - new_getout
    - getstr
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError add_url(struct OperationConfig *config,\n                              const
      char *thisurl,\n                              bool remote_noglob)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:1095,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_getparam.c:1101,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_getparam.c:1103,1
    - Dst: my_get_line
      Src: /src/curl/src/tool_getparam.c:1104,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_getparam.c:1105,1
    - Dst: add_url
      Src: /src/curl/src/tool_getparam.c:1106,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_getparam.c:1111,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_getparam.c:1112,1
    - Dst: add_url
      Src: /src/curl/src/tool_getparam.c:1119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1120
    functionName: parse_url
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - curlx_fopen
    - add_url
    - curlx_dyn_free
    - curlx_dyn_init
    - strcmp
    - my_get_line
    - curlx_dyn_ptr
    - curlx_fclose
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_url(struct OperationConfig *config,\n                                const
      char *nextarg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/curl/src/tool_getparam.c:1130,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_getparam.c:1136,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_getparam.c:1141,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_getparam.c:1144,1
    - Dst: str2unummax
      Src: /src/curl/src/tool_getparam.c:1145,1
    - Dst: str2unummax
      Src: /src/curl/src/tool_getparam.c:1150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1123
    functionDepth: 4
    functionLinenumber: 1123
    functionLinenumberEnd: 1157
    functionName: parse_localport
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - str2unummax
    - curl_msnprintf
    - ISBLANK
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_localport(struct OperationConfig *config,\n                                      const
      char *nextarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1164,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1168,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1172,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:1176,1
    - Dst: str2offset
      Src: /src/curl/src/tool_getparam.c:1177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1159
    functionDepth: 2
    functionLinenumber: 1159
    functionLinenumberEnd: 1186
    functionName: parse_continue_at
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - str2offset
    - strcmp
    - errorf
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_continue_at(struct OperationConfig *config,\n
      \                                       const char *nextarg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:1194,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_getparam.c:1194,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:1196,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:1198,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_getparam.c:1198,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:1201,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:1209,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_getparam.c:1213,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:1216,1
    - Dst: file2string
      Src: /src/curl/src/tool_getparam.c:1221,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_getparam.c:1223,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_getparam.c:1226,1
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:1227,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:1234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1188
    functionDepth: 3
    functionLinenumber: 1188
    functionLinenumberEnd: 1237
    functionName: parse_ech
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_strnequal
    - curlx_fopen
    - file2string
    - free
    - strcmp
    - getstr
    - warnf
    - curl_maprintf
    - curlx_fclose
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_ech(struct OperationConfig *config,\n                                const
      char *nextarg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:1248,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_getparam.c:1249,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1251,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_getparam.c:1257,1
    - Dst: my_get_line
      Src: /src/curl/src/tool_getparam.c:1258,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_getparam.c:1259,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:1260,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_getparam.c:1268,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_getparam.c:1270,1
    - Dst: strchr
      Src: /src/curl/src/tool_getparam.c:1274,1
    - Dst: strchr
      Src: /src/curl/src/tool_getparam.c:1274,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:1275,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:1279,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:1281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - config
    - cmd
    - nextarg
    argTypes:
    - struct OperationConfig*
    - cmdline_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1239
    functionDepth: 2
    functionLinenumber: 1239
    functionLinenumberEnd: 1284
    functionName: parse_header
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strchr
    - errorf
    - curlx_fopen
    - curlx_dyn_free
    - curlx_dyn_init
    - strcmp
    - my_get_line
    - add2list
    - warnf
    - curlx_dyn_ptr
    - curlx_fclose
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_header(struct OperationConfig *config,\n                                   cmdline_t
      cmd,\n                                   const char *nextarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: new_getout
      Src: /src/curl/src/tool_getparam.c:1309,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:1317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1286
    functionDepth: 2
    functionLinenumber: 1286
    functionLinenumberEnd: 1324
    functionName: parse_output
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - new_getout
    - getstr
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_output(struct OperationConfig *config,\n                                   const
      char *nextarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: new_getout
      Src: /src/curl/src/tool_getparam.c:1352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - config
    - toggle
    argTypes:
    - struct OperationConfig*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1363
    functionName: parse_remote_name
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - new_getout
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_remote_name(struct OperationConfig *config,\n
      \                                       bool toggle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:1375,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:1380,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:1383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1387
    functionName: parse_quote
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - add2list
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_quote(struct OperationConfig *config,\n                                  const
      char *nextarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1397,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_getparam.c:1400,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_getparam.c:1401,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:1407,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_getparam.c:1409,1
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:1411,1
    - Dst: strdup
      Src: /src/curl/src/tool_getparam.c:1412,1
    - Dst: ISDIGIT
      Src: /src/curl/src/tool_getparam.c:1419,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:1420,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:1428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1431
    functionName: parse_range
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - strdup
    - errorf
    - free
    - curlx_str_number
    - curlx_str_single
    - warnf
    - getstr
    - ISDIGIT
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_range(struct OperationConfig *config,\n                                  const
      char *nextarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: new_getout
      Src: /src/curl/src/tool_getparam.c:1456,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:1466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1433
    functionDepth: 2
    functionLinenumber: 1433
    functionLinenumberEnd: 1469
    functionName: parse_upload_file
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - new_getout
    - getstr
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_upload_file(struct OperationConfig *config,\n
      \                                       const char *nextarg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: set_trace_config
      Src: /src/curl/src/tool_getparam.c:1481,1
    - Dst: set_trace_config
      Src: /src/curl/src/tool_getparam.c:1489,1
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:1496,1
    - Dst: strdup
      Src: /src/curl/src/tool_getparam.c:1497,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:1502,1
    - Dst: set_trace_config
      Src: /src/curl/src/tool_getparam.c:1508,1
    - Dst: set_trace_config
      Src: /src/curl/src/tool_getparam.c:1514,1
    - Dst: set_trace_config
      Src: /src/curl/src/tool_getparam.c:1519,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - toggle
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1527
    functionName: parse_verbose
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - free
    - set_trace_config
    - warnf
    - strdup
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError parse_verbose(bool toggle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:1541,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_getparam.c:1547,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1549,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_getparam.c:1553,1
    - Dst: file2string
      Src: /src/curl/src/tool_getparam.c:1554,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_getparam.c:1556,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:1560,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:1563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1529
    functionDepth: 3
    functionLinenumber: 1529
    functionLinenumberEnd: 1566
    functionName: parse_writeout
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - tool_safefree
    - errorf
    - curlx_fopen
    - file2string
    - strcmp
    - warnf
    - getstr
    - curlx_fclose
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_writeout(struct OperationConfig *config,\n                                     const
      char *nextarg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FALLTHROUGH
      Src: /src/curl/src/tool_getparam.c:1576,1
    - Dst: curl_getdate
      Src: /src/curl/src/tool_getparam.c:1592,1
    - Dst: getfiletime
      Src: /src/curl/src/tool_getparam.c:1596,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:1603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - config
    - nextarg
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1568
    functionDepth: 2
    functionLinenumber: 1568
    functionLinenumberEnd: 1609
    functionName: parse_time_cond
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - curl_getdate
    - getfiletime
    - warnf
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_time_cond(struct OperationConfig *config,\n                                      const
      char *nextarg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/src/tool_getparam.c:1635,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:1639,1
    - Dst: strncmp
      Src: /src/curl/src/tool_getparam.c:1648,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - config
    - flag
    argTypes:
    - struct OperationConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1669
    functionName: parse_upload_flags
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strchr
    - strlen
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError parse_upload_flags(struct OperationConfig *config,\n
      \                                        const char *flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - toggle
    - modify
    - bits
    argTypes:
    - bool
    - unsigned long*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1680
    functionName: togglebit
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void togglebit(bool toggle, unsigned long *modify, unsigned long bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct LongShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1686
    functionName: opt_depr
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - warnf
    linkageType: ''
    returnType: void
    signature: void opt_depr(const struct LongShort *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:1693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - config
    - ver
    argTypes:
    - struct OperationConfig*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1698
    functionName: opt_sslver
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - errorf
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_sslver(struct OperationConfig *config,\n                                 unsigned
      char ver)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/curl/src/tool_getparam.c:1712,1
    - Dst: sethttpver
      Src: /src/curl/src/tool_getparam.c:1717,1
    - Dst: sethttpver
      Src: /src/curl/src/tool_getparam.c:1721,1
    - Dst: sethttpver
      Src: /src/curl/src/tool_getparam.c:1727,1
    - Dst: sethttpver
      Src: /src/curl/src/tool_getparam.c:1733,1
    - Dst: sethttpver
      Src: /src/curl/src/tool_getparam.c:1740,1
    - Dst: sethttpver
      Src: /src/curl/src/tool_getparam.c:1747,1
    - Dst: opt_sslver
      Src: /src/curl/src/tool_getparam.c:1750,1
    - Dst: opt_sslver
      Src: /src/curl/src/tool_getparam.c:1753,1
    - Dst: opt_sslver
      Src: /src/curl/src/tool_getparam.c:1756,1
    - Dst: opt_sslver
      Src: /src/curl/src/tool_getparam.c:1759,1
    - Dst: opt_sslver
      Src: /src/curl/src/tool_getparam.c:1762,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 2
    argNames:
    - config
    - a
    argTypes:
    - struct OperationConfig*
    - struct LongShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1701
    functionDepth: 2
    functionLinenumber: 1701
    functionLinenumberEnd: 1778
    functionName: opt_none
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - opt_sslver
    - tool_safefree
    - sethttpver
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_none(struct OperationConfig *config,\n                               const
      struct LongShort *a)"
  - BBCount: 131
    BranchProfiles: []
    Callsites:
    - Dst: togglebit
      Src: /src/curl/src/tool_getparam.c:1808,1
    - Dst: togglebit
      Src: /src/curl/src/tool_getparam.c:1831,1
    - Dst: togglebit
      Src: /src/curl/src/tool_getparam.c:1836,1
    - Dst: parse_output
      Src: /src/curl/src/tool_getparam.c:1839,1
    - Dst: togglebit
      Src: /src/curl/src/tool_getparam.c:1841,1
    - Dst: dbug_init
      Src: /src/curl/src/tool_getparam.c:1845,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:1861,1
    - Dst: togglebit
      Src: /src/curl/src/tool_getparam.c:1891,1
    - Dst: opt_depr
      Src: /src/curl/src/tool_getparam.c:2008,1
    - Dst: togglebit
      Src: /src/curl/src/tool_getparam.c:2026,1
    - Dst: togglebit
      Src: /src/curl/src/tool_getparam.c:2029,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:2042,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:2049,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:2054,1
    - Dst: SetHTTPrequest
      Src: /src/curl/src/tool_getparam.c:2073,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:2107,1
    - Dst: parse_remote_name
      Src: /src/curl/src/tool_getparam.c:2113,1
    - Dst: parse_verbose
      Src: /src/curl/src/tool_getparam.c:2134,1
    - Dst: FALLTHROUGH
      Src: /src/curl/src/tool_getparam.c:2150,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:2153,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:2158,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 369
    argCount: 3
    argNames:
    - config
    - a
    - toggle
    argTypes:
    - struct OperationConfig*
    - struct LongShort*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 1781
    functionDepth: 3
    functionLinenumber: 1781
    functionLinenumberEnd: 2165
    functionName: opt_bool
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - parse_output
    - FALLTHROUGH
    - parse_verbose
    - parse_remote_name
    - errorf
    - opt_depr
    - warnf
    - SetHTTPrequest
    - dbug_init
    - togglebit
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_bool(struct OperationConfig *config,\n                               const
      struct LongShort *a,\n                               bool toggle)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:2175,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2180,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2183,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2186,1
    - Dst: GetFileAndPassword
      Src: /src/curl/src/tool_getparam.c:2189,1
    - Dst: parseconfig
      Src: /src/curl/src/tool_getparam.c:2192,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:2193,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2198,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2201,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:2205,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2209,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:2213,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2217,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2220,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2223,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2226,1
    - Dst: parse_output
      Src: /src/curl/src/tool_getparam.c:2229,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2232,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2235,1
    - Dst: GetFileAndPassword
      Src: /src/curl/src/tool_getparam.c:2238,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2242,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2245,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2249,1
    - Dst: tool_set_stderr_file
      Src: /src/curl/src/tool_getparam.c:2254,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2257,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:2260,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2265,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:2268,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2274,1
    - Dst: parse_upload_file
      Src: /src/curl/src/tool_getparam.c:2277,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 104
    argCount: 3
    argNames:
    - config
    - a
    - nextarg
    argTypes:
    - struct OperationConfig*
    - struct LongShort*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2168
    functionDepth: 3
    functionLinenumber: 2168
    functionLinenumberEnd: 2281
    functionName: opt_file
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - parse_output
    - errorf
    - tool_set_stderr_file
    - parseconfig
    - warnf
    - getstr
    - GetFileAndPassword
    - parse_upload_file
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_file(struct OperationConfig *config,\n                               const
      struct LongShort *a,\n                               const char *nextarg)"
  - BBCount: 160
    BranchProfiles: []
    Callsites:
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2306,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2312,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2316,1
    - Dst: secs2ms
      Src: /src/curl/src/tool_getparam.c:2319,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2322,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_getparam.c:2325,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2329,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2337,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2344,1
    - Dst: GetSizeParameter
      Src: /src/curl/src/tool_getparam.c:2347,1
    - Dst: set_rate
      Src: /src/curl/src/tool_getparam.c:2354,1
    - Dst: oct2nummax
      Src: /src/curl/src/tool_getparam.c:2357,1
    - Dst: str2num
      Src: /src/curl/src/tool_getparam.c:2362,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2368,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2373,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2377,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2380,1
    - Dst: GetSizeParameter
      Src: /src/curl/src/tool_getparam.c:2383,1
    - Dst: parse_url
      Src: /src/curl/src/tool_getparam.c:2388,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2393,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2397,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2401,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2405,1
    - Dst: bsearch
      Src: /src/curl/src/tool_getparam.c:2412,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_getparam.c:2413,1
    - Dst: str2unummax
      Src: /src/curl/src/tool_getparam.c:2418,1
    - Dst: str2unummax
      Src: /src/curl/src/tool_getparam.c:2422,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:2425,1
    - Dst: secs2ms
      Src: /src/curl/src/tool_getparam.c:2428,1
    - Dst: secs2ms
      Src: /src/curl/src/tool_getparam.c:2431,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2434,1
    - Dst: ftpfilemethod
      Src: /src/curl/src/tool_getparam.c:2437,1
    - Dst: parse_localport
      Src: /src/curl/src/tool_getparam.c:2440,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2443,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:2447,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2450,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:2454,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:2457,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2461,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2465,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:2469,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2472,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:2476,1
    - Dst: proto2num
      Src: /src/curl/src/tool_getparam.c:2480,1
    - Dst: proto2num
      Src: /src/curl/src/tool_getparam.c:2484,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:2488,1
    - Dst: delegation
      Src: /src/curl/src/tool_getparam.c:2491,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2494,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2497,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2500,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2503,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2506,1
    - Dst: check_protocol
      Src: /src/curl/src/tool_getparam.c:2508,1
    - Dst: secs2ms
      Src: /src/curl/src/tool_getparam.c:2511,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:2514,1
    - Dst: str2tls_max
      Src: /src/curl/src/tool_getparam.c:2517,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:2519,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:2524,1
    - Dst: set_trace_config
      Src: /src/curl/src/tool_getparam.c:2529,1
    - Dst: setvariable
      Src: /src/curl/src/tool_getparam.c:2533,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2536,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2539,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2542,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2548,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2554,1
    - Dst: strchr
      Src: /src/curl/src/tool_getparam.c:2557,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:2559,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:2564,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2568,1
    - Dst: parse_continue_at
      Src: /src/curl/src/tool_getparam.c:2571,1
    - Dst: set_data
      Src: /src/curl/src/tool_getparam.c:2579,1
    - Dst: url_query
      Src: /src/curl/src/tool_getparam.c:2582,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:2585,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:2587,1
    - Dst: getstrn
      Src: /src/curl/src/tool_getparam.c:2597,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_getparam.c:2599,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2603,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2606,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2609,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2612,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:2614,1
    - Dst: parse_ech
      Src: /src/curl/src/tool_getparam.c:2619,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2622,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2625,1
    - Dst: strlen
      Src: /src/curl/src/tool_getparam.c:2627,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2635,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2641,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2647,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2653,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:2654,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2659,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2662,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2668,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2674,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2680,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:2682,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2687,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2690,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2693,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2696,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2699,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2702,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2705,1
    - Dst: formparse
      Src: /src/curl/src/tool_getparam.c:2711,1
    - Dst: SetHTTPrequest
      Src: /src/curl/src/tool_getparam.c:2714,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2718,1
    - Dst: parse_header
      Src: /src/curl/src/tool_getparam.c:2722,1
    - Dst: secs2ms
      Src: /src/curl/src/tool_getparam.c:2726,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2729,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2737,1
    - Dst: ftpcccmethod
      Src: /src/curl/src/tool_getparam.c:2741,1
    - Dst: parse_quote
      Src: /src/curl/src/tool_getparam.c:2744,1
    - Dst: parse_range
      Src: /src/curl/src/tool_getparam.c:2747,1
    - Dst: add2list
      Src: /src/curl/src/tool_getparam.c:2751,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2755,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2759,1
    - Dst: parse_writeout
      Src: /src/curl/src/tool_getparam.c:2762,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2765,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2769,1
    - Dst: getstr
      Src: /src/curl/src/tool_getparam.c:2775,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:2779,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:2785,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:2790,1
    - Dst: str2unum
      Src: /src/curl/src/tool_getparam.c:2801,1
    - Dst: parse_time_cond
      Src: /src/curl/src/tool_getparam.c:2812,1
    - Dst: parse_upload_flags
      Src: /src/curl/src/tool_getparam.c:2815,1
    CyclomaticComplexity: 166
    EdgeCount: 166
    ICount: 450
    argCount: 3
    argNames:
    - config
    - a
    - nextarg
    argTypes:
    - struct OperationConfig*
    - struct LongShort*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2284
    functionDepth: 5
    functionLinenumber: 2284
    functionLinenumberEnd: 2819
    functionName: opt_string
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - parse_continue_at
    - check_protocol
    - parse_header
    - parse_localport
    - ftpfilemethod
    - url_query
    - getstr
    - parse_quote
    - ftpcccmethod
    - parse_time_cond
    - proto2num
    - strchr
    - parse_upload_flags
    - warnf
    - getstrn
    - parse_ech
    - strlen
    - str2unum
    - formparse
    - set_rate
    - str2tls_max
    - oct2nummax
    - str2num
    - strcmp
    - str2unummax
    - parse_range
    - CURL_ARRAYSIZE
    - SetHTTPrequest
    - parse_writeout
    - set_data
    - tool_safefree
    - secs2ms
    - errorf
    - delegation
    - bsearch
    - add2list
    - setvariable
    - parse_url
    - set_trace_config
    - GetSizeParameter
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError opt_string(struct OperationConfig *config,\n                                 const
      struct LongShort *a,\n                                 const char *nextarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2825
    functionName: has_leading_unicode
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_leading_unicode(const unsigned char *arg)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/curl/src/tool_getparam.c:2857,1
    - Dst: strncmp
      Src: /src/curl/src/tool_getparam.c:2863,1
    - Dst: curlx_str_until
      Src: /src/curl/src/tool_getparam.c:2871,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_getparam.c:2872,1
    - Dst: memcpy
      Src: /src/curl/src/tool_getparam.c:2875,1
    - Dst: curlx_str
      Src: /src/curl/src/tool_getparam.c:2875,1
    - Dst: curlx_strlen
      Src: /src/curl/src/tool_getparam.c:2875,1
    - Dst: curlx_strlen
      Src: /src/curl/src/tool_getparam.c:2876,1
    - Dst: findlongopt
      Src: /src/curl/src/tool_getparam.c:2877,1
    - Dst: findlongopt
      Src: /src/curl/src/tool_getparam.c:2882,1
    - Dst: ARGTYPE
      Src: /src/curl/src/tool_getparam.c:2891,1
    - Dst: ARGTYPE
      Src: /src/curl/src/tool_getparam.c:2900,1
    - Dst: ARGTYPE
      Src: /src/curl/src/tool_getparam.c:2901,1
    - Dst: varexpand
      Src: /src/curl/src/tool_getparam.c:2906,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_getparam.c:2908,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_getparam.c:2912,1
    - Dst: findshortopt
      Src: /src/curl/src/tool_getparam.c:2925,1
    - Dst: ARGTYPE
      Src: /src/curl/src/tool_getparam.c:2936,1
    - Dst: tool_help
      Src: /src/curl/src/tool_getparam.c:2944,1
    - Dst: opt_depr
      Src: /src/curl/src/tool_getparam.c:2956,1
    - Dst: has_leading_unicode
      Src: /src/curl/src/tool_getparam.c:2960,1
    - Dst: warnf
      Src: /src/curl/src/tool_getparam.c:2961,1
    - Dst: ARGTYPE
      Src: /src/curl/src/tool_getparam.c:2964,1
    - Dst: opt_file
      Src: /src/curl/src/tool_getparam.c:2965,1
    - Dst: opt_string
      Src: /src/curl/src/tool_getparam.c:2967,1
    - Dst: cleanarg
      Src: /src/curl/src/tool_getparam.c:2969,1
    - Dst: CURL_UNCONST
      Src: /src/curl/src/tool_getparam.c:2969,1
    - Dst: opt_depr
      Src: /src/curl/src/tool_getparam.c:2973,1
    - Dst: ARGTYPE
      Src: /src/curl/src/tool_getparam.c:2977,1
    - Dst: opt_bool
      Src: /src/curl/src/tool_getparam.c:2978,1
    - Dst: opt_none
      Src: /src/curl/src/tool_getparam.c:2980,1
    - Dst: free
      Src: /src/curl/src/tool_getparam.c:2989,1
    - Dst: CURL_UNCONST
      Src: /src/curl/src/tool_getparam.c:2989,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 112
    argCount: 4
    argNames:
    - flag
    - nextarg
    - usedarg
    - config
    argTypes:
    - char*
    - char*
    - bool*
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2830
    functionDepth: 6
    functionLinenumber: 2830
    functionLinenumberEnd: 2991
    functionName: getparameter
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - opt_depr
    - curlx_str_single
    - findlongopt
    - varexpand
    - opt_bool
    - opt_string
    - curlx_strlen
    - warnf
    - findshortopt
    - strncmp
    - curlx_str_until
    - curlx_dyn_ptr
    - opt_file
    - opt_none
    - ARGTYPE
    - tool_help
    - memcpy
    - curlx_dyn_free
    - free
    - has_leading_unicode
    - curlx_str
    - cleanarg
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError getparameter(const char *flag, /* f or -long-flag */\n
      \                           const char *nextarg,    /* NULL if unset */\n                            bool
      *usedarg,    /* set to TRUE if the arg\n                                                 has
      been used */\n                            struct OperationConfig *config)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: convert_tchar_to_UTF8
      Src: /src/curl/src/tool_getparam.c:3002,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:3009,1
    - Dst: convert_tchar_to_UTF8
      Src: /src/curl/src/tool_getparam.c:3016,1
    - Dst: unicodefree
      Src: /src/curl/src/tool_getparam.c:3018,1
    - Dst: getparameter
      Src: /src/curl/src/tool_getparam.c:3023,1
    - Dst: unicodefree
      Src: /src/curl/src/tool_getparam.c:3025,1
    - Dst: config_alloc
      Src: /src/curl/src/tool_getparam.c:3034,1
    - Dst: errorf
      Src: /src/curl/src/tool_getparam.c:3047,1
    - Dst: getparameter
      Src: /src/curl/src/tool_getparam.c:3059,1
    - Dst: unicodefree
      Src: /src/curl/src/tool_getparam.c:3063,1
    - Dst: param2text
      Src: /src/curl/src/tool_getparam.c:3078,1
    - Dst: strcmp
      Src: /src/curl/src/tool_getparam.c:3080,1
    - Dst: helpf
      Src: /src/curl/src/tool_getparam.c:3081,1
    - Dst: helpf
      Src: /src/curl/src/tool_getparam.c:3083,1
    - Dst: unicodefree
      Src: /src/curl/src/tool_getparam.c:3086,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - argv_item_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 2993
    functionDepth: 7
    functionLinenumber: 2993
    functionLinenumberEnd: 3088
    functionName: parse_args
    functionSourceFile: /src/curl/src/tool_getparam.c
    functionUses: 0
    functionsReached:
    - getparameter
    - helpf
    - unicodefree
    - convert_tchar_to_UTF8
    - config_alloc
    - errorf
    - strcmp
    - param2text
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError parse_args(int argc, argv_item_t argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: main(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: CURL_STRICMP
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: CURL_STRICMP
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: CURL_STRICMP
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: CURL_STRICMP
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: CURL_STRICMP
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_STRICMP(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: isatty
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isatty(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: _get_osfhandle
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _get_osfhandle(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: _getch
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _getch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - where
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ftruncate
    functionSourceFile: /src/curl/src/tool_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftruncate(fd,where)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_strdup.c:36,1
    - Dst: malloc
      Src: /src/curl/src/tool_strdup.c:38,1
    - Dst: memcpy
      Src: /src/curl/src/tool_strdup.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: strdup
    functionSourceFile: /src/curl/src/tool_strdup.c
    functionUses: 11
    functionsReached:
    - memcpy
    - strlen
    - malloc
    linkageType: ''
    returnType: char
    signature: char *strdup(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/src/tool_strdup.c:49,1
    - Dst: memcpy
      Src: /src/curl/src/tool_strdup.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: memdup0
    functionSourceFile: /src/curl/src/tool_strdup.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: char *memdup0(const char *data, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_progress.c:38,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_progress.c:46,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_progress.c:53,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_progress.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - bytes
    - max5
    argTypes:
    - curl_off_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: max5data
    functionSourceFile: /src/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *max5data(curl_off_t bytes, char *max5)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_pause
      Src: /src/curl/src/tool_progress.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: xferinfo_cb
    functionSourceFile: /src/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - curl_easy_pause
    linkageType: ''
    returnType: int
    signature: "int xferinfo_cb(void *clientp,\n                curl_off_t dltotal,\n
      \               curl_off_t dlnow,\n                curl_off_t ultotal,\n                curl_off_t
      ulnow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/curl/src/tool_progress.c:94,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_progress.c:101,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_progress.c:111,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_progress.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - r
    - seconds
    argTypes:
    - char*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 116
    functionName: time2str
    functionSourceFile: /src/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - strcpy
    linkageType: ''
    returnType: void
    signature: void time2str(char *r, curl_off_t seconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - val
    - add
    argTypes:
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: add_offt
    functionSourceFile: /src/curl/src/tool_progress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_offt(curl_off_t *val, curl_off_t add)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/src/tool_progress.c:158,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_progress.c:159,1
    - Dst: fputs
      Src: /src/curl/src/tool_progress.c:163,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_progress.c:172,1
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:187,1
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:188,1
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:191,1
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:192,1
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:197,1
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:204,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_progress.c:209,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_progress.c:215,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_progress.c:239,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_progress.c:245,1
    - Dst: time2str
      Src: /src/curl/src/tool_progress.c:260,1
    - Dst: time2str
      Src: /src/curl/src/tool_progress.c:261,1
    - Dst: time2str
      Src: /src/curl/src/tool_progress.c:264,1
    - Dst: time2str
      Src: /src/curl/src/tool_progress.c:265,1
    - Dst: time2str
      Src: /src/curl/src/tool_progress.c:267,1
    - Dst: curl_multi_get_offt
      Src: /src/curl/src/tool_progress.c:269,1
    - Dst: curl_multi_get_offt
      Src: /src/curl/src/tool_progress.c:270,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_progress.c:271,1
    - Dst: max5data
      Src: /src/curl/src/tool_progress.c:287,1
    - Dst: max5data
      Src: /src/curl/src/tool_progress.c:288,1
    - Dst: max5data
      Src: /src/curl/src/tool_progress.c:294,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 3
    argNames:
    - multi
    - start
    - final
    argTypes:
    - CURLM*
    - struct curltime*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 299
    functionName: progress_meter
    functionSourceFile: /src/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - max5data
    - time2str
    - curl_msnprintf
    - curl_mfprintf
    - fputs
    - curlx_now
    - curl_multi_get_offt
    - curlx_timediff
    - add_offt
    linkageType: ''
    returnType: bool
    signature: "bool progress_meter(CURLM *multi,\n                    struct curltime
      *start,\n                    bool final)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:304,1
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:305,1
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:307,1
    - Dst: add_offt
      Src: /src/curl/src/tool_progress.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: progress_finalize
    functionSourceFile: /src/curl/src/tool_progress.c
    functionUses: 0
    functionsReached:
    - add_offt
    linkageType: ''
    returnType: void
    signature: void progress_finalize(struct per_transfer *per)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - glob
    - err
    - pos
    - error
    argTypes:
    - struct URLGlob*
    - char*
    - size_t
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: globerror
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode globerror(struct URLGlob *glob, const char *err,\n                          size_t
      pos, CURLcode error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/src/tool_urlglob.c:49,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:52,1
    - Dst: memdup0
      Src: /src/curl/src/tool_urlglob.c:54,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - glob
    - fixed
    - len
    argTypes:
    - struct URLGlob*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: glob_fixed
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - malloc
    - globerror
    - memdup0
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode glob_fixed(struct URLGlob *glob, char *fixed, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_urlglob.c:68,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_urlglob.c:69,1
    - Dst: __builtin_mul_overflow
      Src: /src/curl/src/tool_urlglob.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - amount
    - with
    argTypes:
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: multiply
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - __builtin_mul_overflow
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int multiply(curl_off_t *amount, curl_off_t with)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:113,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:117,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:121,1
    - Dst: multiply
      Src: /src/curl/src/tool_urlglob.c:125,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:126,1
    - Dst: FALLTHROUGH
      Src: /src/curl/src/tool_urlglob.c:128,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:134,1
    - Dst: realloc
      Src: /src/curl/src/tool_urlglob.c:136,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:139,1
    - Dst: malloc
      Src: /src/curl/src/tool_urlglob.c:144,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:147,1
    - Dst: strdup
      Src: /src/curl/src/tool_urlglob.c:149,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_urlglob.c:149,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_urlglob.c:150,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:152,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/tool_urlglob.c:154,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:162,1
    - Dst: FALLTHROUGH
      Src: /src/curl/src/tool_urlglob.c:170,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_urlglob.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 5
    argNames:
    - glob
    - patternp
    - posp
    - amount
    - globindex
    argTypes:
    - struct URLGlob*
    - char**
    - size_t*
    - curl_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 181
    functionName: glob_set
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - malloc
    - globerror
    - strdup
    - curlx_dyn_reset
    - curlx_dyn_addn
    - multiply
    - realloc
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_set(struct URLGlob *glob, const char **patternp,\n                         size_t
      *posp, curl_off_t *amount,\n                         int globindex)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ISALPHA
      Src: /src/curl/src/tool_urlglob.c:200,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_urlglob.c:219,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_urlglob.c:219,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:240,1
    - Dst: multiply
      Src: /src/curl/src/tool_urlglob.c:247,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:249,1
    - Dst: ISDIGIT
      Src: /src/curl/src/tool_urlglob.c:251,1
    - Dst: ISDIGIT
      Src: /src/curl/src/tool_urlglob.c:264,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_urlglob.c:271,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_urlglob.c:273,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/src/tool_urlglob.c:274,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_urlglob.c:275,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_urlglob.c:277,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_urlglob.c:279,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_urlglob.c:280,1
    - Dst: curlx_str_single
      Src: /src/curl/src/tool_urlglob.c:281,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:295,1
    - Dst: multiply
      Src: /src/curl/src/tool_urlglob.c:303,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:305,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:308,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 65
    argCount: 5
    argNames:
    - glob
    - patternp
    - posp
    - amount
    - globindex
    argTypes:
    - struct URLGlob*
    - char**
    - size_t*
    - curl_off_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 313
    functionName: glob_range
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - curlx_str_passblanks
    - globerror
    - curlx_str_number
    - multiply
    - curlx_str_single
    - ISDIGIT
    - ISALPHA
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_range(struct URLGlob *glob, const char **patternp,\n
      \                          size_t *posp, curl_off_t *amount,\n                           int
      globindex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/src/tool_urlglob.c:326,1
    - Dst: curl_url
      Src: /src/curl/src/tool_urlglob.c:336,1
    - Dst: memcpy
      Src: /src/curl/src/tool_urlglob.c:340,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_urlglob.c:344,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_urlglob.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - str
    - skip
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 350
    functionName: peek_ipv6
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - strchr
    - curl_url
    - memcpy
    - curl_url_cleanup
    linkageType: ''
    returnType: bool
    signature: bool peek_ipv6(const char *str, size_t *skip)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: peek_ipv6
      Src: /src/curl/src/tool_urlglob.c:368,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_urlglob.c:371,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:379,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_urlglob.c:392,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_urlglob.c:396,1
    - Dst: glob_fixed
      Src: /src/curl/src/tool_urlglob.c:398,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_urlglob.c:398,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_urlglob.c:399,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/tool_urlglob.c:400,1
    - Dst: glob_set
      Src: /src/curl/src/tool_urlglob.c:411,1
    - Dst: glob_range
      Src: /src/curl/src/tool_urlglob.c:418,1
    - Dst: realloc
      Src: /src/curl/src/tool_urlglob.c:427,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:429,1
    - Dst: globerror
      Src: /src/curl/src/tool_urlglob.c:432,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 4
    argNames:
    - glob
    - pattern
    - pos
    - amount
    argTypes:
    - struct URLGlob*
    - char*
    - size_t
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 437
    functionName: glob_parse
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - globerror
    - glob_set
    - glob_range
    - glob_fixed
    - curlx_dyn_reset
    - curlx_dyn_addn
    - peek_ipv6
    - curlx_dyn_len
    - realloc
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_parse(struct URLGlob *glob, const char *pattern,\n                           size_t
      pos, curl_off_t *amount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glob
    argTypes:
    - struct URLGlob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: glob_inuse
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool glob_inuse(struct URLGlob *glob)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/src/tool_urlglob.c:454,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_urlglob.c:455,1
    - Dst: malloc
      Src: /src/curl/src/tool_urlglob.c:456,1
    - Dst: glob_parse
      Src: /src/curl/src/tool_urlglob.c:461,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_urlglob.c:469,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_urlglob.c:478,1
    - Dst: glob_cleanup
      Src: /src/curl/src/tool_urlglob.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - glob
    - url
    - urlnum
    - error
    argTypes:
    - struct URLGlob*
    - char*
    - curl_off_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 487
    functionName: glob_url
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - malloc
    - curl_msnprintf
    - curl_mfprintf
    - glob_cleanup
    - curlx_dyn_init
    - memset
    - glob_parse
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_url(struct URLGlob *glob, char *url, curl_off_t *urlnum,\n
      \                 FILE *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/curl/src/tool_urlglob.c:499,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_urlglob.c:500,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_urlglob.c:503,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_urlglob.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - glob
    argTypes:
    - struct URLGlob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 507
    functionName: glob_cleanup
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_free
    - tool_safefree
    linkageType: ''
    returnType: void
    signature: void glob_cleanup(struct URLGlob *glob)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/tool_urlglob.c:515,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_urlglob.c:549,1
    - Dst: curlx_dyn_add
      Src: /src/curl/src/tool_urlglob.c:563,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_urlglob.c:569,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/tool_urlglob.c:574,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_urlglob.c:579,1
    - Dst: strdup
      Src: /src/curl/src/tool_urlglob.c:584,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_urlglob.c:584,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - globbed
    - glob
    argTypes:
    - char**
    - struct URLGlob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 589
    functionName: glob_next_url
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - strdup
    - curlx_dyn_reset
    - curlx_dyn_addn
    - curlx_dyn_ptr
    - DEBUGASSERT
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode glob_next_url(char **globbed, struct URLGlob *glob)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_urlglob.c:599,1
    - Dst: ISDIGIT
      Src: /src/curl/src/tool_urlglob.c:603,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_urlglob.c:608,1
    - Dst: curlx_dyn_add
      Src: /src/curl/src/tool_urlglob.c:624,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_urlglob.c:628,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/tool_urlglob.c:632,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_urlglob.c:636,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_urlglob.c:637,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_urlglob.c:643,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_urlglob.c:646,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_urlglob.c:651,1
    - Dst: sanitize_file_name
      Src: /src/curl/src/tool_urlglob.c:657,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_urlglob.c:657,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_urlglob.c:660,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_urlglob.c:667,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 3
    argNames:
    - output
    - filename
    - glob
    argTypes:
    - char**
    - char*
    - struct URLGlob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 670
    functionName: glob_match_url
    functionSourceFile: /src/curl/src/tool_urlglob.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_str_number
    - curlx_dyn_init
    - curlx_dyn_ptr
    - sanitize_file_name
    - ISDIGIT
    - DEBUGASSERT
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glob_match_url(char **output, const char *filename,\n                        struct
      URLGlob *glob)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operhlp.c:41,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operhlp.c:42,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operhlp.c:43,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operhlp.c:44,1
    - Dst: single_transfer_cleanup
      Src: /src/curl/src/tool_operhlp.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: clean_getout
    functionSourceFile: /src/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - single_transfer_cleanup
    - tool_safefree
    linkageType: ''
    returnType: void
    signature: void clean_getout(struct OperationConfig *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/curl/src/tool_operhlp.c:56,1
    - Dst: checkprefix
      Src: /src/curl/src/tool_operhlp.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - url
    - uploadfile
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: output_expected
    functionSourceFile: /src/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - checkprefix
    linkageType: ''
    returnType: bool
    signature: bool output_expected(const char *url, const char *uploadfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_operhlp.c:64,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operhlp.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - uploadfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: stdin_upload
    functionSourceFile: /src/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool stdin_upload(const char *uploadfile)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ucode
    argTypes:
    - CURLUcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: urlerr_cvt
    functionSourceFile: /src/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode urlerr_cvt(CURLUcode ucode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/src/tool_operhlp.c:89,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_operhlp.c:94,1
    - Dst: urlerr_cvt
      Src: /src/curl/src/tool_operhlp.c:97,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_operhlp.c:100,1
    - Dst: urlerr_cvt
      Src: /src/curl/src/tool_operhlp.c:102,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_operhlp.c:105,1
    - Dst: curl_free
      Src: /src/curl/src/tool_operhlp.c:107,1
    - Dst: curl_free
      Src: /src/curl/src/tool_operhlp.c:108,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_operhlp.c:109,1
    - Dst: strrchr
      Src: /src/curl/src/tool_operhlp.c:112,1
    - Dst: strrchr
      Src: /src/curl/src/tool_operhlp.c:119,1
    - Dst: strrchr
      Src: /src/curl/src/tool_operhlp.c:120,1
    - Dst: curl_easy_escape
      Src: /src/curl/src/tool_operhlp.c:131,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_operhlp.c:137,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_operhlp.c:140,1
    - Dst: curl_free
      Src: /src/curl/src/tool_operhlp.c:142,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_operhlp.c:146,1
    - Dst: free
      Src: /src/curl/src/tool_operhlp.c:147,1
    - Dst: urlerr_cvt
      Src: /src/curl/src/tool_operhlp.c:149,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_operhlp.c:152,1
    - Dst: urlerr_cvt
      Src: /src/curl/src/tool_operhlp.c:154,1
    - Dst: free
      Src: /src/curl/src/tool_operhlp.c:157,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_operhlp.c:167,1
    - Dst: curl_free
      Src: /src/curl/src/tool_operhlp.c:168,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 3
    argNames:
    - curl
    - inurlp
    - filename
    argTypes:
    - CURL*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 170
    functionName: add_file_name_to_url
    functionSourceFile: /src/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - strrchr
    - curl_url_get
    - curl_url
    - curl_easy_escape
    - curl_free
    - free
    - urlerr_cvt
    - curl_url_cleanup
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode add_file_name_to_url(CURL *curl, char **inurlp, const char
      *filename)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/src/tool_operhlp.c:178,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_operhlp.c:187,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_operhlp.c:189,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_operhlp.c:190,1
    - Dst: strrchr
      Src: /src/curl/src/tool_operhlp.c:196,1
    - Dst: strrchr
      Src: /src/curl/src/tool_operhlp.c:197,1
    - Dst: strdup
      Src: /src/curl/src/tool_operhlp.c:209,1
    - Dst: strdup
      Src: /src/curl/src/tool_operhlp.c:213,1
    - Dst: warnf
      Src: /src/curl/src/tool_operhlp.c:214,1
    - Dst: curl_free
      Src: /src/curl/src/tool_operhlp.c:217,1
    - Dst: sanitize_file_name
      Src: /src/curl/src/tool_operhlp.c:224,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operhlp.c:225,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_operhlp.c:238,1
    - Dst: urlerr_cvt
      Src: /src/curl/src/tool_operhlp.c:239,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - filename
    - url
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 240
    functionName: get_url_file_name
    functionSourceFile: /src/curl/src/tool_operhlp.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - tool_safefree
    - strdup
    - strrchr
    - curl_url_get
    - curl_url
    - curl_free
    - urlerr_cvt
    - warnf
    - sanitize_file_name
    - curl_url_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode get_url_file_name(char **filename, const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: ARGTYPE
    functionSourceFile: /src/curl/src/tool_getparam.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: convert_UTF8_to_tchar
    functionSourceFile: /src/curl/src/tool_getparam.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert_UTF8_to_tchar(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: convert_tchar_to_UTF8
    functionSourceFile: /src/curl/src/tool_getparam.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert_tchar_to_UTF8(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: unicodefree
    functionSourceFile: /src/curl/src/tool_getparam.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unicodefree(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: convert_UTF8_to_tchar
    functionSourceFile: /src/curl/src/tool_getparam.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert_UTF8_to_tchar(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    functionName: convert_tchar_to_UTF8
    functionSourceFile: /src/curl/src/tool_getparam.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert_tchar_to_UTF8(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: unicodefree
    functionSourceFile: /src/curl/src/tool_getparam.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unicodefree(ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_terminal_columns
      Src: /src/curl/src/tool_msgs.c:45,1
    - Dst: strlen
      Src: /src/curl/src/tool_msgs.c:45,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_msgs.c:49,1
    - Dst: strchr
      Src: /src/curl/src/tool_msgs.c:49,1
    - Dst: curl_mvaprintf
      Src: /src/curl/src/tool_msgs.c:51,1
    - Dst: strlen
      Src: /src/curl/src/tool_msgs.c:54,1
    - Dst: fputs
      Src: /src/curl/src/tool_msgs.c:58,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_msgs.c:63,1
    - Dst: fwrite
      Src: /src/curl/src/tool_msgs.c:71,1
    - Dst: fputs
      Src: /src/curl/src/tool_msgs.c:72,1
    - Dst: fputs
      Src: /src/curl/src/tool_msgs.c:77,1
    - Dst: fputs
      Src: /src/curl/src/tool_msgs.c:78,1
    - Dst: curl_free
      Src: /src/curl/src/tool_msgs.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - prefix
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: voutf
    functionSourceFile: /src/curl/src/tool_msgs.c
    functionUses: 0
    functionsReached:
    - strlen
    - fwrite
    - strchr
    - fputs
    - curl_free
    - get_terminal_columns
    - curl_mvaprintf
    - DEBUGASSERT
    - ISBLANK
    linkageType: ''
    returnType: void
    signature: "void voutf(const char *prefix,\n                  const char *fmt,\n
      \                 va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/src/tool_msgs.c:93,1
    - Dst: voutf
      Src: /src/curl/src/tool_msgs.c:94,1
    - Dst: va_end
      Src: /src/curl/src/tool_msgs.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: notef
    functionSourceFile: /src/curl/src/tool_msgs.c
    functionUses: 0
    functionsReached:
    - va_start
    - voutf
    - va_end
    linkageType: ''
    returnType: void
    signature: void notef(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/src/tool_msgs.c:107,1
    - Dst: voutf
      Src: /src/curl/src/tool_msgs.c:108,1
    - Dst: va_end
      Src: /src/curl/src/tool_msgs.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: warnf
    functionSourceFile: /src/curl/src/tool_msgs.c
    functionUses: 24
    functionsReached:
    - va_start
    - voutf
    - va_end
    linkageType: ''
    returnType: void
    signature: void warnf(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/src/tool_msgs.c:121,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_msgs.c:122,1
    - Dst: strchr
      Src: /src/curl/src/tool_msgs.c:122,1
    - Dst: fputs
      Src: /src/curl/src/tool_msgs.c:123,1
    - Dst: curl_mvfprintf
      Src: /src/curl/src/tool_msgs.c:124,1
    - Dst: va_end
      Src: /src/curl/src/tool_msgs.c:125,1
    - Dst: fputs
      Src: /src/curl/src/tool_msgs.c:126,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_msgs.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: helpf
    functionSourceFile: /src/curl/src/tool_msgs.c
    functionUses: 1
    functionsReached:
    - curl_mfprintf
    - va_start
    - strchr
    - fputs
    - curl_mvfprintf
    - va_end
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void helpf(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/src/tool_msgs.c:143,1
    - Dst: voutf
      Src: /src/curl/src/tool_msgs.c:144,1
    - Dst: va_end
      Src: /src/curl/src/tool_msgs.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: errorf
    functionSourceFile: /src/curl/src/tool_msgs.c
    functionUses: 16
    functionsReached:
    - va_start
    - voutf
    - va_end
    linkageType: ''
    returnType: void
    signature: void errorf(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/src/config2setopts.c:48,1
    - Dst: getsockname
      Src: /src/curl/src/config2setopts.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: get_address_family
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - getsockname
    - memset
    linkageType: ''
    returnType: int
    signature: int get_address_family(curl_socket_t sockfd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_address_family
      Src: /src/curl/src/config2setopts.c:72,1
    - Dst: setsockopt
      Src: /src/curl/src/config2setopts.c:75,1
    - Dst: setsockopt
      Src: /src/curl/src/config2setopts.c:80,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:88,1
    - Dst: curlx_strerror
      Src: /src/curl/src/config2setopts.c:89,1
    - Dst: setsockopt
      Src: /src/curl/src/config2setopts.c:96,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:100,1
    - Dst: curlx_strerror
      Src: /src/curl/src/config2setopts.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 106
    functionName: sockopt_callback
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - curlx_strerror
    - warnf
    - get_address_family
    linkageType: ''
    returnType: int
    signature: "int sockopt_callback(void *clientp, curl_socket_t curlfd,\n                            curlsocktype
      purpose)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_version_info
      Src: /src/curl/src/config2setopts.c:115,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/config2setopts.c:117,1
    - Dst: strcspn
      Src: /src/curl/src/config2setopts.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: ssl_backend
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - curl_version_info
    - curl_msnprintf
    - strcspn
    linkageType: ''
    returnType: char
    signature: char *ssl_backend(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/src/config2setopts.c:133,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/config2setopts.c:137,1
    - Dst: curl_url_set
      Src: /src/curl/src/config2setopts.c:140,1
    - Dst: curl_url_get
      Src: /src/curl/src/config2setopts.c:142,1
    - Dst: curl_strequal
      Src: /src/curl/src/config2setopts.c:147,1
    - Dst: curl_strequal
      Src: /src/curl/src/config2setopts.c:148,1
    - Dst: ipfs_url_rewrite
      Src: /src/curl/src/config2setopts.c:149,1
    - Dst: curl_strequal
      Src: /src/curl/src/config2setopts.c:151,1
    - Dst: curl_strequal
      Src: /src/curl/src/config2setopts.c:153,1
    - Dst: proto_token
      Src: /src/curl/src/config2setopts.c:160,1
    - Dst: curl_free
      Src: /src/curl/src/config2setopts.c:162,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/config2setopts.c:164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - url
    - config
    - scheme
    argTypes:
    - char**
    - struct OperationConfig*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 171
    functionName: url_proto_and_rewrite
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - ipfs_url_rewrite
    - curl_strequal
    - curl_url_get
    - curl_url
    - curl_free
    - curl_url_cleanup
    - DEBUGASSERT
    - proto_token
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode url_proto_and_rewrite(char **url,\n                                      struct
      OperationConfig *config,\n                                      const char **scheme)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:179,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:181,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:185,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:190,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:195,1
    - Dst: findfile
      Src: /src/curl/src/config2setopts.c:201,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:204,1
    - Dst: curl_free
      Src: /src/curl/src/config2setopts.c:207,1
    - Dst: errorf
      Src: /src/curl/src/config2setopts.c:214,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 221
    functionName: ssh_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - findfile
    - my_setopt_str
    - errorf
    - curl_free
    - my_setopt_long
    - warnf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - mintls
    - maxtls
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 275
    functionName: tlsversion
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: "long tlsversion(unsigned char mintls,\n                       unsigned
      char maxtls)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:283,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:285,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:288,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:295,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:301,1
    - Dst: ssl_backend
      Src: /src/curl/src/config2setopts.c:303,1
    - Dst: CURL_UNCONST
      Src: /src/curl/src/config2setopts.c:313,1
    - Dst: strlen
      Src: /src/curl/src/config2setopts.c:314,1
    - Dst: notef
      Src: /src/curl/src/config2setopts.c:316,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/config2setopts.c:317,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:319,1
    - Dst: ssl_backend
      Src: /src/curl/src/config2setopts.c:320,1
    - Dst: CURL_UNCONST
      Src: /src/curl/src/config2setopts.c:325,1
    - Dst: strlen
      Src: /src/curl/src/config2setopts.c:326,1
    - Dst: notef
      Src: /src/curl/src/config2setopts.c:328,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/config2setopts.c:329,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:331,1
    - Dst: ssl_backend
      Src: /src/curl/src/config2setopts.c:332,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:338,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:340,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:342,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:345,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:348,1
    - Dst: ssl_backend
      Src: /src/curl/src/config2setopts.c:349,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:352,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:355,1
    - Dst: ssl_backend
      Src: /src/curl/src/config2setopts.c:356,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:360,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:363,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:367,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:369,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:370,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:371,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:372,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:374,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:375,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:376,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:377,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:382,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:383,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:387,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:388,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:392,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:393,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:397,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:400,1
    - Dst: my_setopt_SSLVERSION
      Src: /src/curl/src/config2setopts.c:402,1
    - Dst: tlsversion
      Src: /src/curl/src/config2setopts.c:403,1
    - Dst: my_setopt_SSLVERSION
      Src: /src/curl/src/config2setopts.c:406,1
    - Dst: my_setopt_bitmask
      Src: /src/curl/src/config2setopts.c:419,1
    - Dst: my_setopt_bitmask
      Src: /src/curl/src/config2setopts.c:430,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:434,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:437,1
    - Dst: ssl_backend
      Src: /src/curl/src/config2setopts.c:438,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:441,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:444,1
    - Dst: ssl_backend
      Src: /src/curl/src/config2setopts.c:445,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:448,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:451,1
    - Dst: ssl_backend
      Src: /src/curl/src/config2setopts.c:452,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:455,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:458,1
    - Dst: ssl_backend
      Src: /src/curl/src/config2setopts.c:459,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:465,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:470,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:472,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:474,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:479,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:486,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:490,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:494,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:497,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 139
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 500
    functionName: ssl_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_enum
    - strlen
    - my_setopt_str
    - notef
    - ssl_backend
    - my_setopt_SSLVERSION
    - tlsversion
    - CURL_UNCONST
    - my_setopt_bitmask
    - my_setopt_long
    - warnf
    - curl_easy_setopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssl_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:508,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:509,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:511,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:512,1
    - Dst: my_setopt_slist
      Src: /src/curl/src/config2setopts.c:516,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:517,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:521,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:524,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:534,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:538,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:542,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:544,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:547,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:550,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:554,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 558
    functionName: http_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_enum
    - my_setopt_slist
    - my_setopt_long
    - my_setopt_str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_setopts(struct OperationConfig *config,\n                             CURL
      *curl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/config2setopts.c:569,1
    - Dst: curlx_dyn_add
      Src: /src/curl/src/config2setopts.c:572,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/config2setopts.c:574,1
    - Dst: warnf
      Src: /src/curl/src/config2setopts.c:577,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:583,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/config2setopts.c:583,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/config2setopts.c:584,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:591,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:596,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 602
    functionName: cookie_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - my_setopt_str
    - curlx_dyn_free
    - curlx_dyn_init
    - my_setopt_long
    - warnf
    - curlx_dyn_ptr
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cookie_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:608,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:611,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:614,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:618,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:620,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:621,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:624,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 629
    functionName: tcp_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt
    - my_setopt_long
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tcp_setopts(struct OperationConfig *config,\n                            CURL
      *curl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:633,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:638,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:643,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:647,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:649,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:652,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:655,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:658,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 666
    functionName: ftp_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_enum
    - my_setopt_long
    - my_setopt_str
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ftp_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:671,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:672,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 675
    functionName: gen_trace_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt
    - my_setopt_long
    linkageType: ''
    returnType: void
    signature: void gen_trace_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:684,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:685,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:688,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:691,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:692,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:696,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:697,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:703,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:704,1
    - Dst: strcmp
      Src: /src/curl/src/config2setopts.c:706,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:709,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:710,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:711,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:714,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - config
    - per
    - curl
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 716
    functionName: gen_cb_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt
    - strcmp
    - my_setopt_long
    linkageType: ''
    returnType: void
    signature: "void gen_cb_setopts(struct OperationConfig *config,\n                           struct
      per_transfer *per,\n                           CURL *curl)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:721,1
    - Dst: errorf
      Src: /src/curl/src/config2setopts.c:724,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:732,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:734,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:737,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:741,1
    - Dst: my_setopt_bitmask
      Src: /src/curl/src/config2setopts.c:745,1
    - Dst: my_setopt_bitmask
      Src: /src/curl/src/config2setopts.c:747,1
    - Dst: my_setopt_bitmask
      Src: /src/curl/src/config2setopts.c:749,1
    - Dst: my_setopt_bitmask
      Src: /src/curl/src/config2setopts.c:751,1
    - Dst: my_setopt_bitmask
      Src: /src/curl/src/config2setopts.c:753,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:756,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:758,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:763,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:768,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:772,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 775
    functionName: proxy_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_enum
    - my_setopt_str
    - my_setopt_bitmask
    - errorf
    - my_setopt_long
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode proxy_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:780,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:782,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:784,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:786,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:789,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - config
    - curl
    argTypes:
    - struct OperationConfig*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 794
    functionName: tls_srp_setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - my_setopt_str
    linkageType: ''
    returnType: void
    signature: void tls_srp_setopts(struct OperationConfig *config, CURL *curl)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: url_proto_and_rewrite
      Src: /src/curl/src/config2setopts.c:802,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/config2setopts.c:806,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/config2setopts.c:816,1
    - Dst: gen_trace_setopts
      Src: /src/curl/src/config2setopts.c:821,1
    - Dst: getenv
      Src: /src/curl/src/config2setopts.c:825,1
    - Dst: curlx_str_number
      Src: /src/curl/src/config2setopts.c:829,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:830,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:836,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:838,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:841,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:842,1
    - Dst: gen_cb_setopts
      Src: /src/curl/src/config2setopts.c:845,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:847,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:848,1
    - Dst: proxy_setopts
      Src: /src/curl/src/config2setopts.c:850,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:854,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:855,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:856,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:857,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:858,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:861,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:863,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:865,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:867,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:868,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:869,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:870,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:871,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:872,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:873,1
    - Dst: errorf
      Src: /src/curl/src/config2setopts.c:878,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:882,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/config2setopts.c:883,1
    - Dst: my_setopt_offt
      Src: /src/curl/src/config2setopts.c:884,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/config2setopts.c:885,1
    - Dst: curl_mime_free
      Src: /src/curl/src/config2setopts.c:890,1
    - Dst: errorf
      Src: /src/curl/src/config2setopts.c:893,1
    - Dst: tool2curlmime
      Src: /src/curl/src/config2setopts.c:897,1
    - Dst: my_setopt_mimepost
      Src: /src/curl/src/config2setopts.c:899,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:909,1
    - Dst: my_setopt_bitmask
      Src: /src/curl/src/config2setopts.c:912,1
    - Dst: my_setopt_slist
      Src: /src/curl/src/config2setopts.c:914,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:917,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:918,1
    - Dst: http_setopts
      Src: /src/curl/src/config2setopts.c:922,1
    - Dst: cookie_setopts
      Src: /src/curl/src/config2setopts.c:924,1
    - Dst: ftp_setopts
      Src: /src/curl/src/config2setopts.c:930,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:935,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:936,1
    - Dst: my_setopt_offt
      Src: /src/curl/src/config2setopts.c:937,1
    - Dst: my_setopt_offt
      Src: /src/curl/src/config2setopts.c:938,1
    - Dst: my_setopt_offt
      Src: /src/curl/src/config2setopts.c:941,1
    - Dst: my_setopt_offt
      Src: /src/curl/src/config2setopts.c:943,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:945,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:946,1
    - Dst: ssh_setopts
      Src: /src/curl/src/config2setopts.c:949,1
    - Dst: ssl_setopts
      Src: /src/curl/src/config2setopts.c:955,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:961,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:965,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:968,1
    - Dst: my_setopt_slist
      Src: /src/curl/src/config2setopts.c:969,1
    - Dst: my_setopt_slist
      Src: /src/curl/src/config2setopts.c:970,1
    - Dst: my_setopt_slist
      Src: /src/curl/src/config2setopts.c:971,1
    - Dst: my_setopt_enum
      Src: /src/curl/src/config2setopts.c:973,1
    - Dst: my_setopt_offt
      Src: /src/curl/src/config2setopts.c:974,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:975,1
    - Dst: customrequest_helper
      Src: /src/curl/src/config2setopts.c:976,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:977,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:978,1
    - Dst: progressbarinit
      Src: /src/curl/src/config2setopts.c:979,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:980,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:981,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:982,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:983,1
    - Dst: my_setopt_slist
      Src: /src/curl/src/config2setopts.c:984,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:985,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:986,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:987,1
    - Dst: my_setopt_offt
      Src: /src/curl/src/config2setopts.c:990,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:992,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:994,1
    - Dst: my_setopt_bitmask
      Src: /src/curl/src/config2setopts.c:996,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:997,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:998,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1001,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1002,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1006,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1007,1
    - Dst: tcp_setopts
      Src: /src/curl/src/config2setopts.c:1010,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1015,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:1017,1
    - Dst: my_setopt_slist
      Src: /src/curl/src/config2setopts.c:1018,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1019,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1022,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:1025,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:1027,1
    - Dst: my_setopt_slist
      Src: /src/curl/src/config2setopts.c:1029,1
    - Dst: my_setopt_slist
      Src: /src/curl/src/config2setopts.c:1030,1
    - Dst: tls_srp_setopts
      Src: /src/curl/src/config2setopts.c:1033,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1036,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:1038,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:1039,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1040,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:1044,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:1048,1
    - Dst: my_setopt_str
      Src: /src/curl/src/config2setopts.c:1053,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1054,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1058,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1061,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:1066,1
    - Dst: my_setopt
      Src: /src/curl/src/config2setopts.c:1067,1
    - Dst: errorf
      Src: /src/curl/src/config2setopts.c:1070,1
    - Dst: errorf
      Src: /src/curl/src/config2setopts.c:1074,1
    - Dst: my_setopt_long
      Src: /src/curl/src/config2setopts.c:1079,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 198
    argCount: 4
    argNames:
    - config
    - per
    - curl
    - share
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURL*
    - CURLSH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 796
    functionDepth: 4
    functionLinenumber: 796
    functionLinenumberEnd: 1081
    functionName: config2setopts
    functionSourceFile: /src/curl/src/config2setopts.c
    functionUses: 0
    functionsReached:
    - getenv
    - progressbarinit
    - gen_cb_setopts
    - my_setopt_str
    - my_setopt
    - curlx_str_number
    - curlx_dyn_len
    - curl_mime_free
    - curl_easy_setopt
    - curlx_dyn_ptr
    - tls_srp_setopts
    - my_setopt_offt
    - tcp_setopts
    - cookie_setopts
    - my_setopt_long
    - http_setopts
    - customrequest_helper
    - ssh_setopts
    - my_setopt_enum
    - ftp_setopts
    - proxy_setopts
    - my_setopt_bitmask
    - ssl_setopts
    - errorf
    - gen_trace_setopts
    - my_setopt_mimepost
    - url_proto_and_rewrite
    - my_setopt_slist
    - tool2curlmime
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode config2setopts(struct OperationConfig *config,\n                        struct
      per_transfer *per,\n                        CURL *curl,\n                        CURLSH
      *share)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slist_wc_free_all
      Src: /src/curl/src/tool_easysrc.c:80,1
    - Dst: slist_wc_free_all
      Src: /src/curl/src/tool_easysrc.c:82,1
    - Dst: slist_wc_free_all
      Src: /src/curl/src/tool_easysrc.c:84,1
    - Dst: slist_wc_free_all
      Src: /src/curl/src/tool_easysrc.c:86,1
    - Dst: slist_wc_free_all
      Src: /src/curl/src/tool_easysrc.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: easysrc_free
    functionSourceFile: /src/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - slist_wc_free_all
    linkageType: ''
    returnType: void
    signature: void easysrc_free(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: slist_wc_append
      Src: /src/curl/src/tool_easysrc.c:96,1
    - Dst: easysrc_free
      Src: /src/curl/src/tool_easysrc.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - plist
    - line
    argTypes:
    - struct slist_wc**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: easysrc_add
    functionSourceFile: /src/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - slist_wc_append
    - easysrc_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_add(struct slist_wc **plist, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/src/tool_easysrc.c:111,1
    - Dst: curl_mvaprintf
      Src: /src/curl/src/tool_easysrc.c:112,1
    - Dst: va_end
      Src: /src/curl/src/tool_easysrc.c:113,1
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:118,1
    - Dst: curl_free
      Src: /src/curl/src/tool_easysrc.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - plist
    - fmt
    argTypes:
    - struct slist_wc**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: easysrc_addf
    functionSourceFile: /src/curl/src/tool_easysrc.c
    functionUses: 11
    functionsReached:
    - va_start
    - curl_free
    - easysrc_add
    - va_end
    - curl_mvaprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_addf(struct slist_wc **plist, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: easysrc_init
    functionSourceFile: /src/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - easysrc_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_init(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:136,1
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:139,1
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:143,1
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:146,1
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:148,1
    - Dst: slist_wc_free_all
      Src: /src/curl/src/tool_easysrc.c:150,1
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:155,1
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:157,1
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:159,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: easysrc_perform
    functionSourceFile: /src/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - easysrc_add
    - slist_wc_free_all
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_perform(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:166,1
    - Dst: easysrc_add
      Src: /src/curl/src/tool_easysrc.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: easysrc_cleanup
    functionSourceFile: /src/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - easysrc_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easysrc_cleanup(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_easysrc.c:180,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_easysrc.c:181,1
    - Dst: warnf
      Src: /src/curl/src/tool_easysrc.c:187,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_easysrc.c:193,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_easysrc.c:198,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_easysrc.c:203,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_easysrc.c:206,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_easysrc.c:209,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_easysrc.c:213,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_easysrc.c:216,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_easysrc.c:223,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_easysrc.c:227,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_easysrc.c:230,1
    - Dst: easysrc_free
      Src: /src/curl/src/tool_easysrc.c:233,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 234
    functionName: dumpeasysrc
    functionSourceFile: /src/curl/src/tool_easysrc.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_fopen
    - strcmp
    - warnf
    - easysrc_free
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void dumpeasysrc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_cb_hdr.c:69,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_hdr.c:70,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cb_hdr.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hdrcbdata
    - stream
    argTypes:
    - struct HdrCbData*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: tool_write_headers
    functionSourceFile: /src/curl/src/tool_cb_hdr.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_slist_free_all
    - fwrite
    linkageType: ''
    returnType: int
    signature: int tool_write_headers(struct HdrCbData *hdrcbdata, FILE *stream)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/curl/src/tool_cb_hdr.c:104,1
    - Dst: memset
      Src: /src/curl/src/tool_cb_hdr.c:112,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_hdr.c:120,1
    - Dst: fflush
      Src: /src/curl/src/tool_cb_hdr.c:124,1
    - Dst: errorf
      Src: /src/curl/src/tool_cb_hdr.c:125,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_cb_hdr.c:130,1
    - Dst: proto_token
      Src: /src/curl/src/tool_cb_hdr.c:131,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_cb_hdr.c:134,1
    - Dst: checkprefix
      Src: /src/curl/src/tool_cb_hdr.c:145,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_cb_hdr.c:149,1
    - Dst: ISSPACE
      Src: /src/curl/src/tool_cb_hdr.c:151,1
    - Dst: ftruncate
      Src: /src/curl/src/tool_cb_hdr.c:160,1
    - Dst: fileno
      Src: /src/curl/src/tool_cb_hdr.c:160,1
    - Dst: fseek
      Src: /src/curl/src/tool_cb_hdr.c:164,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_hdr.c:169,1
    - Dst: fputc
      Src: /src/curl/src/tool_cb_hdr.c:171,1
    - Dst: fflush
      Src: /src/curl/src/tool_cb_hdr.c:172,1
    - Dst: checkprefix
      Src: /src/curl/src/tool_cb_hdr.c:185,1
    - Dst: ISALPHA
      Src: /src/curl/src/tool_cb_hdr.c:194,1
    - Dst: memcmp
      Src: /src/curl/src/tool_cb_hdr.c:199,1
    - Dst: parse_filename
      Src: /src/curl/src/tool_cb_hdr.c:211,1
    - Dst: free
      Src: /src/curl/src/tool_cb_hdr.c:215,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_cb_hdr.c:220,1
    - Dst: free
      Src: /src/curl/src/tool_cb_hdr.c:222,1
    - Dst: tool_create_output_file
      Src: /src/curl/src/tool_cb_hdr.c:234,1
    - Dst: tool_write_headers
      Src: /src/curl/src/tool_cb_hdr.c:236,1
    - Dst: tool_create_output_file
      Src: /src/curl/src/tool_cb_hdr.c:241,1
    - Dst: tool_write_headers
      Src: /src/curl/src/tool_cb_hdr.c:243,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_cb_hdr.c:251,1
    - Dst: curl_slist_append
      Src: /src/curl/src/tool_cb_hdr.c:254,1
    - Dst: free
      Src: /src/curl/src/tool_cb_hdr.c:255,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cb_hdr.c:257,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_cb_hdr.c:262,1
    - Dst: memchr
      Src: /src/curl/src/tool_cb_hdr.c:271,1
    - Dst: tool_create_output_file
      Src: /src/curl/src/tool_cb_hdr.c:287,1
    - Dst: memchr
      Src: /src/curl/src/tool_cb_hdr.c:295,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_hdr.c:298,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_hdr.c:300,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_cb_hdr.c:302,1
    - Dst: write_linked_location
      Src: /src/curl/src/tool_cb_hdr.c:303,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_hdr.c:307,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_hdr.c:312,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 130
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 315
    functionName: tool_header_cb
    functionSourceFile: /src/curl/src/tool_cb_hdr.c
    functionUses: 0
    functionsReached:
    - fflush
    - tool_create_output_file
    - curl_strnequal
    - curl_slist_free_all
    - curl_mfprintf
    - parse_filename
    - fputc
    - curl_slist_append
    - fseek
    - warnf
    - curl_maprintf
    - ISSPACE
    - fwrite
    - tool_write_headers
    - free
    - write_linked_location
    - checkprefix
    - proto_token
    - ISBLANK
    - errorf
    - ftruncate
    - fileno
    - memchr
    - curl_easy_getinfo
    - memcmp
    - memset
    - ISALPHA
    linkageType: ''
    returnType: size_t
    signature: size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memdup0
      Src: /src/curl/src/tool_cb_hdr.c:327,1
    - Dst: strchr
      Src: /src/curl/src/tool_cb_hdr.c:341,1
    - Dst: strrchr
      Src: /src/curl/src/tool_cb_hdr.c:346,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cb_hdr.c:350,1
    - Dst: strrchr
      Src: /src/curl/src/tool_cb_hdr.c:358,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cb_hdr.c:362,1
    - Dst: strchr
      Src: /src/curl/src/tool_cb_hdr.c:368,1
    - Dst: strchr
      Src: /src/curl/src/tool_cb_hdr.c:372,1
    - Dst: memmove
      Src: /src/curl/src/tool_cb_hdr.c:377,1
    - Dst: strlen
      Src: /src/curl/src/tool_cb_hdr.c:377,1
    - Dst: sanitize_file_name
      Src: /src/curl/src/tool_cb_hdr.c:382,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_cb_hdr.c:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 391
    functionName: parse_filename
    functionSourceFile: /src/curl/src/tool_cb_hdr.c
    functionUses: 1
    functionsReached:
    - tool_safefree
    - memmove
    - strlen
    - strrchr
    - strchr
    - sanitize_file_name
    - memdup0
    linkageType: ''
    returnType: char
    signature: char *parse_filename(const char *ptr, size_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/src/tool_cb_hdr.c:412,1
    - Dst: curlx_str_number
      Src: /src/curl/src/tool_cb_hdr.c:416,1
    - Dst: curl_url
      Src: /src/curl/src/tool_cb_hdr.c:435,1
    - Dst: memdup0
      Src: /src/curl/src/tool_cb_hdr.c:440,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_cb_hdr.c:445,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_cb_hdr.c:447,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_cb_hdr.c:451,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_cb_hdr.c:454,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_cb_hdr.c:457,1
    - Dst: strcmp
      Src: /src/curl/src/tool_cb_hdr.c:460,1
    - Dst: strcmp
      Src: /src/curl/src/tool_cb_hdr.c:461,1
    - Dst: strcmp
      Src: /src/curl/src/tool_cb_hdr.c:462,1
    - Dst: strcmp
      Src: /src/curl/src/tool_cb_hdr.c:463,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_hdr.c:464,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_hdr.c:475,1
    - Dst: curl_free
      Src: /src/curl/src/tool_cb_hdr.c:479,1
    - Dst: curl_free
      Src: /src/curl/src/tool_cb_hdr.c:480,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_cb_hdr.c:481,1
    - Dst: free
      Src: /src/curl/src/tool_cb_hdr.c:482,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 52
    argCount: 4
    argNames:
    - curl
    - location
    - loclen
    - stream
    argTypes:
    - CURL*
    - char*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 484
    functionName: write_linked_location
    functionSourceFile: /src/curl/src/tool_cb_hdr.c
    functionUses: 1
    functionsReached:
    - curl_url_set
    - getenv
    - fwrite
    - curl_mfprintf
    - curl_url_get
    - curl_url
    - curl_free
    - free
    - curlx_str_number
    - strcmp
    - curl_easy_getinfo
    - curl_url_cleanup
    - memdup0
    linkageType: ''
    returnType: void
    signature: "void write_linked_location(CURL *curl, const char *location,\n                                  size_t
      loclen, FILE *stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/src/tool_ssls.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_ssls.c:46,1
    - Dst: my_setopt
      Src: /src/curl/src/tool_ssls.c:48,1
    - Dst: my_setopt
      Src: /src/curl/src/tool_ssls.c:49,1
    - Dst: my_setopt_long
      Src: /src/curl/src/tool_ssls.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - config
    - share
    - peasy
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - CURL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: tool_ssls_easy
    functionSourceFile: /src/curl/src/tool_ssls.c
    functionUses: 0
    functionsReached:
    - my_setopt
    - curl_easy_init
    - curl_easy_setopt
    - my_setopt_long
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_ssls_easy(struct OperationConfig *config,\n                               CURLSH
      *share, CURL **peasy)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_ssls.c:68,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_ssls.c:69,1
    - Dst: notef
      Src: /src/curl/src/tool_ssls.c:71,1
    - Dst: tool_ssls_easy
      Src: /src/curl/src/tool_ssls.c:75,1
    - Dst: my_get_line
      Src: /src/curl/src/tool_ssls.c:80,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ssls.c:82,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ssls.c:83,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_ssls.c:84,1
    - Dst: memchr
      Src: /src/curl/src/tool_ssls.c:86,1
    - Dst: strlen
      Src: /src/curl/src/tool_ssls.c:86,1
    - Dst: warnf
      Src: /src/curl/src/tool_ssls.c:88,1
    - Dst: curlx_base64_decode
      Src: /src/curl/src/tool_ssls.c:92,1
    - Dst: warnf
      Src: /src/curl/src/tool_ssls.c:94,1
    - Dst: strlen
      Src: /src/curl/src/tool_ssls.c:98,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_ssls.c:99,1
    - Dst: curlx_base64_decode
      Src: /src/curl/src/tool_ssls.c:103,1
    - Dst: warnf
      Src: /src/curl/src/tool_ssls.c:105,1
    - Dst: curl_easy_ssls_import
      Src: /src/curl/src/tool_ssls.c:109,1
    - Dst: warnf
      Src: /src/curl/src/tool_ssls.c:111,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/src/tool_ssls.c:123,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_ssls.c:125,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_ssls.c:126,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ssls.c:127,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ssls.c:128,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - config
    - share
    - filename
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 130
    functionName: tool_ssls_load
    functionSourceFile: /src/curl/src/tool_ssls.c
    functionUses: 0
    functionsReached:
    - curlx_fclose
    - tool_ssls_easy
    - strlen
    - notef
    - curl_easy_cleanup
    - curlx_base64_decode
    - curlx_fopen
    - curl_free
    - curlx_dyn_free
    - curlx_dyn_init
    - my_get_line
    - memchr
    - warnf
    - curlx_dyn_ptr
    - curl_easy_ssls_import
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_ssls_load(struct OperationConfig *config,\n                        CURLSH
      *share, const char *filename)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/curl/src/tool_ssls.c:155,1
    - Dst: curlx_base64_encode
      Src: /src/curl/src/tool_ssls.c:159,1
    - Dst: fwrite
      Src: /src/curl/src/tool_ssls.c:163,1
    - Dst: fputc
      Src: /src/curl/src/tool_ssls.c:165,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ssls.c:167,1
    - Dst: curlx_base64_encode
      Src: /src/curl/src/tool_ssls.c:168,1
    - Dst: fwrite
      Src: /src/curl/src/tool_ssls.c:172,1
    - Dst: fputc
      Src: /src/curl/src/tool_ssls.c:174,1
    - Dst: warnf
      Src: /src/curl/src/tool_ssls.c:180,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ssls.c:181,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 11
    argNames:
    - easy
    - userptr
    - session_key
    - shmac
    - shmac_len
    - sdata
    - sdata_len
    - valid_until
    - ietf_tls_id
    - alpn
    - earlydata_max
    argTypes:
    - CURL*
    - void*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - curl_off_t
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 183
    functionName: tool_ssls_exp
    functionSourceFile: /src/curl/src/tool_ssls.c
    functionUses: 0
    functionsReached:
    - fwrite
    - curlx_base64_encode
    - fputs
    - curl_free
    - fputc
    - warnf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_ssls_exp(CURL *easy, void *userptr,\n                              const
      char *session_key,\n                              const unsigned char *shmac,
      size_t shmac_len,\n                              const unsigned char *sdata,
      size_t sdata_len,\n                              curl_off_t valid_until, int
      ietf_tls_id,\n                              const char *alpn, size_t earlydata_max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_ssls.c:193,1
    - Dst: warnf
      Src: /src/curl/src/tool_ssls.c:195,1
    - Dst: tool_ssls_easy
      Src: /src/curl/src/tool_ssls.c:200,1
    - Dst: curl_easy_ssls_export
      Src: /src/curl/src/tool_ssls.c:204,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/src/tool_ssls.c:208,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_ssls.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - config
    - share
    - filename
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 212
    functionName: tool_ssls_save
    functionSourceFile: /src/curl/src/tool_ssls.c
    functionUses: 0
    functionsReached:
    - tool_ssls_easy
    - curl_easy_cleanup
    - curlx_fopen
    - warnf
    - curl_easy_ssls_export
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool_ssls_save(struct OperationConfig *config,\n                        CURLSH
      *share, const char *filename)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/src/slist_wc.c:41,1
    - Dst: malloc
      Src: /src/curl/src/slist_wc.c:47,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/slist_wc.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - struct slist_wc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: slist_wc_append
    functionSourceFile: /src/curl/src/slist_wc.c
    functionUses: 1
    functionsReached:
    - curl_slist_append
    - malloc
    - curl_slist_free_all
    linkageType: ''
    returnType: struct slist_wc
    signature: "struct slist_wc *slist_wc_append(struct slist_wc *list,\n                                 const
      char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/curl/src/slist_wc.c:70,1
    - Dst: free
      Src: /src/curl/src/slist_wc.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct slist_wc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: slist_wc_free_all
    functionSourceFile: /src/curl/src/slist_wc.c
    functionUses: 2
    functionsReached:
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void slist_wc_free_all(struct slist_wc *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/src/tool_vms.c:54,1
    - Dst: strcmp
      Src: /src/curl/src/tool_vms.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: is_vms_shell
    functionSourceFile: /src/curl/src/tool_vms.c
    functionUses: 0
    functionsReached:
    - strcmp
    - getenv
    linkageType: ''
    returnType: int
    signature: int is_vms_shell(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_vms_shell
      Src: /src/curl/src/tool_vms.c:95,1
    - Dst: decc$__posix_exit
      Src: /src/curl/src/tool_vms.c:96,1
    - Dst: decc$exit
      Src: /src/curl/src/tool_vms.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - code
    - vms_show
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 107
    functionName: vms_special_exit
    functionSourceFile: /src/curl/src/tool_vms.c
    functionUses: 0
    functionsReached:
    - is_vms_shell
    - decc$__posix_exit
    - decc$exit
    linkageType: ''
    returnType: void
    signature: void vms_special_exit(int code, int vms_show)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decc$feature_get_index
      Src: /src/curl/src/tool_vms.c:161,1
    - Dst: decc$feature_get_value
      Src: /src/curl/src/tool_vms.c:165,1
    - Dst: decc$feature_get_value
      Src: /src/curl/src/tool_vms.c:166,1
    - Dst: decc$feature_get_value
      Src: /src/curl/src/tool_vms.c:167,1
    - Dst: decc$feature_set_value
      Src: /src/curl/src/tool_vms.c:173,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_vms.c:179,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_vms.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 190
    functionName: decc_init
    functionSourceFile: /src/curl/src/tool_vms.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - decc$feature_get_index
    - decc$feature_get_value
    - decc$feature_set_value
    linkageType: ''
    returnType: void
    signature: void decc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/src/var.c:48,1
    - Dst: CURL_UNCONST
      Src: /src/curl/src/var.c:48,1
    - Dst: free
      Src: /src/curl/src/var.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: varcleanup
    functionSourceFile: /src/curl/src/var.c
    functionUses: 0
    functionsReached:
    - free
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void varcleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/var.c:57,1
    - Dst: strncmp
      Src: /src/curl/src/var.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - nlen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: varcontent
    functionSourceFile: /src/curl/src/var.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: struct tool_var
    signature: struct tool_var *varcontent(const char *name, size_t nlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: ENDOFFUNC
    functionSourceFile: /src/curl/src/var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENDOFFUNC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - name
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: FUNCMATCH
    functionSourceFile: /src/curl/src/var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNCMATCH(ptr,name,len)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: FUNCMATCH
      Src: /src/curl/src/var.c:100,1
    - Dst: ISSPACE
      Src: /src/curl/src/var.c:105,1
    - Dst: ISSPACE
      Src: /src/curl/src/var.c:109,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/var.c:113,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/var.c:114,1
    - Dst: FUNCMATCH
      Src: /src/curl/src/var.c:119,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/var.c:121,1
    - Dst: jsonquoted
      Src: /src/curl/src/var.c:123,1
    - Dst: FUNCMATCH
      Src: /src/curl/src/var.c:129,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/var.c:131,1
    - Dst: curl_easy_escape
      Src: /src/curl/src/var.c:133,1
    - Dst: curlx_dyn_add
      Src: /src/curl/src/var.c:140,1
    - Dst: curl_free
      Src: /src/curl/src/var.c:142,1
    - Dst: FUNCMATCH
      Src: /src/curl/src/var.c:147,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/var.c:149,1
    - Dst: curlx_base64_encode
      Src: /src/curl/src/var.c:153,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/var.c:160,1
    - Dst: curl_free
      Src: /src/curl/src/var.c:162,1
    - Dst: FUNCMATCH
      Src: /src/curl/src/var.c:167,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/var.c:169,1
    - Dst: curlx_base64_decode
      Src: /src/curl/src/var.c:173,1
    - Dst: curlx_dyn_add
      Src: /src/curl/src/var.c:176,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/var.c:180,1
    - Dst: curl_free
      Src: /src/curl/src/var.c:182,1
    - Dst: errorf
      Src: /src/curl/src/var.c:190,1
    - Dst: free
      Src: /src/curl/src/var.c:195,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/var.c:197,1
    - Dst: memdup0
      Src: /src/curl/src/var.c:198,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/var.c:198,1
    - Dst: free
      Src: /src/curl/src/var.c:206,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/var.c:208,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 96
    argCount: 5
    argNames:
    - c
    - clen
    - f
    - flen
    - out
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 210
    functionName: varfunc
    functionSourceFile: /src/curl/src/var.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - ISSPACE
    - curlx_base64_encode
    - FUNCMATCH
    - curlx_base64_decode
    - errorf
    - curlx_dyn_reset
    - curl_easy_escape
    - curlx_dyn_addn
    - curl_free
    - free
    - curlx_dyn_free
    - curlx_dyn_len
    - curlx_dyn_ptr
    - jsonquoted
    - memdup0
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError varfunc(char *c, /* content */\n                              size_t
      clen, /* content length */\n                              char *f, /* functions
      */\n                              size_t flen, /* function string length */\n
      \                             struct dynbuf *out)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/var.c:220,1
    - Dst: strstr
      Src: /src/curl/src/var.c:222,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/var.c:227,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/var.c:232,1
    - Dst: strstr
      Src: /src/curl/src/var.c:242,1
    - Dst: warnf
      Src: /src/curl/src/var.c:247,1
    - Dst: memchr
      Src: /src/curl/src/var.c:255,1
    - Dst: warnf
      Src: /src/curl/src/var.c:261,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/var.c:263,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/var.c:269,1
    - Dst: memcpy
      Src: /src/curl/src/var.c:274,1
    - Dst: ISALNUM
      Src: /src/curl/src/var.c:279,1
    - Dst: warnf
      Src: /src/curl/src/var.c:281,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/var.c:283,1
    - Dst: varcontent
      Src: /src/curl/src/var.c:292,1
    - Dst: CURL_UNCONST
      Src: /src/curl/src/var.c:294,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/var.c:300,1
    - Dst: varfunc
      Src: /src/curl/src/var.c:304,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/var.c:307,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/var.c:308,1
    - Dst: memchr
      Src: /src/curl/src/var.c:314,1
    - Dst: errorf
      Src: /src/curl/src/var.c:316,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/var.c:321,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/var.c:322,1
    - Dst: curlx_dyn_add
      Src: /src/curl/src/var.c:335,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/var.c:341,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 3
    argNames:
    - line
    - out
    - replaced
    argTypes:
    - char*
    - struct dynbuf*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 343
    functionName: varexpand
    functionSourceFile: /src/curl/src/var.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_add
    - ISALNUM
    - strstr
    - CURL_UNCONST
    - errorf
    - curlx_dyn_addn
    - memcpy
    - curlx_dyn_init
    - varcontent
    - memchr
    - varfunc
    - warnf
    - curlx_dyn_len
    - curlx_dyn_free
    - curlx_dyn_ptr
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError varexpand(const char *line, struct dynbuf *out,\n                         bool
      *replaced)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: varcontent
      Src: /src/curl/src/var.c:357,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/var.c:358,1
    - Dst: notef
      Src: /src/curl/src/var.c:360,1
    - Dst: calloc
      Src: /src/curl/src/var.c:362,1
    - Dst: memcpy
      Src: /src/curl/src/var.c:364,1
    - Dst: memdup0
      Src: /src/curl/src/var.c:366,1
    - Dst: free
      Src: /src/curl/src/var.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - name
    - nlen
    - content
    - clen
    - contalloc
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 377
    functionName: addvariable
    functionSourceFile: /src/curl/src/var.c
    functionUses: 0
    functionsReached:
    - calloc
    - notef
    - memcpy
    - free
    - varcontent
    - DEBUGASSERT
    - memdup0
    linkageType: ''
    returnType: ParameterError
    signature: "ParameterError addvariable(const char *name,\n                                  size_t
      nlen,\n                                  const char *content,\n                                  size_t
      clen,\n                                  bool contalloc)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/curl/src/var.c:401,1
    - Dst: warnf
      Src: /src/curl/src/var.c:405,1
    - Dst: memcpy
      Src: /src/curl/src/var.c:413,1
    - Dst: getenv
      Src: /src/curl/src/var.c:417,1
    - Dst: errorf
      Src: /src/curl/src/var.c:420,1
    - Dst: strlen
      Src: /src/curl/src/var.c:426,1
    - Dst: ISDIGIT
      Src: /src/curl/src/var.c:429,1
    - Dst: curlx_str_number
      Src: /src/curl/src/var.c:432,1
    - Dst: curlx_str_single
      Src: /src/curl/src/var.c:433,1
    - Dst: curlx_str_single
      Src: /src/curl/src/var.c:435,1
    - Dst: curlx_str_number
      Src: /src/curl/src/var.c:436,1
    - Dst: curlx_str_single
      Src: /src/curl/src/var.c:437,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/var.c:452,1
    - Dst: strcmp
      Src: /src/curl/src/var.c:454,1
    - Dst: curlx_fopen
      Src: /src/curl/src/var.c:458,1
    - Dst: errorf
      Src: /src/curl/src/var.c:461,1
    - Dst: curlx_strerror
      Src: /src/curl/src/var.c:462,1
    - Dst: file2memory_range
      Src: /src/curl/src/var.c:467,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/var.c:472,1
    - Dst: curlx_fclose
      Src: /src/curl/src/var.c:474,1
    - Dst: strlen
      Src: /src/curl/src/var.c:480,1
    - Dst: CURL_UNCONST
      Src: /src/curl/src/var.c:482,1
    - Dst: warnf
      Src: /src/curl/src/var.c:496,1
    - Dst: addvariable
      Src: /src/curl/src/var.c:499,1
    - Dst: free
      Src: /src/curl/src/var.c:502,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 505
    functionName: setvariable
    functionSourceFile: /src/curl/src/var.c
    functionUses: 1
    functionsReached:
    - getenv
    - CURL_UNCONST
    - curlx_str_single
    - curlx_fclose
    - ISALNUM
    - curlx_fopen
    - curlx_str_number
    - warnf
    - strlen
    - memcpy
    - curlx_dyn_free
    - curlx_dyn_init
    - strcmp
    - free
    - addvariable
    - curlx_strerror
    - errorf
    - ISDIGIT
    - file2memory_range
    linkageType: ''
    returnType: ParameterError
    signature: ParameterError setvariable(const char *input)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_help.c:83,1
    - Dst: strlen
      Src: /src/curl/src/tool_help.c:86,1
    - Dst: strlen
      Src: /src/curl/src/tool_help.c:96,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - category
    - cols
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: print_category
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_mprintf
    linkageType: ''
    returnType: void
    signature: void print_category(unsigned int category, unsigned int cols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_help.c:111,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_help.c:112,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:113,1
    - Dst: print_category
      Src: /src/curl/src/tool_help.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - category
    - cols
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: get_category_content
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - print_category
    - curl_mprintf
    - CURL_ARRAYSIZE
    - curl_strequal
    linkageType: ''
    returnType: int
    signature: int get_category_content(const char *category, unsigned int cols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_help.c:124,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: get_categories
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void get_categories(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_help.c:133,1
    - Dst: strlen
      Src: /src/curl/src/tool_help.c:134,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_help.c:135,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:138,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:141,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:144,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - width
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 153
    functionName: get_categories_list
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_mprintf
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void get_categories_list(unsigned int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_help.c:163,1
    - Dst: strlen
      Src: /src/curl/src/tool_help.c:165,1
    - Dst: strlen
      Src: /src/curl/src/tool_help.c:167,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_help.c:168,1
    - Dst: memset
      Src: /src/curl/src/tool_help.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - trigger
    - arg
    - endarg
    argTypes:
    - struct scan_ctx*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: inithelpscan
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - strlen
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: "void inithelpscan(struct scan_ctx *ctx,\n                  const char
      *trigger,\n                  const char *arg,\n                  const char
      *endarg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/curl/src/tool_help.c:181,1
    - Dst: memcmp
      Src: /src/curl/src/tool_help.c:183,1
    - Dst: memmove
      Src: /src/curl/src/tool_help.c:189,1
    - Dst: memcmp
      Src: /src/curl/src/tool_help.c:191,1
    - Dst: fputs
      Src: /src/curl/src/tool_help.c:193,1
    - Dst: memmove
      Src: /src/curl/src/tool_help.c:199,1
    - Dst: memcmp
      Src: /src/curl/src/tool_help.c:201,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_help.c:205,1
    - Dst: puts
      Src: /src/curl/src/tool_help.c:210,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_help.c:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - len
    - ctx
    argTypes:
    - unsigned char*
    - size_t
    - struct scan_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 220
    functionName: helpscan
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - memmove
    - fputs
    - memcmp
    - DEBUGASSERT
    - puts
    linkageType: ''
    returnType: bool
    signature: bool helpscan(const unsigned char *buf, size_t len, struct scan_ctx
      *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_terminal_columns
      Src: /src/curl/src/tool_help.c:226,1
    - Dst: puts
      Src: /src/curl/src/tool_help.c:238,1
    - Dst: print_category
      Src: /src/curl/src/tool_help.c:239,1
    - Dst: puts
      Src: /src/curl/src/tool_help.c:240,1
    - Dst: get_categories_list
      Src: /src/curl/src/tool_help.c:241,1
    - Dst: puts
      Src: /src/curl/src/tool_help.c:242,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_help.c:245,1
    - Dst: print_category
      Src: /src/curl/src/tool_help.c:247,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_help.c:249,1
    - Dst: get_categories
      Src: /src/curl/src/tool_help.c:250,1
    - Dst: strncmp
      Src: /src/curl/src/tool_help.c:258,1
    - Dst: findlongopt
      Src: /src/curl/src/tool_help.c:262,1
    - Dst: ARGTYPE
      Src: /src/curl/src/tool_help.c:263,1
    - Dst: findshortopt
      Src: /src/curl/src/tool_help.c:269,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_help.c:271,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_help.c:277,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_help.c:279,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_help.c:281,1
    - Dst: showhelp
      Src: /src/curl/src/tool_help.c:285,1
    - Dst: showhelp
      Src: /src/curl/src/tool_help.c:287,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_help.c:291,1
    - Dst: get_category_content
      Src: /src/curl/src/tool_help.c:296,1
    - Dst: puts
      Src: /src/curl/src/tool_help.c:297,1
    - Dst: get_categories
      Src: /src/curl/src/tool_help.c:298,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - category
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 300
    functionName: tool_help
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 1
    functionsReached:
    - print_category
    - curl_strequal
    - ARGTYPE
    - curl_mfprintf
    - curl_msnprintf
    - get_category_content
    - showhelp
    - findlongopt
    - findshortopt
    - get_terminal_columns
    - strncmp
    - get_categories_list
    - puts
    - get_categories
    linkageType: ''
    returnType: void
    signature: void tool_help(const char *category)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/src/tool_help.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: is_debug
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: bool is_debug(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_debug
      Src: /src/curl/src/tool_help.c:314,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_help.c:315,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:318,1
    - Dst: curl_version
      Src: /src/curl/src/tool_help.c:318,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:320,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:323,1
    - Dst: strcmp
      Src: /src/curl/src/tool_help.c:332,1
    - Dst: strcmp
      Src: /src/curl/src/tool_help.c:337,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:342,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_help.c:346,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:347,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:350,1
    - Dst: puts
      Src: /src/curl/src/tool_help.c:355,1
    - Dst: malloc
      Src: /src/curl/src/tool_help.c:363,1
    - Dst: memcpy
      Src: /src/curl/src/tool_help.c:365,1
    - Dst: qsort
      Src: /src/curl/src/tool_help.c:372,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:374,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:376,1
    - Dst: puts
      Src: /src/curl/src/tool_help.c:377,1
    - Dst: free
      Src: /src/curl/src/tool_help.c:378,1
    - Dst: strcmp
      Src: /src/curl/src/tool_help.c:381,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:382,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 385
    functionName: tool_version_info
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - malloc
    - curl_mfprintf
    - qsort
    - memcpy
    - free
    - strcmp
    - is_debug
    - curl_mprintf
    - curl_version
    - puts
    linkageType: ''
    returnType: void
    signature: void tool_version_info(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/src/tool_help.c:389,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_help.c:393,1
    - Dst: puts
      Src: /src/curl/src/tool_help.c:395,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_help.c:398,1
    - Dst: puts
      Src: /src/curl/src/tool_help.c:401,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_help.c:405,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/src/tool_help.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 407
    functionName: tool_list_engines
    functionSourceFile: /src/curl/src/tool_help.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_mprintf
    - curl_easy_getinfo
    - curl_easy_init
    - puts
    linkageType: ''
    returnType: void
    signature: void tool_list_engines(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_findfile.c:72,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_findfile.c:74,1
    - Dst: curlx_open
      Src: /src/curl/src/tool_findfile.c:76,1
    - Dst: strdup
      Src: /src/curl/src/tool_findfile.c:78,1
    - Dst: close
      Src: /src/curl/src/tool_findfile.c:79,1
    - Dst: curl_free
      Src: /src/curl/src/tool_findfile.c:80,1
    - Dst: curl_free
      Src: /src/curl/src/tool_findfile.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - home
    - fname
    - dotscore
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: checkhome
    functionSourceFile: /src/curl/src/tool_findfile.c
    functionUses: 0
    functionsReached:
    - curlx_open
    - strdup
    - curl_free
    - curl_maprintf
    - close
    linkageType: ''
    returnType: char
    signature: char *checkhome(const char *home, const char *fname, bool dotscore)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_findfile.c:102,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_findfile.c:103,1
    - Dst: curl_getenv
      Src: /src/curl/src/tool_findfile.c:109,1
    - Dst: curl_free
      Src: /src/curl/src/tool_findfile.c:114,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_findfile.c:118,1
    - Dst: curl_free
      Src: /src/curl/src/tool_findfile.c:119,1
    - Dst: curl_free
      Src: /src/curl/src/tool_findfile.c:128,1
    - Dst: checkhome
      Src: /src/curl/src/tool_findfile.c:134,1
    - Dst: curl_free
      Src: /src/curl/src/tool_findfile.c:135,1
    - Dst: getpwuid
      Src: /src/curl/src/tool_findfile.c:142,1
    - Dst: geteuid
      Src: /src/curl/src/tool_findfile.c:142,1
    - Dst: checkhome
      Src: /src/curl/src/tool_findfile.c:146,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - fname
    - dotscore
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 151
    functionName: findfile
    functionSourceFile: /src/curl/src/tool_findfile.c
    functionUses: 1
    functionsReached:
    - geteuid
    - curl_free
    - curl_getenv
    - checkhome
    - getpwuid
    - DEBUGASSERT
    - curl_maprintf
    linkageType: ''
    returnType: char
    signature: char *findfile(const char *fname, int dotscore)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - code
    argTypes:
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: is_fatal_error
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_fatal_error(CURLcode code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_operate.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: is_pkcs11_uri
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: bool is_pkcs11_uri(const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_operate.c:163,1
    - Dst: fread
      Src: /src/curl/src/tool_operate.c:170,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_operate.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - name
    - stat_buf
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: vms_realfilesize
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curlx_fclose
    - curlx_fopen
    - fread
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t vms_realfilesize(const char *name,\n                                   const
      struct_stat *stat_buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vms_realfilesize
      Src: /src/curl/src/tool_operate.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - stat_buf
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: VmsSpecialSize
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - vms_realfilesize
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t VmsSpecialSize(const char *name,\n                                 const
      struct_stat *stat_buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/src/tool_operate.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: add_per_transfer
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode add_per_transfer(struct per_transfer **per)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_operate.c:232,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_operate.c:233,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_operate.c:234,1
    - Dst: free
      Src: /src/curl/src/tool_operate.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 252
    functionName: del_per_transfer
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: struct per_transfer
    signature: struct per_transfer *del_per_transfer(struct per_transfer *per)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stdin_upload
      Src: /src/curl/src/tool_operate.c:260,1
    - Dst: curlx_stat
      Src: /src/curl/src/tool_operate.c:278,1
    - Dst: VmsSpecialSize
      Src: /src/curl/src/tool_operate.c:279,1
    - Dst: curlx_open
      Src: /src/curl/src/tool_operate.c:284,1
    - Dst: curlx_open
      Src: /src/curl/src/tool_operate.c:287,1
    - Dst: curlx_open
      Src: /src/curl/src/tool_operate.c:293,1
    - Dst: fstat
      Src: /src/curl/src/tool_operate.c:294,1
    - Dst: helpf
      Src: /src/curl/src/tool_operate.c:297,1
    - Dst: close
      Src: /src/curl/src/tool_operate.c:299,1
    - Dst: S_ISREG
      Src: /src/curl/src/tool_operate.c:307,1
    - Dst: getenv
      Src: /src/curl/src/tool_operate.c:313,1
    - Dst: atoi
      Src: /src/curl/src/tool_operate.c:315,1
    - Dst: my_setopt_offt
      Src: /src/curl/src/tool_operate.c:322,1
    - Dst: curlx_now
      Src: /src/curl/src/tool_operate.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - per
    argTypes:
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 327
    functionName: pre_transfer
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - fstat
    - curlx_open
    - helpf
    - getenv
    - my_setopt_offt
    - curlx_now
    - stdin_upload
    - VmsSpecialSize
    - curlx_stat
    - atoi
    - close
    - S_ISREG
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pre_transfer(struct per_transfer *per)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glob_cleanup
      Src: /src/curl/src/tool_operate.c:333,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operate.c:334,1
    - Dst: glob_cleanup
      Src: /src/curl/src/tool_operate.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: single_transfer_cleanup
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 1
    functionsReached:
    - glob_cleanup
    - tool_safefree
    linkageType: ''
    returnType: void
    signature: void single_transfer_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/curl/src/tool_operate.c:357,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 3
    argNames:
    - config
    - per
    - result
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: is_outfile_auto_resumable
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - ferror
    linkageType: ''
    returnType: bool
    signature: "bool is_outfile_auto_resumable(struct OperationConfig *config,\n                                      struct
      per_transfer *per,\n                                      CURLcode result)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:391,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:401,1
    - Dst: proto_token
      Src: /src/curl/src/tool_operate.c:402,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:406,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:436,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:437,1
    - Dst: proto_token
      Src: /src/curl/src/tool_operate.c:438,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:466,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_operate.c:478,1
    - Dst: curlx_now
      Src: /src/curl/src/tool_operate.c:478,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:482,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:501,1
    - Dst: is_outfile_auto_resumable
      Src: /src/curl/src/tool_operate.c:517,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:522,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:523,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:524,1
    - Dst: proto_token
      Src: /src/curl/src/tool_operate.c:525,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:528,1
    - Dst: curl_easy_header
      Src: /src/curl/src/tool_operate.c:531,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:533,1
    - Dst: notef
      Src: /src/curl/src/tool_operate.c:535,1
    - Dst: fflush
      Src: /src/curl/src/tool_operate.c:536,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:537,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:541,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:551,1
    - Dst: fstat
      Src: /src/curl/src/tool_operate.c:562,1
    - Dst: fileno
      Src: /src/curl/src/tool_operate.c:562,1
    - Dst: S_ISREG
      Src: /src/curl/src/tool_operate.c:563,1
    - Dst: fflush
      Src: /src/curl/src/tool_operate.c:570,1
    - Dst: notef
      Src: /src/curl/src/tool_operate.c:571,1
    - Dst: ftruncate
      Src: /src/curl/src/tool_operate.c:576,1
    - Dst: fileno
      Src: /src/curl/src/tool_operate.c:576,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:579,1
    - Dst: fseek
      Src: /src/curl/src/tool_operate.c:584,1
    - Dst: fseek
      Src: /src/curl/src/tool_operate.c:590,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:593,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 110
    argCount: 5
    argNames:
    - config
    - per
    - result
    - retryp
    - delayms
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - CURLcode
    - bool*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 605
    functionName: retrycheck
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - fflush
    - fstat
    - notef
    - curlx_now
    - errorf
    - ftruncate
    - curlx_timediff
    - strcmp
    - curl_easy_header
    - fileno
    - curl_easy_getinfo
    - warnf
    - fseek
    - is_outfile_auto_resumable
    - curl_easy_setopt
    - proto_token
    - S_ISREG
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode retrycheck(struct OperationConfig *config,\n                           struct
      per_transfer *per,\n                           CURLcode result,\n                           bool
      *retryp,\n                           long *delayms)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:628,1
    - Dst: sclose
      Src: /src/curl/src/tool_operate.c:630,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:632,1
    - Dst: close
      Src: /src/curl/src/tool_operate.c:640,1
    - Dst: is_vms_shell
      Src: /src/curl/src/tool_operate.c:648,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_operate.c:658,1
    - Dst: curl_easy_strerror
      Src: /src/curl/src/tool_operate.c:659,1
    - Dst: fputs
      Src: /src/curl/src/tool_operate.c:661,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:666,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_operate.c:669,1
    - Dst: fwrite_xattr
      Src: /src/curl/src/tool_operate.c:677,1
    - Dst: fileno
      Src: /src/curl/src/tool_operate.c:677,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:680,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_operate.c:681,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:692,1
    - Dst: tool_create_output_file
      Src: /src/curl/src/tool_operate.c:693,1
    - Dst: fflush
      Src: /src/curl/src/tool_operate.c:699,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:703,1
    - Dst: memset
      Src: /src/curl/src/tool_operate.c:710,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_operate.c:717,1
    - Dst: curlx_now
      Src: /src/curl/src/tool_operate.c:717,1
    - Dst: retrycheck
      Src: /src/curl/src/tool_operate.c:719,1
    - Dst: fputs
      Src: /src/curl/src/tool_operate.c:728,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_operate.c:732,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:736,1
    - Dst: curlx_stat
      Src: /src/curl/src/tool_operate.c:740,1
    - Dst: S_ISREG
      Src: /src/curl/src/tool_operate.c:740,1
    - Dst: unlink
      Src: /src/curl/src/tool_operate.c:741,1
    - Dst: notef
      Src: /src/curl/src/tool_operate.c:742,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:744,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:747,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:756,1
    - Dst: setfiletime
      Src: /src/curl/src/tool_operate.c:758,1
    - Dst: ourWriteOut
      Src: /src/curl/src/tool_operate.c:763,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_operate.c:767,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operate.c:770,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_operate.c:773,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operate.c:776,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/src/tool_operate.c:778,1
    - Dst: free
      Src: /src/curl/src/tool_operate.c:780,1
    - Dst: free
      Src: /src/curl/src/tool_operate.c:781,1
    - Dst: free
      Src: /src/curl/src/tool_operate.c:782,1
    - Dst: free
      Src: /src/curl/src/tool_operate.c:783,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_operate.c:784,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 103
    argCount: 4
    argNames:
    - per
    - result
    - retryp
    - delay
    argTypes:
    - struct per_transfer*
    - CURLcode
    - bool*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 611
    functionDepth: 4
    functionLinenumber: 611
    functionLinenumberEnd: 787
    functionName: post_per_transfer
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - fflush
    - retrycheck
    - tool_create_output_file
    - unlink
    - curl_easy_strerror
    - curl_slist_free_all
    - sclose
    - S_ISREG
    - curlx_fclose
    - is_vms_shell
    - fwrite_xattr
    - notef
    - curl_mfprintf
    - curlx_now
    - curlx_timediff
    - warnf
    - curl_easy_cleanup
    - free
    - strcmp
    - close
    - tool_safefree
    - curlx_strerror
    - fputs
    - errorf
    - ourWriteOut
    - fileno
    - setfiletime
    - curl_easy_getinfo
    - curlx_stat
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode post_per_transfer(struct per_transfer *per,\n                                  CURLcode
      result,\n                                  bool *retryp,\n                                  long
      *delay)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_pkcs11_uri
      Src: /src/curl/src/tool_operate.c:794,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:795,1
    - Dst: is_pkcs11_uri
      Src: /src/curl/src/tool_operate.c:802,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:803,1
    - Dst: is_pkcs11_uri
      Src: /src/curl/src/tool_operate.c:811,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:812,1
    - Dst: is_pkcs11_uri
      Src: /src/curl/src/tool_operate.c:820,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:821,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 827
    functionName: set_cert_types
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - is_pkcs11_uri
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_cert_types(struct OperationConfig *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/src/tool_operate.c:834,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_operate.c:837,1
    - Dst: urlerr_cvt
      Src: /src/curl/src/tool_operate.c:840,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:841,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_operate.c:847,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_operate.c:849,1
    - Dst: urlerr_cvt
      Src: /src/curl/src/tool_operate.c:852,1
    - Dst: free
      Src: /src/curl/src/tool_operate.c:854,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_operate.c:858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - config
    - per
    - q
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 829
    functionDepth: 3
    functionLinenumber: 829
    functionLinenumberEnd: 861
    functionName: append2query
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_url_get
    - errorf
    - curl_url
    - free
    - urlerr_cvt
    - curl_url_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode append2query(struct OperationConfig *config,\n                             struct
      per_transfer *per,\n                             const char *q)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_operate.c:871,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:874,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_operate.c:875,1
    - Dst: file2string
      Src: /src/curl/src/tool_operate.c:878,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_operate.c:880,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operate.c:881,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_operate.c:884,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_operate.c:888,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:889,1
    - Dst: add2list
      Src: /src/curl/src/tool_operate.c:894,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operate.c:895,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_operate.c:898,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 902
    functionName: etag_compare
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - tool_safefree
    - curlx_strerror
    - errorf
    - curlx_fopen
    - file2string
    - add2list
    - warnf
    - curl_maprintf
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode etag_compare(struct OperationConfig *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_dir_hierarchy
      Src: /src/curl/src/tool_operate.c:909,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:915,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_operate.c:916,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:918,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/src/tool_operate.c:932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - config
    - etag_save
    - skip
    argTypes:
    - struct OperationConfig*
    - struct OutStruct*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 904
    functionDepth: 3
    functionLinenumber: 904
    functionLinenumberEnd: 935
    functionName: etag_store
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curlx_fopen
    - create_dir_hierarchy
    - strcmp
    - warnf
    - CURLX_SET_BINMODE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode etag_store(struct OperationConfig *config,\n                           struct
      OutStruct *etag_save,\n                           bool *skip)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:942,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/src/tool_operate.c:945,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:947,1
    - Dst: create_dir_hierarchy
      Src: /src/curl/src/tool_operate.c:960,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_operate.c:966,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_operate.c:968,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_operate.c:970,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:973,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/src/tool_operate.c:985,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - config
    - per
    - heads
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - struct OutStruct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 937
    functionDepth: 3
    functionLinenumber: 937
    functionLinenumberEnd: 988
    functionName: setup_headerfile
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - errorf
    - curlx_fopen
    - strcmp
    - create_dir_hierarchy
    - CURLX_SET_BINMODE
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setup_headerfile(struct OperationConfig *config,\n                                 struct
      per_transfer *per,\n                                 struct OutStruct *heads)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_url_file_name
      Src: /src/curl/src/tool_operate.c:1003,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:1005,1
    - Dst: glob_inuse
      Src: /src/curl/src/tool_operate.c:1010,1
    - Dst: glob_match_url
      Src: /src/curl/src/tool_operate.c:1014,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operate.c:1015,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:1018,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:1022,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_operate.c:1026,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_operate.c:1029,1
    - Dst: free
      Src: /src/curl/src/tool_operate.c:1032,1
    - Dst: create_dir_hierarchy
      Src: /src/curl/src/tool_operate.c:1039,1
    - Dst: curlx_stat
      Src: /src/curl/src/tool_operate.c:1047,1
    - Dst: notef
      Src: /src/curl/src/tool_operate.c:1049,1
    - Dst: curlx_stat
      Src: /src/curl/src/tool_operate.c:1060,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_operate.c:1072,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_operate.c:1076,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:1079,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - config
    - per
    - outs
    - skipped
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    - struct OutStruct*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 990
    functionDepth: 3
    functionLinenumber: 990
    functionLinenumberEnd: 1092
    functionName: setup_outfile
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - tool_safefree
    - get_url_file_name
    - glob_inuse
    - notef
    - glob_match_url
    - errorf
    - curlx_fopen
    - free
    - create_dir_hierarchy
    - warnf
    - curlx_stat
    - DEBUGASSERT
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setup_outfile(struct OperationConfig *config,\n                              struct
      per_transfer *per,\n                              struct OutStruct *outs,\n
      \                             bool *skipped)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:1116,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_operate.c:1121,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_operate.c:1122,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/src/tool_operate.c:1124,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:1125,1
    - Dst: win32_stdin_read_thread
      Src: /src/curl/src/tool_operate.c:1130,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:1133,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:1136,1
    - Dst: sclose
      Src: /src/curl/src/tool_operate.c:1141,1
    - Dst: curlx_nonblock
      Src: /src/curl/src/tool_operate.c:1146,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:1148,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_operate.c:1149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - config
    - per
    argTypes:
    - struct OperationConfig*
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1152
    functionName: check_stdin_upload
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - win32_stdin_read_thread
    - curlx_nonblock
    - curlx_strerror
    - strcmp
    - CURLX_SET_BINMODE
    - warnf
    - DEBUGASSERT
    - sclose
    linkageType: ''
    returnType: void
    signature: "void check_stdin_upload(struct OperationConfig *config,\n                               struct
      per_transfer *per)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: SetHTTPrequest
      Src: /src/curl/src/tool_operate.c:1172,1
    - Dst: SetHTTPrequest
      Src: /src/curl/src/tool_operate.c:1177,1
    - Dst: set_cert_types
      Src: /src/curl/src/tool_operate.c:1181,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:1203,1
    - Dst: glob_inuse
      Src: /src/curl/src/tool_operate.c:1207,1
    - Dst: glob_url
      Src: /src/curl/src/tool_operate.c:1208,1
    - Dst: glob_inuse
      Src: /src/curl/src/tool_operate.c:1210,1
    - Dst: glob_next_url
      Src: /src/curl/src/tool_operate.c:1211,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operate.c:1224,1
    - Dst: glob_cleanup
      Src: /src/curl/src/tool_operate.c:1225,1
    - Dst: glob_url
      Src: /src/curl/src/tool_operate.c:1235,1
    - Dst: memset
      Src: /src/curl/src/tool_operate.c:1244,1
    - Dst: etag_compare
      Src: /src/curl/src/tool_operate.c:1249,1
    - Dst: etag_store
      Src: /src/curl/src/tool_operate.c:1256,1
    - Dst: curl_easy_init
      Src: /src/curl/src/tool_operate.c:1261,1
    - Dst: add_per_transfer
      Src: /src/curl/src/tool_operate.c:1263,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/src/tool_operate.c:1267,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_operate.c:1269,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:1274,1
    - Dst: SetHTTPrequest
      Src: /src/curl/src/tool_operate.c:1276,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operate.c:1277,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/src/tool_operate.c:1278,1
    - Dst: setup_headerfile
      Src: /src/curl/src/tool_operate.c:1292,1
    - Dst: glob_inuse
      Src: /src/curl/src/tool_operate.c:1307,1
    - Dst: glob_next_url
      Src: /src/curl/src/tool_operate.c:1308,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:1310,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:1322,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:1329,1
    - Dst: setup_outfile
      Src: /src/curl/src/tool_operate.c:1330,1
    - Dst: stdin_upload
      Src: /src/curl/src/tool_operate.c:1337,1
    - Dst: check_stdin_upload
      Src: /src/curl/src/tool_operate.c:1338,1
    - Dst: add_file_name_to_url
      Src: /src/curl/src/tool_operate.c:1343,1
    - Dst: output_expected
      Src: /src/curl/src/tool_operate.c:1353,1
    - Dst: isatty
      Src: /src/curl/src/tool_operate.c:1354,1
    - Dst: fileno
      Src: /src/curl/src/tool_operate.c:1354,1
    - Dst: append2query
      Src: /src/curl/src/tool_operate.c:1366,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:1372,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/src/tool_operate.c:1376,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:1381,1
    - Dst: config2setopts
      Src: /src/curl/src/tool_operate.c:1390,1
    - Dst: curlx_now
      Src: /src/curl/src/tool_operate.c:1398,1
    - Dst: glob_cleanup
      Src: /src/curl/src/tool_operate.c:1404,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_operate.c:1406,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 173
    argCount: 4
    argNames:
    - config
    - share
    - added
    - skipped
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1155
    functionDepth: 5
    functionLinenumber: 1155
    functionLinenumberEnd: 1412
    functionName: single_transfer
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - etag_store
    - glob_url
    - isatty
    - glob_cleanup
    - stdin_upload
    - CURLX_SET_BINMODE
    - add_per_transfer
    - curlx_fclose
    - glob_inuse
    - strdup
    - add_file_name_to_url
    - curlx_now
    - glob_next_url
    - warnf
    - setup_headerfile
    - set_cert_types
    - curl_easy_cleanup
    - append2query
    - config2setopts
    - strcmp
    - setup_outfile
    - SetHTTPrequest
    - curl_easy_init
    - tool_safefree
    - etag_compare
    - fileno
    - memset
    - output_expected
    - check_stdin_upload
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode single_transfer(struct OperationConfig *config,\n                                CURLSH
      *share, bool *added, bool *skipped)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_get_offt
      Src: /src/curl/src/tool_operate.c:1432,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_operate.c:1434,1
    - Dst: create_transfer
      Src: /src/curl/src/tool_operate.c:1441,1
    - Dst: time
      Src: /src/curl/src/tool_operate.c:1451,1
    - Dst: pre_transfer
      Src: /src/curl/src/tool_operate.c:1458,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1464,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1466,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1468,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1469,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1470,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1471,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1472,1
    - Dst: getenv
      Src: /src/curl/src/tool_operate.c:1474,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1475,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/src/tool_operate.c:1478,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_operate.c:1480,1
    - Dst: create_transfer
      Src: /src/curl/src/tool_operate.c:1488,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 4
    argNames:
    - multi
    - share
    - morep
    - addedp
    argTypes:
    - CURLM*
    - CURLSH*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1421
    functionDepth: 3
    functionLinenumber: 1421
    functionLinenumberEnd: 1503
    functionName: add_parallel_transfers
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - pre_transfer
    - getenv
    - curl_multi_get_offt
    - create_transfer
    - curl_multi_add_handle
    - curl_easy_setopt
    - DEBUGASSERT
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_parallel_transfers(CURLM *multi, CURLSH *share,\n                                       bool
      *morep, bool *addedp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/src/tool_operate.c:1552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - req
    - status
    - events
    argTypes:
    - uv_poll_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1554
    functionName: on_uv_socket
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    linkageType: ''
    returnType: void
    signature: void on_uv_socket(uv_poll_t *req, int status, int events)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_operate.c:1561,1
    - Dst: curl_multi_socket_action
      Src: /src/curl/src/tool_operate.c:1564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1567
    functionName: on_uv_timeout
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_multi_socket_action
    linkageType: ''
    returnType: void
    signature: void on_uv_timeout(uv_timer_t *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_operate.c:1575,1
    - Dst: uv_timer_stop
      Src: /src/curl/src/tool_operate.c:1578,1
    - Dst: uv_timer_start
      Src: /src/curl/src/tool_operate.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1587
    functionName: cb_timeout
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - uv_timer_stop
    - uv_timer_start
    linkageType: ''
    returnType: int
    signature: int cb_timeout(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/src/tool_operate.c:1594,1
    - Dst: uv_poll_init_socket
      Src: /src/curl/src/tool_operate.c:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sockfd
    - uv
    argTypes:
    - curl_socket_t
    - struct datauv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1603
    functionName: create_context
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - malloc
    - uv_poll_init_socket
    linkageType: ''
    returnType: struct contextuv
    signature: "struct contextuv *create_context(curl_socket_t sockfd,\n                                        struct
      datauv *uv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/src/tool_operate.c:1608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1609
    functionName: close_cb
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void close_cb(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_close
      Src: /src/curl/src/tool_operate.c:1613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct contextuv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1614
    functionName: destroy_context
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - uv_close
    linkageType: ''
    returnType: void
    signature: void destroy_context(struct contextuv *c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_operate.c:1626,1
    - Dst: create_context
      Src: /src/curl/src/tool_operate.c:1634,1
    - Dst: curl_multi_assign
      Src: /src/curl/src/tool_operate.c:1636,1
    - Dst: uv_poll_start
      Src: /src/curl/src/tool_operate.c:1643,1
    - Dst: uv_poll_stop
      Src: /src/curl/src/tool_operate.c:1648,1
    - Dst: destroy_context
      Src: /src/curl/src/tool_operate.c:1649,1
    - Dst: curl_multi_assign
      Src: /src/curl/src/tool_operate.c:1650,1
    - Dst: abort
      Src: /src/curl/src/tool_operate.c:1654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - easy
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1658
    functionName: cb_socket
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_multi_assign
    - uv_poll_start
    - curl_mfprintf
    - destroy_context
    - uv_poll_stop
    - create_context
    - abort
    linkageType: ''
    returnType: int
    signature: "int cb_socket(CURL *easy, curl_socket_t s, int action,\n                     void
      *userp, void *socketp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uv_default_loop
      Src: /src/curl/src/tool_operate.c:1667,1
    - Dst: uv_timer_init
      Src: /src/curl/src/tool_operate.c:1668,1
    - Dst: curl_multi_setopt
      Src: /src/curl/src/tool_operate.c:1672,1
    - Dst: curl_multi_setopt
      Src: /src/curl/src/tool_operate.c:1673,1
    - Dst: curl_multi_setopt
      Src: /src/curl/src/tool_operate.c:1674,1
    - Dst: curl_multi_setopt
      Src: /src/curl/src/tool_operate.c:1675,1
    - Dst: curl_multi_setopt
      Src: /src/curl/src/tool_operate.c:1676,1
    - Dst: curl_multi_socket_action
      Src: /src/curl/src/tool_operate.c:1680,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_operate.c:1685,1
    - Dst: uv_run
      Src: /src/curl/src/tool_operate.c:1689,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_operate.c:1691,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/src/tool_operate.c:1720,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_operate.c:1723,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct parastate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1660
    functionDepth: 1
    functionLinenumber: 1660
    functionLinenumberEnd: 1728
    functionName: parallel_event
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curl_multi_setopt
    - uv_run
    - curl_multi_cleanup
    - uv_timer_init
    - uv_default_loop
    - curl_multi_socket_action
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode parallel_event(struct parastate *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: progress_meter
      Src: /src/curl/src/tool_operate.c:1738,1
    - Dst: curl_multi_info_read
      Src: /src/curl/src/tool_operate.c:1740,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:1747,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/src/tool_operate.c:1748,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_operate.c:1751,1
    - Dst: post_per_transfer
      Src: /src/curl/src/tool_operate.c:1755,1
    - Dst: progress_finalize
      Src: /src/curl/src/tool_operate.c:1756,1
    - Dst: time
      Src: /src/curl/src/tool_operate.c:1762,1
    - Dst: is_fatal_error
      Src: /src/curl/src/tool_operate.c:1769,1
    - Dst: del_per_transfer
      Src: /src/curl/src/tool_operate.c:1771,1
    - Dst: time
      Src: /src/curl/src/tool_operate.c:1777,1
    - Dst: add_parallel_transfers
      Src: /src/curl/src/tool_operate.c:1785,1
    - Dst: is_fatal_error
      Src: /src/curl/src/tool_operate.c:1794,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct parastate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1732
    functionDepth: 5
    functionLinenumber: 1732
    functionLinenumberEnd: 1798
    functionName: check_finished
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - post_per_transfer
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_msnprintf
    - progress_meter
    - add_parallel_transfers
    - curl_easy_getinfo
    - progress_finalize
    - is_fatal_error
    - del_per_transfer
    - time
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode check_finished(struct parastate *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_finished
      Src: /src/curl/src/tool_operate.c:1811,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - multi
    - notification
    - easy
    - user_data
    argTypes:
    - CURLM*
    - unsigned int
    - CURL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1800
    functionDepth: 6
    functionLinenumber: 1800
    functionLinenumberEnd: 1819
    functionName: mnotify
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - check_finished
    linkageType: ''
    returnType: void
    signature: "void mnotify(CURLM *multi, unsigned int notification,\n                    CURL
      *easy, void *user_data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/src/tool_operate.c:1830,1
    - Dst: time
      Src: /src/curl/src/tool_operate.c:1833,1
    - Dst: curl_multi_init
      Src: /src/curl/src/tool_operate.c:1834,1
    - Dst: curl_multi_setopt
      Src: /src/curl/src/tool_operate.c:1838,1
    - Dst: curl_multi_setopt
      Src: /src/curl/src/tool_operate.c:1839,1
    - Dst: curl_multi_notify_enable
      Src: /src/curl/src/tool_operate.c:1840,1
    - Dst: add_parallel_transfers
      Src: /src/curl/src/tool_operate.c:1842,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/src/tool_operate.c:1845,1
    - Dst: parallel_event
      Src: /src/curl/src/tool_operate.c:1852,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:1854,1
    - Dst: curl_multi_poll
      Src: /src/curl/src/tool_operate.c:1877,1
    - Dst: curl_multi_perform
      Src: /src/curl/src/tool_operate.c:1879,1
    - Dst: progress_meter
      Src: /src/curl/src/tool_operate.c:1882,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/src/tool_operate.c:1896,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - share
    argTypes:
    - CURLSH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1821
    functionDepth: 4
    functionLinenumber: 1821
    functionLinenumberEnd: 1899
    functionName: parallel_transfers
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 2
    functionsReached:
    - parallel_event
    - curl_multi_perform
    - curl_multi_setopt
    - curlx_now
    - curl_multi_cleanup
    - errorf
    - progress_meter
    - add_parallel_transfers
    - curl_multi_poll
    - curl_multi_notify_enable
    - curl_multi_init
    - time
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode parallel_transfers(CURLSH *share)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: create_transfer
      Src: /src/curl/src/tool_operate.c:1909,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:1913,1
    - Dst: curlx_now
      Src: /src/curl/src/tool_operate.c:1922,1
    - Dst: pre_transfer
      Src: /src/curl/src/tool_operate.c:1924,1
    - Dst: easysrc_perform
      Src: /src/curl/src/tool_operate.c:1929,1
    - Dst: getenv
      Src: /src/curl/src/tool_operate.c:1935,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1936,1
    - Dst: curl_easy_duphandle
      Src: /src/curl/src/tool_operate.c:1939,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/src/tool_operate.c:1940,1
    - Dst: curl_easy_setopt
      Src: /src/curl/src/tool_operate.c:1947,1
    - Dst: curl_easy_perform_ev
      Src: /src/curl/src/tool_operate.c:1950,1
    - Dst: curl_easy_perform
      Src: /src/curl/src/tool_operate.c:1953,1
    - Dst: post_per_transfer
      Src: /src/curl/src/tool_operate.c:1956,1
    - Dst: curlx_wait_ms
      Src: /src/curl/src/tool_operate.c:1958,1
    - Dst: is_fatal_error
      Src: /src/curl/src/tool_operate.c:1963,1
    - Dst: create_transfer
      Src: /src/curl/src/tool_operate.c:1968,1
    - Dst: del_per_transfer
      Src: /src/curl/src/tool_operate.c:1977,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_operate.c:1985,1
    - Dst: curlx_now
      Src: /src/curl/src/tool_operate.c:1985,1
    - Dst: notef
      Src: /src/curl/src/tool_operate.c:1987,1
    - Dst: curlx_wait_ms
      Src: /src/curl/src/tool_operate.c:1991,1
    - Dst: single_transfer_cleanup
      Src: /src/curl/src/tool_operate.c:2000,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 65
    argCount: 1
    argNames:
    - share
    argTypes:
    - CURLSH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1901
    functionDepth: 5
    functionLinenumber: 1901
    functionLinenumberEnd: 2003
    functionName: serial_transfers
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - post_per_transfer
    - curlx_wait_ms
    - pre_transfer
    - getenv
    - curl_easy_perform_ev
    - notef
    - curl_easy_cleanup
    - curlx_now
    - errorf
    - curlx_timediff
    - create_transfer
    - curl_easy_duphandle
    - single_transfer_cleanup
    - easysrc_perform
    - curl_easy_setopt
    - is_fatal_error
    - del_per_transfer
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode serial_transfers(CURLSH *share)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/src/tool_operate.c:2012,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_operate.c:2019,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/src/tool_operate.c:2025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pusing
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2005
    functionDepth: 1
    functionLinenumber: 2005
    functionLinenumberEnd: 2031
    functionName: is_using_schannel
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - curl_easy_init
    - curl_easy_cleanup
    - curl_easy_getinfo
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode is_using_schannel(int *pusing)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/curl/src/tool_operate.c:2045,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:2047,1
    - Dst: curl_free
      Src: /src/curl/src/tool_operate.c:2048,1
    - Dst: curl_getenv
      Src: /src/curl/src/tool_operate.c:2053,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:2055,1
    - Dst: curl_free
      Src: /src/curl/src/tool_operate.c:2056,1
    - Dst: curl_getenv
      Src: /src/curl/src/tool_operate.c:2060,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:2062,1
    - Dst: curl_free
      Src: /src/curl/src/tool_operate.c:2063,1
    - Dst: tool_execpath
      Src: /src/curl/src/tool_operate.c:2073,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_operate.c:2075,1
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:2076,1
    - Dst: FindWin32CACert
      Src: /src/curl/src/tool_operate.c:2080,1
    - Dst: TEXT
      Src: /src/curl/src/tool_operate.c:2080,1
    - Dst: free
      Src: /src/curl/src/tool_operate.c:2088,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2042
    functionDepth: 2
    functionLinenumber: 2042
    functionLinenumberEnd: 2090
    functionName: cacertpaths
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - FindWin32CACert
    - strdup
    - TEXT
    - curl_free
    - curl_getenv
    - tool_execpath
    - free
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cacertpaths(struct OperationConfig *config)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: helpf
      Src: /src/curl/src/tool_operate.c:2103,1
    - Dst: is_using_schannel
      Src: /src/curl/src/tool_operate.c:2122,1
    - Dst: cacertpaths
      Src: /src/curl/src/tool_operate.c:2129,1
    - Dst: single_transfer
      Src: /src/curl/src/tool_operate.c:2133,1
    - Dst: single_transfer_cleanup
      Src: /src/curl/src/tool_operate.c:2135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - config
    - share
    - added
    - skipped
    argTypes:
    - struct OperationConfig*
    - CURLSH*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2093
    functionDepth: 6
    functionLinenumber: 2093
    functionLinenumberEnd: 2139
    functionName: transfer_per_config
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - helpf
    - is_using_schannel
    - cacertpaths
    - single_transfer_cleanup
    - single_transfer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode transfer_per_config(struct OperationConfig *config,\n                                    CURLSH
      *share,\n                                    bool *added,\n                                    bool
      *skipped)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transfer_per_config
      Src: /src/curl/src/tool_operate.c:2152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - share
    - added
    - skipped
    argTypes:
    - CURLSH*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2145
    functionDepth: 7
    functionLinenumber: 2145
    functionLinenumberEnd: 2161
    functionName: create_transfer
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 2
    functionsReached:
    - transfer_per_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode create_transfer(CURLSH *share,\n                                bool
      *added,\n                                bool *skipped)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parallel_transfers
      Src: /src/curl/src/tool_operate.c:2174,1
    - Dst: serial_transfers
      Src: /src/curl/src/tool_operate.c:2176,1
    - Dst: post_per_transfer
      Src: /src/curl/src/tool_operate.c:2183,1
    - Dst: clean_getout
      Src: /src/curl/src/tool_operate.c:2189,1
    - Dst: del_per_transfer
      Src: /src/curl/src/tool_operate.c:2191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - share
    - result
    argTypes:
    - CURLSH*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2163
    functionDepth: 6
    functionLinenumber: 2163
    functionLinenumberEnd: 2200
    functionName: run_all_transfers
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - post_per_transfer
    - serial_transfers
    - clean_getout
    - parallel_transfers
    - del_per_transfer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode run_all_transfers(CURLSH *share,\n                                  CURLcode
      result)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/src/tool_operate.c:2207,1
    - Dst: convert_tchar_to_UTF8
      Src: /src/curl/src/tool_operate.c:2209,1
    - Dst: setlocale
      Src: /src/curl/src/tool_operate.c:2214,1
    - Dst: setlocale
      Src: /src/curl/src/tool_operate.c:2215,1
    - Dst: strncmp
      Src: /src/curl/src/tool_operate.c:2220,1
    - Dst: strcmp
      Src: /src/curl/src/tool_operate.c:2221,1
    - Dst: parseconfig
      Src: /src/curl/src/tool_operate.c:2222,1
    - Dst: helpf
      Src: /src/curl/src/tool_operate.c:2226,1
    - Dst: unicodefree
      Src: /src/curl/src/tool_operate.c:2231,1
    - Dst: parse_args
      Src: /src/curl/src/tool_operate.c:2235,1
    - Dst: hugehelp
      Src: /src/curl/src/tool_operate.c:2245,1
    - Dst: warnf
      Src: /src/curl/src/tool_operate.c:2247,1
    - Dst: tool_version_info
      Src: /src/curl/src/tool_operate.c:2252,1
    - Dst: tool_list_engines
      Src: /src/curl/src/tool_operate.c:2255,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_operate.c:2259,1
    - Dst: easysrc_init
      Src: /src/curl/src/tool_operate.c:2272,1
    - Dst: curl_share_init
      Src: /src/curl/src/tool_operate.c:2279,1
    - Dst: easysrc_cleanup
      Src: /src/curl/src/tool_operate.c:2283,1
    - Dst: curl_share_setopt
      Src: /src/curl/src/tool_operate.c:2289,1
    - Dst: curl_share_setopt
      Src: /src/curl/src/tool_operate.c:2290,1
    - Dst: curl_share_setopt
      Src: /src/curl/src/tool_operate.c:2291,1
    - Dst: curl_share_setopt
      Src: /src/curl/src/tool_operate.c:2295,1
    - Dst: curl_share_setopt
      Src: /src/curl/src/tool_operate.c:2296,1
    - Dst: curl_share_setopt
      Src: /src/curl/src/tool_operate.c:2297,1
    - Dst: tool_ssls_load
      Src: /src/curl/src/tool_operate.c:2300,1
    - Dst: get_args
      Src: /src/curl/src/tool_operate.c:2306,1
    - Dst: run_all_transfers
      Src: /src/curl/src/tool_operate.c:2315,1
    - Dst: tool_ssls_save
      Src: /src/curl/src/tool_operate.c:2318,1
    - Dst: curl_share_cleanup
      Src: /src/curl/src/tool_operate.c:2325,1
    - Dst: easysrc_cleanup
      Src: /src/curl/src/tool_operate.c:2328,1
    - Dst: dumpeasysrc
      Src: /src/curl/src/tool_operate.c:2331,1
    - Dst: errorf
      Src: /src/curl/src/tool_operate.c:2336,1
    - Dst: varcleanup
      Src: /src/curl/src/tool_operate.c:2340,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - argv_item_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2202
    functionDepth: 8
    functionLinenumber: 2202
    functionLinenumberEnd: 2343
    functionName: operate
    functionSourceFile: /src/curl/src/tool_operate.c
    functionUses: 0
    functionsReached:
    - easysrc_cleanup
    - curl_mprintf
    - curl_share_cleanup
    - dumpeasysrc
    - strdup
    - curl_share_setopt
    - run_all_transfers
    - parseconfig
    - tool_ssls_load
    - warnf
    - strncmp
    - varcleanup
    - tool_list_engines
    - helpf
    - tool_ssls_save
    - unicodefree
    - setlocale
    - tool_version_info
    - strcmp
    - easysrc_init
    - curl_share_init
    - get_args
    - convert_tchar_to_UTF8
    - hugehelp
    - errorf
    - parse_args
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode operate(int argc, argv_item_t argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_cb_prg.c:76,1
    - Dst: memset
      Src: /src/curl/src/tool_cb_prg.c:78,1
    - Dst: memcpy
      Src: /src/curl/src/tool_cb_prg.c:81,1
    - Dst: fputs
      Src: /src/curl/src/tool_cb_prg.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - bar
    - moved
    argTypes:
    - struct ProgressData*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 106
    functionName: fly
    functionSourceFile: /src/curl/src/tool_cb_prg.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fputs
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: void fly(struct ProgressData *bar, bool moved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_terminal_columns
      Src: /src/curl/src/tool_cb_prg.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bar
    argTypes:
    - struct ProgressData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: update_width
    functionSourceFile: /src/curl/src/tool_cb_prg.c
    functionUses: 0
    functionsReached:
    - get_terminal_columns
    linkageType: ''
    returnType: void
    signature: void update_width(struct ProgressData *bar)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/src/tool_cb_prg.c:134,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_cb_prg.c:174,1
    - Dst: curlx_timediff
      Src: /src/curl/src/tool_cb_prg.c:180,1
    - Dst: update_width
      Src: /src/curl/src/tool_cb_prg.c:183,1
    - Dst: fly
      Src: /src/curl/src/tool_cb_prg.c:184,1
    - Dst: update_width
      Src: /src/curl/src/tool_cb_prg.c:191,1
    - Dst: memset
      Src: /src/curl/src/tool_cb_prg.c:209,1
    - Dst: curl_msnprintf
      Src: /src/curl/src/tool_cb_prg.c:211,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_cb_prg.c:216,1
    - Dst: fflush
      Src: /src/curl/src/tool_cb_prg.c:221,1
    - Dst: curl_easy_pause
      Src: /src/curl/src/tool_cb_prg.c:227,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 5
    argNames:
    - clientp
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 231
    functionName: tool_progress_cb
    functionSourceFile: /src/curl/src/tool_cb_prg.c
    functionUses: 0
    functionsReached:
    - fflush
    - curl_easy_pause
    - fly
    - curl_msnprintf
    - curl_mfprintf
    - update_width
    - curlx_now
    - curlx_timediff
    - memset
    linkageType: ''
    returnType: int
    signature: "int tool_progress_cb(void *clientp,\n                     curl_off_t
      dltotal, curl_off_t dlnow,\n                     curl_off_t ultotal, curl_off_t
      ulnow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/src/tool_cb_prg.c:236,1
    - Dst: update_width
      Src: /src/curl/src/tool_cb_prg.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bar
    - config
    argTypes:
    - struct ProgressData*
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: progressbarinit
    functionSourceFile: /src/curl/src/tool_cb_prg.c
    functionUses: 1
    functionsReached:
    - update_width
    - memset
    linkageType: ''
    returnType: void
    signature: "void progressbarinit(struct ProgressData *bar,\n                     struct
      OperationConfig *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: CURL_USE_LFN
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_USE_LFN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: CURL_USE_LFN
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_USE_LFN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: S_ISCHR
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISCHR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: S_ISCHR
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISCHR(m)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:132,1
    - Dst: strdup
      Src: /src/curl/src/tool_doswin.c:136,1
    - Dst: strncmp
      Src: /src/curl/src/tool_doswin.c:141,1
    - Dst: msdosify
      Src: /src/curl/src/tool_doswin.c:185,1
    - Dst: free
      Src: /src/curl/src/tool_doswin.c:186,1
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:190,1
    - Dst: free
      Src: /src/curl/src/tool_doswin.c:193,1
    - Dst: rename_if_reserved_dos
      Src: /src/curl/src/tool_doswin.c:199,1
    - Dst: free
      Src: /src/curl/src/tool_doswin.c:200,1
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:204,1
    - Dst: free
      Src: /src/curl/src/tool_doswin.c:207,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 69
    argCount: 3
    argNames:
    - sanitized
    - file_name
    - flags
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 214
    functionName: sanitize_file_name
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 4
    functionsReached:
    - strlen
    - strdup
    - rename_if_reserved_dos
    - free
    - msdosify
    - strncmp
    linkageType: ''
    returnType: SANITIZEcode
    signature: "SANITIZEcode sanitize_file_name(char **const sanitized, const char
      *file_name,\n                                int flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:250,1
    - Dst: strpbrk
      Src: /src/curl/src/tool_doswin.c:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - path
    - truncate_pos
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: truncate_dryrun
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - strlen
    - strpbrk
    linkageType: ''
    returnType: SANITIZEcode
    signature: "SANITIZEcode truncate_dryrun(const char *path,\n                                    const
      size_t truncate_pos)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:314,1
    - Dst: CURL_USE_LFN
      Src: /src/curl/src/tool_doswin.c:318,1
    - Dst: memchr
      Src: /src/curl/src/tool_doswin.c:331,1
    - Dst: memcpy
      Src: /src/curl/src/tool_doswin.c:389,1
    - Dst: strpbrk
      Src: /src/curl/src/tool_doswin.c:414,1
    - Dst: truncate_dryrun
      Src: /src/curl/src/tool_doswin.c:414,1
    - Dst: strdup
      Src: /src/curl/src/tool_doswin.c:418,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 85
    argCount: 3
    argNames:
    - sanitized
    - file_name
    - flags
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 420
    functionName: msdosify
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 1
    functionsReached:
    - strlen
    - strdup
    - CURL_USE_LFN
    - strpbrk
    - memcpy
    - memchr
    - truncate_dryrun
    linkageType: ''
    returnType: SANITIZEcode
    signature: "SANITIZEcode msdosify(char **const sanitized, const char *file_name,\n
      \                            int flags)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:454,1
    - Dst: strdup
      Src: /src/curl/src/tool_doswin.c:460,1
    - Dst: memcpy
      Src: /src/curl/src/tool_doswin.c:470,1
    - Dst: basename
      Src: /src/curl/src/tool_doswin.c:472,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_doswin.c:481,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_doswin.c:482,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_doswin.c:483,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_doswin.c:484,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_doswin.c:485,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_doswin.c:486,1
    - Dst: curl_strnequal
      Src: /src/curl/src/tool_doswin.c:486,1
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:513,1
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:516,1
    - Dst: memmove
      Src: /src/curl/src/tool_doswin.c:518,1
    - Dst: basename
      Src: /src/curl/src/tool_doswin.c:524,1
    - Dst: curlx_stat
      Src: /src/curl/src/tool_doswin.c:535,1
    - Dst: S_ISCHR
      Src: /src/curl/src/tool_doswin.c:535,1
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:537,1
    - Dst: strlen
      Src: /src/curl/src/tool_doswin.c:539,1
    - Dst: memmove
      Src: /src/curl/src/tool_doswin.c:541,1
    - Dst: strdup
      Src: /src/curl/src/tool_doswin.c:547,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 53
    argCount: 3
    argNames:
    - sanitized
    - file_name
    - flags
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 549
    functionName: rename_if_reserved_dos
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 1
    functionsReached:
    - memmove
    - strlen
    - curl_strnequal
    - strdup
    - memcpy
    - basename
    - curlx_stat
    - S_ISCHR
    linkageType: ''
    returnType: SANITIZEcode
    signature: "SANITIZEcode rename_if_reserved_dos(char **const sanitized,\n                                           const
      char *file_name,\n                                           int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: __crt0_glob_function
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **__crt0_glob_function(char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEXT
      Src: /src/curl/src/tool_doswin.c:593,1
    - Dst: SearchPath
      Src: /src/curl/src/tool_doswin.c:595,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/curl/src/tool_doswin.c:597,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_doswin.c:598,1
    - Dst: strdup
      Src: /src/curl/src/tool_doswin.c:600,1
    - Dst: curlx_unicodefree
      Src: /src/curl/src/tool_doswin.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - config
    - bundle_file
    argTypes:
    - struct OperationConfig*
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 607
    functionName: FindWin32CACert
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 1
    functionsReached:
    - tool_safefree
    - strdup
    - TEXT
    - SearchPath
    - curlx_convert_tchar_to_UTF8
    - curlx_unicodefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode FindWin32CACert(struct OperationConfig *config,\n                         const
      TCHAR *bundle_file)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CreateToolhelp32Snapshot
      Src: /src/curl/src/tool_doswin.c:623,1
    - Dst: GetLastError
      Src: /src/curl/src/tool_doswin.c:624,1
    - Dst: Module32First
      Src: /src/curl/src/tool_doswin.c:629,1
    - Dst: WideCharToMultiByte
      Src: /src/curl/src/tool_doswin.c:640,1
    - Dst: curl_slist_append
      Src: /src/curl/src/tool_doswin.c:647,1
    - Dst: Module32Next
      Src: /src/curl/src/tool_doswin.c:651,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_doswin.c:656,1
    - Dst: CloseHandle
      Src: /src/curl/src/tool_doswin.c:660,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 663
    functionName: GetLoadedModulePaths
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - Module32First
    - Module32Next
    - curl_slist_free_all
    - CreateToolhelp32Snapshot
    - WideCharToMultiByte
    - curl_slist_append
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *GetLoadedModulePaths(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchange
      Src: /src/curl/src/tool_doswin.c:681,1
    - Dst: SetConsoleMode
      Src: /src/curl/src/tool_doswin.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: restore_terminal
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - InterlockedExchange
    - SetConsoleMode
    linkageType: ''
    returnType: void
    signature: void restore_terminal(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restore_terminal
      Src: /src/curl/src/tool_doswin.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: signal_handler
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - restore_terminal
    linkageType: ''
    returnType: BOOL
    signature: BOOL signal_handler(DWORD type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/curl/src/tool_doswin.c:697,1
    - Dst: GetConsoleMode
      Src: /src/curl/src/tool_doswin.c:706,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/src/tool_doswin.c:708,1
    - Dst: InterlockedExchange
      Src: /src/curl/src/tool_doswin.c:718,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/curl/src/tool_doswin.c:719,1
    - Dst: SetConsoleMode
      Src: /src/curl/src/tool_doswin.c:720,1
    - Dst: atexit
      Src: /src/curl/src/tool_doswin.c:724,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/curl/src/tool_doswin.c:727,1
    - Dst: InterlockedExchange
      Src: /src/curl/src/tool_doswin.c:728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 732
    functionName: init_terminal
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - curlx_verify_windows_version
    - atexit
    - SetConsoleMode
    - InterlockedExchange
    - GetStdHandle
    - SetConsoleCtrlHandler
    - GetConsoleMode
    linkageType: ''
    returnType: void
    signature: void init_terminal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now_init
      Src: /src/curl/src/tool_doswin.c:737,1
    - Dst: init_terminal
      Src: /src/curl/src/tool_doswin.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: win32_init
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 7
    functionsReached:
    - curlx_now_init
    - init_terminal
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode win32_init(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ACCEPT
      Src: /src/curl/src/tool_doswin.c:768,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:772,1
    - Dst: sclose
      Src: /src/curl/src/tool_doswin.c:776,1
    - Dst: shutdown
      Src: /src/curl/src/tool_doswin.c:778,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:779,1
    - Dst: ReadFile
      Src: /src/curl/src/tool_doswin.c:783,1
    - Dst: CURL_SEND
      Src: /src/curl/src/tool_doswin.c:788,1
    - Dst: CloseHandle
      Src: /src/curl/src/tool_doswin.c:795,1
    - Dst: sclose
      Src: /src/curl/src/tool_doswin.c:798,1
    - Dst: sclose
      Src: /src/curl/src/tool_doswin.c:802,1
    - Dst: free
      Src: /src/curl/src/tool_doswin.c:805,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 809
    functionName: win_stdin_thread_func
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 0
    functionsReached:
    - CURL_SEND
    - ReadFile
    - errorf
    - shutdown
    - CURL_ACCEPT
    - free
    - sclose
    - CloseHandle
    linkageType: ''
    returnType: DWORD
    signature: DWORD win_stdin_thread_func(void *thread_data)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/curl/src/tool_doswin.c:823,1
    - Dst: assert
      Src: /src/curl/src/tool_doswin.c:826,1
    - Dst: calloc
      Src: /src/curl/src/tool_doswin.c:830,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:832,1
    - Dst: CURL_SOCKET
      Src: /src/curl/src/tool_doswin.c:837,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:839,1
    - Dst: memset
      Src: /src/curl/src/tool_doswin.c:844,1
    - Dst: htonl
      Src: /src/curl/src/tool_doswin.c:846,1
    - Dst: bind
      Src: /src/curl/src/tool_doswin.c:848,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:850,1
    - Dst: getsockname
      Src: /src/curl/src/tool_doswin.c:855,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:857,1
    - Dst: listen
      Src: /src/curl/src/tool_doswin.c:861,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:863,1
    - Dst: DuplicateHandle
      Src: /src/curl/src/tool_doswin.c:868,1
    - Dst: GetCurrentProcess
      Src: /src/curl/src/tool_doswin.c:868,1
    - Dst: GetStdHandle
      Src: /src/curl/src/tool_doswin.c:868,1
    - Dst: GetCurrentProcess
      Src: /src/curl/src/tool_doswin.c:869,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:873,1
    - Dst: GetLastError
      Src: /src/curl/src/tool_doswin.c:873,1
    - Dst: CreateThread
      Src: /src/curl/src/tool_doswin.c:881,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:884,1
    - Dst: GetLastError
      Src: /src/curl/src/tool_doswin.c:884,1
    - Dst: CURL_SOCKET
      Src: /src/curl/src/tool_doswin.c:889,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:891,1
    - Dst: setsockopt
      Src: /src/curl/src/tool_doswin.c:896,1
    - Dst: connect
      Src: /src/curl/src/tool_doswin.c:898,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:899,1
    - Dst: shutdown
      Src: /src/curl/src/tool_doswin.c:903,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:904,1
    - Dst: SetStdHandle
      Src: /src/curl/src/tool_doswin.c:909,1
    - Dst: errorf
      Src: /src/curl/src/tool_doswin.c:910,1
    - Dst: GetLastError
      Src: /src/curl/src/tool_doswin.c:910,1
    - Dst: GetStdHandle
      Src: /src/curl/src/tool_doswin.c:919,1
    - Dst: SetStdHandle
      Src: /src/curl/src/tool_doswin.c:922,1
    - Dst: sclose
      Src: /src/curl/src/tool_doswin.c:926,1
    - Dst: TerminateThread
      Src: /src/curl/src/tool_doswin.c:931,1
    - Dst: CloseHandle
      Src: /src/curl/src/tool_doswin.c:932,1
    - Dst: CloseHandle
      Src: /src/curl/src/tool_doswin.c:938,1
    - Dst: sclose
      Src: /src/curl/src/tool_doswin.c:940,1
    - Dst: free
      Src: /src/curl/src/tool_doswin.c:942,1
    - Dst: assert
      Src: /src/curl/src/tool_doswin.c:948,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (stdin_thread == NULL)
      pos:
        line_end: 825
        line_start: 825
        source_file: /src/curl/src/tool_doswin.c
    - condition: (stdin_thread != NULL)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/curl/src/tool_doswin.c
    - condition: (socket_r != CURL_SOCKET_BAD)
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/curl/src/tool_doswin.c
    constantsTouched: []
    func_position:
      end: 950
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 950
    functionName: win32_stdin_read_thread
    functionSourceFile: /src/curl/src/tool_doswin.c
    functionUses: 1
    functionsReached:
    - TerminateThread
    - htonl
    - getsockname
    - GetLastError
    - sclose
    - connect
    - calloc
    - CURL_SOCKET
    - listen
    - CloseHandle
    - CreateThread
    - GetCurrentProcess
    - free
    - DuplicateHandle
    - setsockopt
    - assert
    - SetStdHandle
    - bind
    - errorf
    - shutdown
    - GetStdHandle
    - memset
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t win32_stdin_read_thread(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/src/tool_formparse.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - parent
    - kind
    argTypes:
    - struct tool_mime*
    - toolmimekind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: tool_mime_new
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct tool_mime
    signature: "struct tool_mime *tool_mime_new(struct tool_mime *parent,\n                                       toolmimekind
      kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tool_mime_new
      Src: /src/curl/src/tool_formparse.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - struct tool_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tool_mime_new_parts
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - tool_mime_new
    linkageType: ''
    returnType: struct tool_mime
    signature: struct tool_mime *tool_mime_new_parts(struct tool_mime *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/src/tool_formparse.c:62,1
    - Dst: tool_mime_new
      Src: /src/curl/src/tool_formparse.c:64,1
    - Dst: free
      Src: /src/curl/src/tool_formparse.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - parent
    - mime_data
    argTypes:
    - struct tool_mime*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: tool_mime_new_data
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - free
    - tool_mime_new
    - strdup
    linkageType: ''
    returnType: struct tool_mime
    signature: "struct tool_mime *tool_mime_new_data(struct tool_mime *parent,\n                                            char
      *mime_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_formparse.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: uztoso
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t uztoso(size_t uznum)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_formparse.c:107,1
    - Dst: strdup
      Src: /src/curl/src/tool_formparse.c:109,1
    - Dst: tool_mime_new
      Src: /src/curl/src/tool_formparse.c:111,1
    - Dst: free
      Src: /src/curl/src/tool_formparse.c:113,1
    - Dst: fileno
      Src: /src/curl/src/tool_formparse.c:126,1
    - Dst: CURLX_SET_BINMODE
      Src: /src/curl/src/tool_formparse.c:133,1
    - Dst: ftell
      Src: /src/curl/src/tool_formparse.c:134,1
    - Dst: fstat
      Src: /src/curl/src/tool_formparse.c:137,1
    - Dst: S_ISREG
      Src: /src/curl/src/tool_formparse.c:141,1
    - Dst: file2memory
      Src: /src/curl/src/tool_formparse.c:149,1
    - Dst: strdup
      Src: /src/curl/src/tool_formparse.c:158,1
    - Dst: uztoso
      Src: /src/curl/src/tool_formparse.c:164,1
    - Dst: tool_mime_new
      Src: /src/curl/src/tool_formparse.c:167,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_formparse.c:169,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - parent
    - filename
    - isremotefile
    - errcode
    argTypes:
    - struct tool_mime*
    - char*
    - bool
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 179
    functionName: tool_mime_new_filedata
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - tool_safefree
    - file2memory
    - fstat
    - strdup
    - ftell
    - free
    - strcmp
    - fileno
    - CURLX_SET_BINMODE
    - tool_mime_new
    - uztoso
    - S_ISREG
    linkageType: ''
    returnType: struct tool_mime
    signature: "struct tool_mime *tool_mime_new_filedata(struct tool_mime *parent,\n
      \                                               const char *filename,\n                                                bool
      isremotefile,\n                                                CURLcode *errcode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tool_mime_free
      Src: /src/curl/src/tool_formparse.c:187,1
    - Dst: tool_mime_free
      Src: /src/curl/src/tool_formparse.c:189,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_formparse.c:190,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_formparse.c:191,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_formparse.c:192,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_formparse.c:193,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_formparse.c:194,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_formparse.c:195,1
    - Dst: free
      Src: /src/curl/src/tool_formparse.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - mime
    argTypes:
    - struct tool_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: tool_mime_free
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 2
    functionsReached:
    - tool_mime_free
    - tool_safefree
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void tool_mime_free(struct tool_mime *mime)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uztoso
      Src: /src/curl/src/tool_formparse.c:213,1
    - Dst: curlx_sotouz
      Src: /src/curl/src/tool_formparse.c:214,1
    - Dst: memcpy
      Src: /src/curl/src/tool_formparse.c:219,1
    - Dst: curlx_sotouz
      Src: /src/curl/src/tool_formparse.c:219,1
    - Dst: fread
      Src: /src/curl/src/tool_formparse.c:223,1
    - Dst: ferror
      Src: /src/curl/src/tool_formparse.c:224,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:227,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_formparse.c:227,1
    - Dst: uztoso
      Src: /src/curl/src/tool_formparse.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - arg
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: tool_mime_stdin_read
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - curlx_strerror
    - curlx_sotouz
    - fread
    - memcpy
    - ferror
    - warnf
    - uztoso
    linkageType: ''
    returnType: size_t
    signature: "size_t tool_mime_stdin_read(char *buffer,\n                            size_t
      size, size_t nitems, void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/curl/src/tool_formparse.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - instream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: tool_mime_stdin_seek
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: int
    signature: int tool_mime_stdin_seek(void *instream, curl_off_t offset, int whence)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tool2curlparts
      Src: /src/curl/src/tool_formparse.c:269,1
    - Dst: curl_mime_addpart
      Src: /src/curl/src/tool_formparse.c:271,1
    - Dst: tool2curlmime
      Src: /src/curl/src/tool_formparse.c:279,1
    - Dst: curl_mime_subparts
      Src: /src/curl/src/tool_formparse.c:281,1
    - Dst: curl_mime_free
      Src: /src/curl/src/tool_formparse.c:283,1
    - Dst: curl_mime_data
      Src: /src/curl/src/tool_formparse.c:288,1
    - Dst: curl_mime_filedata
      Src: /src/curl/src/tool_formparse.c:293,1
    - Dst: curl_mime_filename
      Src: /src/curl/src/tool_formparse.c:295,1
    - Dst: FALLTHROUGH
      Src: /src/curl/src/tool_formparse.c:301,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/src/tool_formparse.c:303,1
    - Dst: curl_mime_filename
      Src: /src/curl/src/tool_formparse.c:315,1
    - Dst: curl_mime_type
      Src: /src/curl/src/tool_formparse.c:317,1
    - Dst: curl_mime_headers
      Src: /src/curl/src/tool_formparse.c:319,1
    - Dst: curl_mime_encoder
      Src: /src/curl/src/tool_formparse.c:321,1
    - Dst: curl_mime_name
      Src: /src/curl/src/tool_formparse.c:323,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 3
    argNames:
    - curl
    - m
    - mime
    argTypes:
    - CURL*
    - struct tool_mime*
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 326
    functionName: tool2curlparts
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 1
    functionsReached:
    - FALLTHROUGH
    - curl_mime_addpart
    - curl_mime_data_cb
    - curl_mime_encoder
    - curl_mime_name
    - curl_mime_data
    - curl_mime_subparts
    - curl_mime_type
    - curl_mime_filename
    - curl_mime_free
    - tool2curlparts
    - curl_mime_headers
    - tool2curlmime
    - curl_mime_filedata
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tool2curlparts(CURL *curl, struct tool_mime *m,\n                               curl_mime
      *mime)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mime_init
      Src: /src/curl/src/tool_formparse.c:332,1
    - Dst: tool2curlparts
      Src: /src/curl/src/tool_formparse.c:336,1
    - Dst: curl_mime_free
      Src: /src/curl/src/tool_formparse.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - curl
    - m
    - mime
    argTypes:
    - CURL*
    - struct tool_mime*
    - curl_mime**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: tool2curlmime
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 2
    functionsReached:
    - curl_mime_free
    - curl_mime_init
    - tool2curlparts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tool2curlmime(CURL *curl, struct tool_mime *m, curl_mime **mime)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISSPACE
      Src: /src/curl/src/tool_formparse.c:386,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:391,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 3
    argNames:
    - str
    - end_pos
    - endchar
    argTypes:
    - char**
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 405
    functionName: get_param_word
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - ISSPACE
    - warnf
    linkageType: ''
    returnType: char
    signature: char *get_param_word(char **str, char **end_pos, char endchar)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/src/tool_formparse.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - plist
    - data
    argTypes:
    - struct curl_slist**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: slist_append
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 73
    functionsReached:
    - curl_slist_append
    linkageType: ''
    returnType: int
    signature: int slist_append(struct curl_slist **plist, const char *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/curl/src/tool_formparse.c:430,1
    - Dst: ISSPACE
      Src: /src/curl/src/tool_formparse.c:431,1
    - Dst: ISSPACE
      Src: /src/curl/src/tool_formparse.c:433,1
    - Dst: slist_append
      Src: /src/curl/src/tool_formparse.c:437,1
    - Dst: errorf
      Src: /src/curl/src/tool_formparse.c:438,1
    - Dst: ferror
      Src: /src/curl/src/tool_formparse.c:447,1
    - Dst: errorf
      Src: /src/curl/src/tool_formparse.c:449,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_formparse.c:450,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:470,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - filename
    - fp
    - pheaders
    argTypes:
    - char*
    - FILE*
    - struct curl_slist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 479
    functionName: read_field_headers
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - curlx_strerror
    - ISSPACE
    - errorf
    - ferror
    - warnf
    - getc
    - slist_append
    linkageType: ''
    returnType: int
    signature: "int read_field_headers(const char *filename, FILE *fp,\n                              struct
      curl_slist **pheaders)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:504,1
    - Dst: get_param_word
      Src: /src/curl/src/tool_formparse.c:507,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:510,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:515,1
    - Dst: checkprefix
      Src: /src/curl/src/tool_formparse.c:518,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:520,1
    - Dst: strcspn
      Src: /src/curl/src/tool_formparse.c:526,1
    - Dst: checkprefix
      Src: /src/curl/src/tool_formparse.c:531,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:536,1
    - Dst: get_param_word
      Src: /src/curl/src/tool_formparse.c:539,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:542,1
    - Dst: checkprefix
      Src: /src/curl/src/tool_formparse.c:547,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:559,1
    - Dst: get_param_word
      Src: /src/curl/src/tool_formparse.c:561,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:564,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_formparse.c:568,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:571,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_formparse.c:572,1
    - Dst: read_field_headers
      Src: /src/curl/src/tool_formparse.c:575,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_formparse.c:577,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_formparse.c:579,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:587,1
    - Dst: get_param_word
      Src: /src/curl/src/tool_formparse.c:590,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:593,1
    - Dst: slist_append
      Src: /src/curl/src/tool_formparse.c:597,1
    - Dst: errorf
      Src: /src/curl/src/tool_formparse.c:598,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_formparse.c:599,1
    - Dst: checkprefix
      Src: /src/curl/src/tool_formparse.c:604,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:609,1
    - Dst: get_param_word
      Src: /src/curl/src/tool_formparse.c:612,1
    - Dst: ISSPACE
      Src: /src/curl/src/tool_formparse.c:615,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_formparse.c:623,1
    - Dst: get_param_word
      Src: /src/curl/src/tool_formparse.c:629,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:634,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:645,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:650,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:655,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:660,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_formparse.c:661,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 138
    argCount: 7
    argNames:
    - endchar
    - str
    - pdata
    - ptype
    - pfilename
    - pencoder
    - pheaders
    argTypes:
    - char
    - char**
    - char**
    - char**
    - char**
    - char**
    - struct curl_slist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 666
    functionName: get_param_part
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached:
    - read_field_headers
    - curlx_fclose
    - curlx_strerror
    - ISSPACE
    - curl_slist_free_all
    - curlx_fopen
    - errorf
    - strcspn
    - warnf
    - get_param_word
    - slist_append
    - checkprefix
    - ISBLANK
    linkageType: ''
    returnType: int
    signature: "int get_param_part(char endchar,\n                          char **str,
      char **pdata, char **ptype,\n                          char **pfilename, char
      **pencoder,\n                          struct curl_slist **pheaders)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: SET_TOOL_MIME_PTR
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TOOL_MIME_PTR(m, field)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: tool_mime_new_parts
      Src: /src/curl/src/tool_formparse.c:746,1
    - Dst: strdup
      Src: /src/curl/src/tool_formparse.c:753,1
    - Dst: strchr
      Src: /src/curl/src/tool_formparse.c:758,1
    - Dst: get_param_part
      Src: /src/curl/src/tool_formparse.c:767,1
    - Dst: tool_mime_new_parts
      Src: /src/curl/src/tool_formparse.c:770,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/curl/src/tool_formparse.c:776,1
    - Dst: strcmp
      Src: /src/curl/src/tool_formparse.c:778,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:781,1
    - Dst: get_param_part
      Src: /src/curl/src/tool_formparse.c:796,1
    - Dst: tool_mime_new_parts
      Src: /src/curl/src/tool_formparse.c:808,1
    - Dst: tool_mime_new_filedata
      Src: /src/curl/src/tool_formparse.c:815,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:825,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_formparse.c:828,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/curl/src/tool_formparse.c:832,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/curl/src/tool_formparse.c:833,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/curl/src/tool_formparse.c:834,1
    - Dst: get_param_part
      Src: /src/curl/src/tool_formparse.c:843,1
    - Dst: tool_mime_new_filedata
      Src: /src/curl/src/tool_formparse.c:848,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:859,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_formparse.c:862,1
    - Dst: get_param_part
      Src: /src/curl/src/tool_formparse.c:871,1
    - Dst: tool_mime_new_data
      Src: /src/curl/src/tool_formparse.c:877,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/curl/src/tool_formparse.c:884,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/curl/src/tool_formparse.c:885,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/curl/src/tool_formparse.c:886,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:890,1
    - Dst: SET_TOOL_MIME_PTR
      Src: /src/curl/src/tool_formparse.c:895,1
    - Dst: warnf
      Src: /src/curl/src/tool_formparse.c:898,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_formparse.c:903,1
    - Dst: curl_slist_free_all
      Src: /src/curl/src/tool_formparse.c:904,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 135
    argCount: 4
    argNames:
    - input
    - mimeroot
    - mimecurrent
    - literal_value
    argTypes:
    - char*
    - struct tool_mime**
    - struct tool_mime**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 725
    functionDepth: 5
    functionLinenumber: 725
    functionLinenumberEnd: 906
    functionName: formparse
    functionSourceFile: /src/curl/src/tool_formparse.c
    functionUses: 1
    functionsReached:
    - tool_mime_new_parts
    - tool_safefree
    - tool_mime_new_data
    - strdup
    - strchr
    - curl_slist_free_all
    - get_param_part
    - tool_mime_new_filedata
    - strcmp
    - SET_TOOL_MIME_PTR
    - warnf
    linkageType: ''
    returnType: int
    signature: "int formparse(const char *input,\n              struct tool_mime **mimeroot,\n
      \             struct tool_mime **mimecurrent,\n              bool literal_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SOCKET
      Src: /src/curl/src/tool_cb_soc.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - clientp
    - purpose
    - addr
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: tool_socket_open_mptcp_cb
    functionSourceFile: /src/curl/src/tool_cb_soc.c
    functionUses: 0
    functionsReached:
    - CURL_SOCKET
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t tool_socket_open_mptcp_cb(void *clientp,\n                                        curlsocktype
      purpose,\n                                        struct curl_sockaddr *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: tool_init_stderr
    functionSourceFile: /src/curl/src/tool_stderr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tool_init_stderr(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/src/tool_stderr.c:46,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_stderr.c:53,1
    - Dst: warnf
      Src: /src/curl/src/tool_stderr.c:55,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_stderr.c:58,1
    - Dst: freopen
      Src: /src/curl/src/tool_stderr.c:63,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_stderr.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: tool_set_stderr_file
    functionSourceFile: /src/curl/src/tool_stderr.c
    functionUses: 1
    functionsReached:
    - freopen
    - curlx_fopen
    - strcmp
    - warnf
    - DEBUGASSERT
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void tool_set_stderr_file(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/curlinfo.c:248,1
    - Dst: printf
      Src: /src/curl/src/curlinfo.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: main
    functionSourceFile: /src/curl/src/curlinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/src/tool_xattr.c:51,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_xattr.c:53,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_xattr.c:57,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_xattr.c:61,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_xattr.c:65,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_xattr.c:69,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_xattr.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 76
    functionName: stripcredentials
    functionSourceFile: /src/curl/src/tool_xattr.c
    functionUses: 1
    functionsReached:
    - curl_url_set
    - curl_url_cleanup
    - curl_url_get
    - curl_url
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST *stripcredentials(const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/src/tool_xattr.c:85,1
    - Dst: curl_mprintf
      Src: /src/curl/src/tool_xattr.c:86,1
    - Dst: fsetxattr
      Src: /src/curl/src/tool_xattr.c:91,1
    - Dst: strlen
      Src: /src/curl/src/tool_xattr.c:91,1
    - Dst: fsetxattr
      Src: /src/curl/src/tool_xattr.c:93,1
    - Dst: strlen
      Src: /src/curl/src/tool_xattr.c:93,1
    - Dst: extattr_set_fd
      Src: /src/curl/src/tool_xattr.c:96,1
    - Dst: strlen
      Src: /src/curl/src/tool_xattr.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - attr
    - value
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: xattr
    functionSourceFile: /src/curl/src/tool_xattr.c
    functionUses: 2
    functionsReached:
    - fsetxattr
    - strlen
    - getenv
    - extattr_set_fd
    - curl_mprintf
    linkageType: ''
    returnType: int
    signature: "int xattr(int fd,\n                 const char *attr, /* name of the
      xattr */\n                 const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xattr
      Src: /src/curl/src/tool_xattr.c:112,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/src/tool_xattr.c:117,1
    - Dst: xattr
      Src: /src/curl/src/tool_xattr.c:119,1
    - Dst: stripcredentials
      Src: /src/curl/src/tool_xattr.c:123,1
    - Dst: xattr
      Src: /src/curl/src/tool_xattr.c:126,1
    - Dst: curl_free
      Src: /src/curl/src/tool_xattr.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - curl
    - url
    - fd
    argTypes:
    - CURL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: fwrite_xattr
    functionSourceFile: /src/curl/src/tool_xattr.c
    functionUses: 1
    functionsReached:
    - stripcredentials
    - xattr
    - curl_easy_getinfo
    - curl_free
    linkageType: ''
    returnType: int
    signature: int fwrite_xattr(CURL *curl, const char *url, int fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_cb_wrt.c:45,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_cb_wrt.c:46,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_cb_wrt.c:47,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_cb_wrt.c:53,1
    - Dst: curlx_open
      Src: /src/curl/src/tool_cb_wrt.c:58,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_cb_wrt.c:66,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/tool_cb_wrt.c:72,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/tool_cb_wrt.c:73,1
    - Dst: curlx_open
      Src: /src/curl/src/tool_cb_wrt.c:77,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_cb_wrt.c:77,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_cb_wrt.c:83,1
    - Dst: curlx_fdopen
      Src: /src/curl/src/tool_cb_wrt.c:92,1
    - Dst: close
      Src: /src/curl/src/tool_cb_wrt.c:94,1
    - Dst: warnf
      Src: /src/curl/src/tool_cb_wrt.c:100,1
    - Dst: curlx_strerror
      Src: /src/curl/src/tool_cb_wrt.c:101,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - outs
    - config
    argTypes:
    - struct OutStruct*
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 110
    functionName: tool_create_output_file
    functionSourceFile: /src/curl/src/tool_cb_wrt.c
    functionUses: 2
    functionsReached:
    - curlx_fdopen
    - curlx_strerror
    - curlx_open
    - close
    - curlx_dyn_reset
    - curlx_fopen
    - curlx_dyn_init
    - warnf
    - curlx_dyn_ptr
    - DEBUGASSERT
    - curlx_dyn_addf
    linkageType: ''
    returnType: bool
    signature: "bool tool_create_output_file(struct OutStruct *outs,\n                             struct
      OperationConfig *config)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/curl/src/tool_cb_wrt.c:165,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/src/tool_cb_wrt.c:166,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_cb_wrt.c:167,1
    - Dst: WriteConsoleW
      Src: /src/curl/src/tool_cb_wrt.c:168,1
    - Dst: memset
      Src: /src/curl/src/tool_cb_wrt.c:175,1
    - Dst: IS_TRAILING_BYTE
      Src: /src/curl/src/tool_cb_wrt.c:186,1
    - Dst: IS_TRAILING_BYTE
      Src: /src/curl/src/tool_cb_wrt.c:193,1
    - Dst: MultiByteToWideChar
      Src: /src/curl/src/tool_cb_wrt.c:207,1
    - Dst: realloc
      Src: /src/curl/src/tool_cb_wrt.c:214,1
    - Dst: MultiByteToWideChar
      Src: /src/curl/src/tool_cb_wrt.c:222,1
    - Dst: WriteConsoleW
      Src: /src/curl/src/tool_cb_wrt.c:228,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 81
    argCount: 5
    argNames:
    - fhnd
    - outs
    - buffer
    - bytes
    - retp
    argTypes:
    - intptr_t
    - struct OutStruct*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 235
    functionName: win_console
    functionSourceFile: /src/curl/src/tool_cb_wrt.c
    functionUses: 0
    functionsReached:
    - WriteConsoleW
    - realloc
    - IS_TRAILING_BYTE
    - MultiByteToWideChar
    - CURL_ARRAYSIZE
    - memset
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t win_console(intptr_t fhnd, struct OutStruct *outs,\n                          char
      *buffer, size_t bytes,\n                          size_t *retp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: IS_TRAILING_BYTE
    functionSourceFile: /src/curl/src/tool_cb_wrt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRAILING_BYTE(x)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/curl/src/tool_cb_wrt.c:260,1
    - Dst: curl_free
      Src: /src/curl/src/tool_cb_wrt.c:263,1
    - Dst: warnf
      Src: /src/curl/src/tool_cb_wrt.c:269,1
    - Dst: warnf
      Src: /src/curl/src/tool_cb_wrt.c:275,1
    - Dst: warnf
      Src: /src/curl/src/tool_cb_wrt.c:304,1
    - Dst: tool_create_output_file
      Src: /src/curl/src/tool_cb_wrt.c:310,1
    - Dst: memchr
      Src: /src/curl/src/tool_cb_wrt.c:315,1
    - Dst: warnf
      Src: /src/curl/src/tool_cb_wrt.c:316,1
    - Dst: _get_osfhandle
      Src: /src/curl/src/tool_cb_wrt.c:325,1
    - Dst: fileno
      Src: /src/curl/src/tool_cb_wrt.c:325,1
    - Dst: isatty
      Src: /src/curl/src/tool_cb_wrt.c:327,1
    - Dst: fileno
      Src: /src/curl/src/tool_cb_wrt.c:327,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/curl/src/tool_cb_wrt.c:328,1
    - Dst: win_console
      Src: /src/curl/src/tool_cb_wrt.c:329,1
    - Dst: tool_write_headers
      Src: /src/curl/src/tool_cb_wrt.c:337,1
    - Dst: fwrite
      Src: /src/curl/src/tool_cb_wrt.c:340,1
    - Dst: curl_easy_pause
      Src: /src/curl/src/tool_cb_wrt.c:349,1
    - Dst: fflush
      Src: /src/curl/src/tool_cb_wrt.c:356,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 75
    argCount: 4
    argNames:
    - buffer
    - sz
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 365
    functionName: tool_write_cb
    functionSourceFile: /src/curl/src/tool_cb_wrt.c
    functionUses: 0
    functionsReached:
    - fflush
    - tool_create_output_file
    - isatty
    - curl_easy_pause
    - fwrite
    - GetConsoleScreenBufferInfo
    - tool_write_headers
    - curl_free
    - curl_getenv
    - fileno
    - memchr
    - win_console
    - warnf
    - _get_osfhandle
    linkageType: ''
    returnType: size_t
    signature: size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout_json.c:47,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout_json.c:50,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout_json.c:53,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout_json.c:56,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout_json.c:59,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout_json.c:62,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout_json.c:65,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/src/tool_writeout_json.c:69,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_writeout_json.c:75,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 4
    argNames:
    - in
    - len
    - out
    - lowercase
    argTypes:
    - char*
    - size_t
    - struct dynbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: jsonquoted
    functionSourceFile: /src/curl/src/tool_writeout_json.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_addf
    linkageType: ''
    returnType: int
    signature: "int jsonquoted(const char *in, size_t len,\n               struct
      dynbuf *out, bool lowercase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_writeout_json.c:88,1
    - Dst: jsonquoted
      Src: /src/curl/src/tool_writeout_json.c:90,1
    - Dst: strlen
      Src: /src/curl/src/tool_writeout_json.c:90,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:91,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_writeout_json.c:92,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout_json.c:93,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_writeout_json.c:93,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:94,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_writeout_json.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - in
    - lowercase
    argTypes:
    - FILE*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: jsonWriteString
    functionSourceFile: /src/curl/src/tool_writeout_json.c
    functionUses: 1
    functionsReached:
    - strlen
    - fputs
    - fputc
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_len
    - curlx_dyn_ptr
    - jsonquoted
    linkageType: ''
    returnType: void
    signature: void jsonWriteString(FILE *stream, const char *in, bool lowercase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/curl/src/tool_writeout_json.c:105,1
    - Dst: writefunc
      Src: /src/curl/src/tool_writeout_json.c:109,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout_json.c:110,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout_json.c:115,1
    - Dst: jsonWriteString
      Src: /src/curl/src/tool_writeout_json.c:116,1
    - Dst: curl_version
      Src: /src/curl/src/tool_writeout_json.c:116,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_writeout_json.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - stream
    - mappings
    - nentries
    - per
    - per_result
    argTypes:
    - FILE*
    - struct writeoutvar[]
    - size_t
    - struct per_transfer*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: ourWriteOutJSON
    functionSourceFile: /src/curl/src/tool_writeout_json.c
    functionUses: 1
    functionsReached:
    - curl_mfprintf
    - writefunc
    - fputs
    - jsonWriteString
    - curl_version
    linkageType: ''
    returnType: void
    signature: "void ourWriteOutJSON(FILE *stream, const struct writeoutvar mappings[],\n
      \                    size_t nentries,\n                     struct per_transfer
      *per, CURLcode per_result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:125,1
    - Dst: curl_easy_nextheader
      Src: /src/curl/src/tool_writeout_json.c:126,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout_json.c:136,1
    - Dst: jsonWriteString
      Src: /src/curl/src/tool_writeout_json.c:137,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:138,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:140,1
    - Dst: jsonWriteString
      Src: /src/curl/src/tool_writeout_json.c:142,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:145,1
    - Dst: curl_easy_header
      Src: /src/curl/src/tool_writeout_json.c:146,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:150,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout_json.c:155,1
    - Dst: jsonWriteString
      Src: /src/curl/src/tool_writeout_json.c:156,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:157,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:158,1
    - Dst: jsonWriteString
      Src: /src/curl/src/tool_writeout_json.c:159,1
    - Dst: fputc
      Src: /src/curl/src/tool_writeout_json.c:160,1
    - Dst: fputs
      Src: /src/curl/src/tool_writeout_json.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - stream
    - per
    argTypes:
    - FILE*
    - struct per_transfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 165
    functionName: headerJSON
    functionSourceFile: /src/curl/src/tool_writeout_json.c
    functionUses: 1
    functionsReached:
    - curl_easy_nextheader
    - fputs
    - fputc
    - curl_easy_header
    - jsonWriteString
    linkageType: ''
    returnType: void
    signature: void headerJSON(FILE *stream, struct per_transfer *per)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/curl/src/terminal.c:47,1
    - Dst: curlx_str_number
      Src: /src/curl/src/terminal.c:51,1
    - Dst: curl_free
      Src: /src/curl/src/terminal.c:53,1
    - Dst: ioctl
      Src: /src/curl/src/terminal.c:61,1
    - Dst: ioctl
      Src: /src/curl/src/terminal.c:65,1
    - Dst: GetStdHandle
      Src: /src/curl/src/terminal.c:69,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/curl/src/terminal.c:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 89
    functionName: get_terminal_columns
    functionSourceFile: /src/curl/src/terminal.c
    functionUses: 3
    functionsReached:
    - GetConsoleScreenBufferInfo
    - curl_free
    - curl_getenv
    - curlx_str_number
    - GetStdHandle
    - ioctl
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_terminal_columns(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - error
    argTypes:
    - ParameterError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 76
    functionName: param2text
    functionSourceFile: /src/curl/src/tool_helpers.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *param2text(ParameterError error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warnf
      Src: /src/curl/src/tool_helpers.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - req
    - store
    argTypes:
    - HttpReq
    - HttpReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: SetHTTPrequest
    functionSourceFile: /src/curl/src/tool_helpers.c
    functionUses: 3
    functionsReached:
    - warnf
    linkageType: ''
    returnType: int
    signature: int SetHTTPrequest(HttpReq req, HttpReq *store)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/src/tool_helpers.c:116,1
    - Dst: notef
      Src: /src/curl/src/tool_helpers.c:117,1
    - Dst: curl_strequal
      Src: /src/curl/src/tool_helpers.c:120,1
    - Dst: warnf
      Src: /src/curl/src/tool_helpers.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - req
    - method
    argTypes:
    - HttpReq
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: customrequest_helper
    functionSourceFile: /src/curl/src/tool_helpers.c
    functionUses: 1
    functionsReached:
    - notef
    - warnf
    - curl_strequal
    linkageType: ''
    returnType: void
    signature: void customrequest_helper(HttpReq req, char *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: setfiletime
    functionSourceFile: /src/curl/src/tool_filetime.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setfiletime(a,b,c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/src/tool_ipfs.c:37,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_ipfs.c:40,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_ipfs.c:42,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_ipfs.c:43,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_ipfs.c:47,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_ipfs.c:49,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_ipfs.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - input
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: ensure_trailing_slash
    functionSourceFile: /src/curl/src/tool_ipfs.c
    functionUses: 0
    functionsReached:
    - tool_safefree
    - strlen
    - curlx_dyn_addn
    - curlx_dyn_init
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ensure_trailing_slash(char **input)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/curl/src/tool_ipfs.c:64,1
    - Dst: ensure_trailing_slash
      Src: /src/curl/src/tool_ipfs.c:68,1
    - Dst: curl_getenv
      Src: /src/curl/src/tool_ipfs.c:74,1
    - Dst: getenv
      Src: /src/curl/src/tool_ipfs.c:77,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_ipfs.c:79,1
    - Dst: ensure_trailing_slash
      Src: /src/curl/src/tool_ipfs.c:83,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_ipfs.c:86,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_ipfs.c:91,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_ipfs.c:92,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_ipfs.c:97,1
    - Dst: getc
      Src: /src/curl/src/tool_ipfs.c:100,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_ipfs.c:102,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_ipfs.c:106,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_ipfs.c:109,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_ipfs.c:110,1
    - Dst: ensure_trailing_slash
      Src: /src/curl/src/tool_ipfs.c:113,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_ipfs.c:118,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_ipfs.c:124,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_ipfs.c:125,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_ipfs.c:126,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 128
    functionName: ipfs_gateway
    functionSourceFile: /src/curl/src/tool_ipfs.c
    functionUses: 0
    functionsReached:
    - tool_safefree
    - getenv
    - curlx_fopen
    - curl_getenv
    - ensure_trailing_slash
    - curlx_dyn_init
    - curlx_dyn_addn
    - curlx_dyn_len
    - getc
    - curlx_dyn_ptr
    - curl_maprintf
    - curlx_fclose
    linkageType: ''
    returnType: char
    signature: char *ipfs_gateway(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/src/tool_ipfs.c:149,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_ipfs.c:156,1
    - Dst: ensure_trailing_slash
      Src: /src/curl/src/tool_ipfs.c:165,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_ipfs.c:170,1
    - Dst: strdup
      Src: /src/curl/src/tool_ipfs.c:172,1
    - Dst: ipfs_gateway
      Src: /src/curl/src/tool_ipfs.c:186,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_ipfs.c:192,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_ipfs.c:199,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_ipfs.c:206,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_ipfs.c:211,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_ipfs.c:216,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_ipfs.c:217,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_ipfs.c:220,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_ipfs.c:224,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_ipfs.c:225,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_ipfs.c:226,1
    - Dst: ensure_trailing_slash
      Src: /src/curl/src/tool_ipfs.c:234,1
    - Dst: curl_maprintf
      Src: /src/curl/src/tool_ipfs.c:236,1
    - Dst: curl_url_set
      Src: /src/curl/src/tool_ipfs.c:242,1
    - Dst: tool_safefree
      Src: /src/curl/src/tool_ipfs.c:247,1
    - Dst: curl_url_get
      Src: /src/curl/src/tool_ipfs.c:249,1
    - Dst: strdup
      Src: /src/curl/src/tool_ipfs.c:253,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ipfs.c:254,1
    - Dst: free
      Src: /src/curl/src/tool_ipfs.c:261,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ipfs.c:262,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ipfs.c:263,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ipfs.c:264,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ipfs.c:265,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ipfs.c:266,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ipfs.c:267,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ipfs.c:268,1
    - Dst: curl_free
      Src: /src/curl/src/tool_ipfs.c:269,1
    - Dst: curl_url_cleanup
      Src: /src/curl/src/tool_ipfs.c:270,1
    - Dst: helpf
      Src: /src/curl/src/tool_ipfs.c:274,1
    - Dst: helpf
      Src: /src/curl/src/tool_ipfs.c:277,1
    - Dst: helpf
      Src: /src/curl/src/tool_ipfs.c:280,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 110
    argCount: 4
    argNames:
    - uh
    - protocol
    - url
    - config
    argTypes:
    - CURLU*
    - char*
    - char**
    - struct OperationConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 287
    functionName: ipfs_url_rewrite
    functionSourceFile: /src/curl/src/tool_ipfs.c
    functionUses: 1
    functionsReached:
    - curl_url_set
    - tool_safefree
    - helpf
    - strdup
    - curl_url_get
    - curl_url
    - ipfs_gateway
    - curl_free
    - ensure_trailing_slash
    - free
    - curl_url_cleanup
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ipfs_url_rewrite(CURLU *uh, const char *protocol, char **url,\n
      \                         struct OperationConfig *config)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/curl/src/tool_bname.c:37,1
    - Dst: strrchr
      Src: /src/curl/src/tool_bname.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: tool_basename
    functionSourceFile: /src/curl/src/tool_bname.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char *tool_basename(char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - dash
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ISSEP
    functionSourceFile: /src/curl/src/tool_parsecfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISSEP(x,dash)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/tool_parsecfg.c:47,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_parsecfg.c:71,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_parsecfg.c:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - line
    - param
    argTypes:
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 79
    functionName: unslashquote
    functionSourceFile: /src/curl/src/tool_parsecfg.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_reset
    linkageType: ''
    returnType: int
    signature: int unslashquote(const char *line, struct dynbuf *param)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: findfile
      Src: /src/curl/src/tool_parsecfg.c:94,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_parsecfg.c:96,1
    - Dst: free
      Src: /src/curl/src/tool_parsecfg.c:98,1
    - Dst: tool_execpath
      Src: /src/curl/src/tool_parsecfg.c:107,1
    - Dst: tool_execpath
      Src: /src/curl/src/tool_parsecfg.c:109,1
    - Dst: strcmp
      Src: /src/curl/src/tool_parsecfg.c:117,1
    - Dst: curlx_fopen
      Src: /src/curl/src/tool_parsecfg.c:118,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_parsecfg.c:132,1
    - Dst: curlx_dyn_init
      Src: /src/curl/src/tool_parsecfg.c:133,1
    - Dst: DEBUGASSERT
      Src: /src/curl/src/tool_parsecfg.c:134,1
    - Dst: my_get_line
      Src: /src/curl/src/tool_parsecfg.c:136,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_parsecfg.c:139,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_parsecfg.c:151,1
    - Dst: ISSEP
      Src: /src/curl/src/tool_parsecfg.c:151,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_parsecfg.c:159,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_parsecfg.c:163,1
    - Dst: ISSEP
      Src: /src/curl/src/tool_parsecfg.c:163,1
    - Dst: unslashquote
      Src: /src/curl/src/tool_parsecfg.c:169,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_parsecfg.c:172,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_parsecfg.c:172,1
    - Dst: CURL_UNCONST
      Src: /src/curl/src/tool_parsecfg.c:172,1
    - Dst: ISSPACE
      Src: /src/curl/src/tool_parsecfg.c:176,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_parsecfg.c:185,1
    - Dst: warnf
      Src: /src/curl/src/tool_parsecfg.c:195,1
    - Dst: curl_mfprintf
      Src: /src/curl/src/tool_parsecfg.c:207,1
    - Dst: getparameter
      Src: /src/curl/src/tool_parsecfg.c:209,1
    - Dst: config_alloc
      Src: /src/curl/src/tool_parsecfg.c:219,1
    - Dst: strcmp
      Src: /src/curl/src/tool_parsecfg.c:235,1
    - Dst: param2text
      Src: /src/curl/src/tool_parsecfg.c:243,1
    - Dst: errorf
      Src: /src/curl/src/tool_parsecfg.c:244,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_parsecfg.c:250,1
    - Dst: curlx_dyn_free
      Src: /src/curl/src/tool_parsecfg.c:251,1
    - Dst: curlx_fclose
      Src: /src/curl/src/tool_parsecfg.c:253,1
    - Dst: free
      Src: /src/curl/src/tool_parsecfg.c:260,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 104
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 84
    functionDepth: 7
    functionLinenumber: 84
    functionLinenumberEnd: 262
    functionName: parseconfig
    functionSourceFile: /src/curl/src/tool_parsecfg.c
    functionUses: 2
    functionsReached:
    - findfile
    - getparameter
    - ISSEP
    - CURL_UNCONST
    - curlx_fclose
    - curl_mfprintf
    - config_alloc
    - curlx_fopen
    - param2text
    - curlx_dyn_len
    - warnf
    - curlx_dyn_ptr
    - ISSPACE
    - unslashquote
    - free
    - curlx_dyn_free
    - strcmp
    - curlx_dyn_init
    - DEBUGASSERT
    - ISBLANK
    - errorf
    - tool_execpath
    - my_get_line
    linkageType: ''
    returnType: int
    signature: int parseconfig(const char *filename)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/curl/src/tool_parsecfg.c:269,1
    - Dst: fgets
      Src: /src/curl/src/tool_parsecfg.c:271,1
    - Dst: strlen
      Src: /src/curl/src/tool_parsecfg.c:274,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/src/tool_parsecfg.c:279,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_parsecfg.c:288,1
    - Dst: curlx_dyn_setlen
      Src: /src/curl/src/tool_parsecfg.c:290,1
    - Dst: feof
      Src: /src/curl/src/tool_parsecfg.c:294,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_parsecfg.c:297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - input
    - buf
    - error
    argTypes:
    - FILE*
    - struct dynbuf*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 303
    functionName: get_line
    functionSourceFile: /src/curl/src/tool_parsecfg.c
    functionUses: 5
    functionsReached:
    - strlen
    - curlx_dyn_setlen
    - curlx_dyn_reset
    - curlx_dyn_addn
    - feof
    - curlx_dyn_len
    - fgets
    linkageType: ''
    returnType: bool
    signature: bool get_line(FILE *input, struct dynbuf *buf, bool *error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_line
      Src: /src/curl/src/tool_parsecfg.c:313,1
    - Dst: curlx_dyn_len
      Src: /src/curl/src/tool_parsecfg.c:315,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/src/tool_parsecfg.c:317,1
    - Dst: ISBLANK
      Src: /src/curl/src/tool_parsecfg.c:318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - input
    - buf
    - error
    argTypes:
    - FILE*
    - struct dynbuf*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 331
    functionName: my_get_line
    functionSourceFile: /src/curl/src/tool_parsecfg.c
    functionUses: 4
    functionsReached:
    - ISBLANK
    - curlx_dyn_ptr
    - curlx_dyn_len
    - get_line
    linkageType: ''
    returnType: bool
    signature: bool my_get_line(FILE *input, struct dynbuf *buf, bool *error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-uidl.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-uidl.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-uidl.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-uidl.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-uidl.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-uidl.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-uidl.c:60,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-uidl.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-uidl.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-uidl.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-uidl.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-uidl.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/smtp-authzid.c:83,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/smtp-authzid.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: payload_source
    functionSourceFile: /src/curl/docs/examples/smtp-authzid.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/smtp-authzid.c:99,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/smtp-authzid.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:110,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:117,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:120,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:129,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-authzid.c:133,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:134,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:139,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:140,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-authzid.c:141,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/smtp-authzid.c:144,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smtp-authzid.c:148,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/smtp-authzid.c:149,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/smtp-authzid.c:152,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/smtp-authzid.c:162,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/smtp-authzid.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 168
    functionName: main
    functionSourceFile: /src/curl/docs/examples/smtp-authzid.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-create.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-create.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-create.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-create.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-create.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-create.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-create.c:60,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-create.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-create.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-create.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-create.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-create.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/httpput-postfields.c:61,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/httpput-postfields.c:66,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/httpput-postfields.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/httpput-postfields.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/httpput-postfields.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/httpput-postfields.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/httpput-postfields.c:88,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/httpput-postfields.c:91,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/httpput-postfields.c:94,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/httpput-postfields.c:95,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/httpput-postfields.c:98,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/httpput-postfields.c:101,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/httpput-postfields.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/curl/docs/examples/httpput-postfields.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/smtp-multi.c:73,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/smtp-multi.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 83
    functionName: payload_source
    functionSourceFile: /src/curl/docs/examples/smtp-multi.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/smtp-multi.c:89,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/smtp-multi.c:93,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/smtp-multi.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-multi.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-multi.c:113,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-multi.c:118,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-multi.c:119,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-multi.c:120,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-multi.c:125,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-multi.c:126,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-multi.c:127,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/smtp-multi.c:130,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/smtp-multi.c:133,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/smtp-multi.c:137,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/smtp-multi.c:145,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/smtp-multi.c:148,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/smtp-multi.c:149,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/smtp-multi.c:151,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/smtp-multi.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/curl/docs/examples/smtp-multi.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_multi_cleanup
    - curl_global_cleanup
    - curl_slist_append
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/curl/docs/examples/sftpuploadresume.c:39,1
    - Dst: fread
      Src: /src/curl/docs/examples/sftpuploadresume.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: readfunc
    functionSourceFile: /src/curl/docs/examples/sftpuploadresume.c
    functionUses: 0
    functionsReached:
    - ferror
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t readfunc(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/sftpuploadresume.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:62,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/sftpuploadresume.c:64,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/sftpuploadresume.c:66,1
    - Dst: printf
      Src: /src/curl/docs/examples/sftpuploadresume.c:71,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/sftpuploadresume.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - i_remoteFile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: sftpGetRemoteFileSize
    functionSourceFile: /src/curl/docs/examples/sftpuploadresume.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - printf
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t sftpGetRemoteFileSize(const char *i_remoteFile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sftpGetRemoteFileSize
      Src: /src/curl/docs/examples/sftpuploadresume.c:85,1
    - Dst: printf
      Src: /src/curl/docs/examples/sftpuploadresume.c:87,1
    - Dst: fopen
      Src: /src/curl/docs/examples/sftpuploadresume.c:91,1
    - Dst: perror
      Src: /src/curl/docs/examples/sftpuploadresume.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:100,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:102,1
    - Dst: _fseeki64
      Src: /src/curl/docs/examples/sftpuploadresume.c:105,1
    - Dst: fseek
      Src: /src/curl/docs/examples/sftpuploadresume.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpuploadresume.c:109,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/sftpuploadresume.c:110,1
    - Dst: fclose
      Src: /src/curl/docs/examples/sftpuploadresume.c:112,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/sftpuploadresume.c:117,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/sftpuploadresume.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - curlhandle
    - remotepath
    - localpath
    argTypes:
    - CURL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 120
    functionName: sftpResumeUpload
    functionSourceFile: /src/curl/docs/examples/sftpuploadresume.c
    functionUses: 0
    functionsReached:
    - sftpGetRemoteFileSize
    - fclose
    - curl_easy_perform
    - curl_easy_strerror
    - fopen
    - fprintf
    - perror
    - printf
    - fseek
    - _fseeki64
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: "int sftpResumeUpload(CURL *curlhandle, const char *remotepath,\n                            const
      char *localpath)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/sftpuploadresume.c:126,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/sftpuploadresume.c:130,1
    - Dst: sftpResumeUpload
      Src: /src/curl/docs/examples/sftpuploadresume.c:135,1
    - Dst: printf
      Src: /src/curl/docs/examples/sftpuploadresume.c:136,1
    - Dst: curl_version
      Src: /src/curl/docs/examples/sftpuploadresume.c:136,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/sftpuploadresume.c:139,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/sftpuploadresume.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/curl/docs/examples/sftpuploadresume.c
    functionUses: 0
    functionsReached:
    - curl_easy_cleanup
    - curl_global_cleanup
    - printf
    - curl_global_init
    - curl_version
    - curl_easy_init
    - sftpResumeUpload
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/sessioninfo.c:54,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/curl/docs/examples/sessioninfo.c:63,1
    - Dst: gnutls_x509_crt_init
      Src: /src/curl/docs/examples/sessioninfo.c:71,1
    - Dst: gnutls_x509_crt_import
      Src: /src/curl/docs/examples/sessioninfo.c:73,1
    - Dst: gnutls_x509_crt_print
      Src: /src/curl/docs/examples/sessioninfo.c:75,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/sessioninfo.c:76,1
    - Dst: gnutls_free
      Src: /src/curl/docs/examples/sessioninfo.c:79,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/curl/docs/examples/sessioninfo.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 95
    functionName: wrfu
    functionSourceFile: /src/curl/docs/examples/sessioninfo.c
    functionUses: 0
    functionsReached:
    - gnutls_free
    - gnutls_x509_crt_init
    - gnutls_certificate_get_peers
    - fprintf
    - gnutls_x509_crt_deinit
    - curl_easy_getinfo
    - gnutls_x509_crt_import
    - gnutls_x509_crt_print
    linkageType: ''
    returnType: size_t
    signature: size_t wrfu(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/sessioninfo.c:99,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/sessioninfo.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sessioninfo.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sessioninfo.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sessioninfo.c:107,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/sessioninfo.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/sessioninfo.c:111,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/sessioninfo.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/curl/docs/examples/sessioninfo.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-fetch.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-fetch.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-fetch.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-fetch.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-fetch.c:54,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-fetch.c:58,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-fetch.c:62,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-fetch.c:63,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-fetch.c:66,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-fetch.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-fetch.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multithread.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multithread.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/multithread.c:61,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multithread.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: pull_one_url
    functionSourceFile: /src/curl/docs/examples/multithread.c
    functionUses: 0
    functionsReached:
    - curl_easy_init
    - curl_easy_setopt
    - curl_easy_perform
    - curl_easy_cleanup
    linkageType: ''
    returnType: void
    signature: void *pull_one_url(void *pindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multithread.c:82,1
    - Dst: pthread_create
      Src: /src/curl/docs/examples/multithread.c:87,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multithread.c:92,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multithread.c:94,1
    - Dst: pthread_join
      Src: /src/curl/docs/examples/multithread.c:99,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multithread.c:100,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multithread.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multithread.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-store.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-store.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-store.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-store.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-store.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-store.c:59,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-store.c:62,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-store.c:66,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-store.c:67,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-store.c:71,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-store.c:74,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-store.c:78,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-store.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-store.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-store.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-store.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/https.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/https.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/https.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/https.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/https.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/https.c:68,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/https.c:71,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/https.c:74,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/https.c:75,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/https.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/https.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/curl/docs/examples/https.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/curl/docs/examples/postinmemory.c:44,1
    - Dst: printf
      Src: /src/curl/docs/examples/postinmemory.c:47,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/postinmemory.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: WriteMemoryCallback
    functionSourceFile: /src/curl/docs/examples/postinmemory.c
    functionUses: 0
    functionsReached:
    - memcpy
    - printf
    - realloc
    linkageType: ''
    returnType: size_t
    signature: "size_t WriteMemoryCallback(void *contents, size_t size, size_t nmemb,\n
      \                                 void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/postinmemory.c:66,1
    - Dst: malloc
      Src: /src/curl/docs/examples/postinmemory.c:70,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/postinmemory.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postinmemory.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postinmemory.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postinmemory.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postinmemory.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postinmemory.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postinmemory.c:90,1
    - Dst: strlen
      Src: /src/curl/docs/examples/postinmemory.c:90,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/postinmemory.c:93,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/postinmemory.c:96,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/postinmemory.c:97,1
    - Dst: printf
      Src: /src/curl/docs/examples/postinmemory.c:106,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/postinmemory.c:110,1
    - Dst: free
      Src: /src/curl/docs/examples/postinmemory.c:113,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/postinmemory.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/curl/docs/examples/postinmemory.c
    functionUses: 0
    functionsReached:
    - malloc
    - strlen
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - free
    - printf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-debugcallback.c:49,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-debugcallback.c:54,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-debugcallback.c:60,1
    - Dst: fputs
      Src: /src/curl/docs/examples/multi-debugcallback.c:62,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-debugcallback.c:72,1
    - Dst: fputc
      Src: /src/curl/docs/examples/multi-debugcallback.c:81,1
    - Dst: fflush
      Src: /src/curl/docs/examples/multi-debugcallback.c:83,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 5
    argNames:
    - text
    - stream
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - FILE*
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 84
    functionName: dump
    functionSourceFile: /src/curl/docs/examples/multi-debugcallback.c
    functionUses: 5
    functionsReached:
    - fputc
    - fputs
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump(const char *text, FILE *stream, unsigned char *ptr,\n                 size_t
      size, char nohex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-debugcallback.c:97,1
    - Dst: dump
      Src: /src/curl/docs/examples/multi-debugcallback.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: my_trace
    functionSourceFile: /src/curl/docs/examples/multi-debugcallback.c
    functionUses: 0
    functionsReached:
    - dump
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *handle, curl_infotype type,\n                    unsigned
      char *data, size_t size,\n                    void *userp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multi-debugcallback.c:126,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-debugcallback.c:130,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-debugcallback.c:136,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-debugcallback.c:138,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-debugcallback.c:139,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/multi-debugcallback.c:142,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-debugcallback.c:148,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/multi-debugcallback.c:151,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/multi-debugcallback.c:155,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/multi-debugcallback.c:162,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-debugcallback.c:165,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multi-debugcallback.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multi-debugcallback.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tidyBufAppend
      Src: /src/curl/docs/examples/htmltidy.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - in
    - size
    - nmemb
    - out
    argTypes:
    - char*
    - uint
    - uint
    - TidyBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: write_cb
    functionSourceFile: /src/curl/docs/examples/htmltidy.c
    functionUses: 0
    functionsReached:
    - tidyBufAppend
    linkageType: ''
    returnType: uint
    signature: uint write_cb(char *in, uint size, uint nmemb, TidyBuffer *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tidyGetChild
      Src: /src/curl/docs/examples/htmltidy.c:50,1
    - Dst: tidyGetNext
      Src: /src/curl/docs/examples/htmltidy.c:50,1
    - Dst: tidyNodeGetName
      Src: /src/curl/docs/examples/htmltidy.c:51,1
    - Dst: printf
      Src: /src/curl/docs/examples/htmltidy.c:55,1
    - Dst: tidyAttrFirst
      Src: /src/curl/docs/examples/htmltidy.c:57,1
    - Dst: tidyAttrNext
      Src: /src/curl/docs/examples/htmltidy.c:57,1
    - Dst: printf
      Src: /src/curl/docs/examples/htmltidy.c:58,1
    - Dst: tidyAttrName
      Src: /src/curl/docs/examples/htmltidy.c:58,1
    - Dst: tidyAttrValue
      Src: /src/curl/docs/examples/htmltidy.c:59,1
    - Dst: printf
      Src: /src/curl/docs/examples/htmltidy.c:59,1
    - Dst: tidyAttrValue
      Src: /src/curl/docs/examples/htmltidy.c:60,1
    - Dst: printf
      Src: /src/curl/docs/examples/htmltidy.c:60,1
    - Dst: printf
      Src: /src/curl/docs/examples/htmltidy.c:62,1
    - Dst: tidyBufInit
      Src: /src/curl/docs/examples/htmltidy.c:67,1
    - Dst: tidyNodeGetText
      Src: /src/curl/docs/examples/htmltidy.c:68,1
    - Dst: printf
      Src: /src/curl/docs/examples/htmltidy.c:69,1
    - Dst: tidyBufFree
      Src: /src/curl/docs/examples/htmltidy.c:70,1
    - Dst: dumpNode
      Src: /src/curl/docs/examples/htmltidy.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - doc
    - tnod
    - indent
    argTypes:
    - TidyDoc
    - TidyNode
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: dumpNode
    functionSourceFile: /src/curl/docs/examples/htmltidy.c
    functionUses: 1
    functionsReached:
    - tidyAttrName
    - tidyBufFree
    - tidyAttrFirst
    - tidyNodeGetName
    - tidyAttrNext
    - printf
    - tidyAttrValue
    - dumpNode
    - tidyGetChild
    - tidyNodeGetText
    - tidyGetNext
    - tidyBufInit
    linkageType: ''
    returnType: void
    signature: void dumpNode(TidyDoc doc, TidyNode tnod, int indent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/htmltidy.c:87,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/htmltidy.c:91,1
    - Dst: tidyCreate
      Src: /src/curl/docs/examples/htmltidy.c:95,1
    - Dst: tidyOptSetBool
      Src: /src/curl/docs/examples/htmltidy.c:96,1
    - Dst: tidyOptSetInt
      Src: /src/curl/docs/examples/htmltidy.c:97,1
    - Dst: tidySetErrorBuffer
      Src: /src/curl/docs/examples/htmltidy.c:98,1
    - Dst: tidyBufInit
      Src: /src/curl/docs/examples/htmltidy.c:99,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/htmltidy.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltidy.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltidy.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltidy.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltidy.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltidy.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltidy.c:109,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/htmltidy.c:110,1
    - Dst: tidyParseBuffer
      Src: /src/curl/docs/examples/htmltidy.c:112,1
    - Dst: tidyCleanAndRepair
      Src: /src/curl/docs/examples/htmltidy.c:114,1
    - Dst: tidyRunDiagnostics
      Src: /src/curl/docs/examples/htmltidy.c:116,1
    - Dst: dumpNode
      Src: /src/curl/docs/examples/htmltidy.c:118,1
    - Dst: tidyGetRoot
      Src: /src/curl/docs/examples/htmltidy.c:118,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltidy.c:119,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltidy.c:125,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/htmltidy.c:128,1
    - Dst: tidyBufFree
      Src: /src/curl/docs/examples/htmltidy.c:131,1
    - Dst: tidyBufFree
      Src: /src/curl/docs/examples/htmltidy.c:132,1
    - Dst: tidyRelease
      Src: /src/curl/docs/examples/htmltidy.c:133,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/htmltidy.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/curl/docs/examples/htmltidy.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - tidyOptSetInt
    - dumpNode
    - tidyGetRoot
    - tidyBufFree
    - curl_global_cleanup
    - tidySetErrorBuffer
    - curl_easy_setopt
    - tidyBufInit
    - tidyRelease
    - curl_easy_cleanup
    - printf
    - tidyCreate
    - curl_global_init
    - curl_easy_init
    - tidyParseBuffer
    - tidyRunDiagnostics
    - fprintf
    - tidyOptSetBool
    - tidyCleanAndRepair
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/rtsp-options.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/rtsp-options.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/rtsp-options.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/rtsp-options.c:43,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/rtsp-options.c:45,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/rtsp-options.c:48,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/rtsp-options.c:51,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/rtsp-options.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/rtsp-options.c:55,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/rtsp-options.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/curl/docs/examples/rtsp-options.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/protofeats.c:40,1
    - Dst: curl_version_info
      Src: /src/curl/docs/examples/protofeats.c:44,1
    - Dst: printf
      Src: /src/curl/docs/examples/protofeats.c:45,1
    - Dst: printf
      Src: /src/curl/docs/examples/protofeats.c:47,1
    - Dst: printf
      Src: /src/curl/docs/examples/protofeats.c:48,1
    - Dst: printf
      Src: /src/curl/docs/examples/protofeats.c:50,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/protofeats.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/curl/docs/examples/protofeats.c
    functionUses: 0
    functionsReached:
    - curl_version_info
    - printf
    - curl_global_init
    - curl_global_cleanup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/cookie_interface.c:47,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/cookie_interface.c:48,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/cookie_interface.c:50,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/cookie_interface.c:51,1
    - Dst: printf
      Src: /src/curl/docs/examples/cookie_interface.c:57,1
    - Dst: printf
      Src: /src/curl/docs/examples/cookie_interface.c:62,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/cookie_interface.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: print_cookies
    functionSourceFile: /src/curl/docs/examples/cookie_interface.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - curl_slist_free_all
    - fprintf
    - printf
    - curl_easy_getinfo
    linkageType: ''
    returnType: int
    signature: int print_cookies(CURL *curl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/cookie_interface.c:75,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/cookie_interface.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cookie_interface.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cookie_interface.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cookie_interface.c:85,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/cookie_interface.c:86,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/cookie_interface.c:88,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/cookie_interface.c:88,1
    - Dst: print_cookies
      Src: /src/curl/docs/examples/cookie_interface.c:92,1
    - Dst: printf
      Src: /src/curl/docs/examples/cookie_interface.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cookie_interface.c:95,1
    - Dst: print_cookies
      Src: /src/curl/docs/examples/cookie_interface.c:97,1
    - Dst: printf
      Src: /src/curl/docs/examples/cookie_interface.c:99,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/cookie_interface.c:102,1
    - Dst: difftime
      Src: /src/curl/docs/examples/cookie_interface.c:104,1
    - Dst: time
      Src: /src/curl/docs/examples/cookie_interface.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cookie_interface.c:106,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/cookie_interface.c:108,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/cookie_interface.c:109,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/cookie_interface.c:118,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cookie_interface.c:121,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/cookie_interface.c:123,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/cookie_interface.c:124,1
    - Dst: print_cookies
      Src: /src/curl/docs/examples/cookie_interface.c:128,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/cookie_interface.c:130,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/cookie_interface.c:132,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/cookie_interface.c:132,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/cookie_interface.c:136,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/cookie_interface.c:139,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/cookie_interface.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/curl/docs/examples/cookie_interface.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - print_cookies
    - curl_easy_cleanup
    - snprintf
    - curl_global_cleanup
    - fprintf
    - difftime
    - printf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    - time
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-delete.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-delete.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-delete.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-delete.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-delete.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-delete.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-delete.c:60,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-delete.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-delete.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-delete.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-delete.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-delete.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/default-scheme.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/default-scheme.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/default-scheme.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/default-scheme.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/default-scheme.c:48,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/default-scheme.c:51,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/default-scheme.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/default-scheme.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/default-scheme.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/default-scheme.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/curl/docs/examples/default-scheme.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: mycase
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mycase(code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mycase
      Src: /src/curl/docs/examples/hiperfifo.c:118,1
    - Dst: mycase
      Src: /src/curl/docs/examples/hiperfifo.c:119,1
    - Dst: mycase
      Src: /src/curl/docs/examples/hiperfifo.c:120,1
    - Dst: mycase
      Src: /src/curl/docs/examples/hiperfifo.c:121,1
    - Dst: mycase
      Src: /src/curl/docs/examples/hiperfifo.c:122,1
    - Dst: mycase
      Src: /src/curl/docs/examples/hiperfifo.c:123,1
    - Dst: mycase
      Src: /src/curl/docs/examples/hiperfifo.c:125,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:126,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:130,1
    - Dst: exit
      Src: /src/curl/docs/examples/hiperfifo.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - where
    - code
    argTypes:
    - char*
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: mcode_or_die
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - mycase
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void mcode_or_die(const char *where, CURLMcode code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:143,1
    - Dst: evtimer_del
      Src: /src/curl/docs/examples/hiperfifo.c:152,1
    - Dst: evtimer_add
      Src: /src/curl/docs/examples/hiperfifo.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - g
    argTypes:
    - CURLM*
    - long
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: multi_timer_cb
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - evtimer_del
    - evtimer_add
    - fprintf
    linkageType: ''
    returnType: int
    signature: int multi_timer_cb(CURLM *multi, long timeout_ms, struct GlobalInfo
      *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:168,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/hiperfifo.c:169,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/hiperfifo.c:173,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/hiperfifo.c:174,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:175,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/hiperfifo.c:176,1
    - Dst: free
      Src: /src/curl/docs/examples/hiperfifo.c:177,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/hiperfifo.c:178,1
    - Dst: free
      Src: /src/curl/docs/examples/hiperfifo.c:179,1
    - Dst: event_base_loopbreak
      Src: /src/curl/docs/examples/hiperfifo.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 184
    functionName: check_multi_info
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - curl_multi_remove_handle
    - curl_multi_info_read
    - event_base_loopbreak
    - curl_easy_cleanup
    - fprintf
    - free
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct GlobalInfo *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/hiperfifo.c:196,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/hiperfifo.c:197,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/hiperfifo.c:199,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:201,1
    - Dst: evtimer_pending
      Src: /src/curl/docs/examples/hiperfifo.c:202,1
    - Dst: evtimer_del
      Src: /src/curl/docs/examples/hiperfifo.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - kind
    - userp
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: event_cb
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - evtimer_pending
    - mcode_or_die
    - fprintf
    - evtimer_del
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void event_cb(int fd, short kind, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/hiperfifo.c:216,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/hiperfifo.c:218,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/hiperfifo.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - kind
    - userp
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: timer_cb
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    - mcode_or_die
    linkageType: ''
    returnType: void
    signature: void timer_cb(int fd, short kind, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_initialized
      Src: /src/curl/docs/examples/hiperfifo.c:226,1
    - Dst: event_del
      Src: /src/curl/docs/examples/hiperfifo.c:227,1
    - Dst: free
      Src: /src/curl/docs/examples/hiperfifo.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct SockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: remsock
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - free
    - event_initialized
    - event_del
    linkageType: ''
    returnType: void
    signature: void remsock(struct SockInfo *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_initialized
      Src: /src/curl/docs/examples/hiperfifo.c:244,1
    - Dst: event_del
      Src: /src/curl/docs/examples/hiperfifo.c:245,1
    - Dst: event_assign
      Src: /src/curl/docs/examples/hiperfifo.c:247,1
    - Dst: event_add
      Src: /src/curl/docs/examples/hiperfifo.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - f
    - s
    - e
    - act
    - g
    argTypes:
    - struct SockInfo*
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: setsock
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - event_add
    - event_initialized
    - event_assign
    - event_del
    linkageType: ''
    returnType: void
    signature: "void setsock(struct SockInfo *f, curl_socket_t s, CURL *e, int act,\n
      \                   struct GlobalInfo *g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/docs/examples/hiperfifo.c:255,1
    - Dst: setsock
      Src: /src/curl/docs/examples/hiperfifo.c:258,1
    - Dst: curl_multi_assign
      Src: /src/curl/docs/examples/hiperfifo.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - easy
    - action
    - g
    argTypes:
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: addsock
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - setsock
    - calloc
    - curl_multi_assign
    linkageType: ''
    returnType: void
    signature: "void addsock(curl_socket_t s, CURL *easy, int action,\n                    struct
      GlobalInfo *g)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:269,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:272,1
    - Dst: remsock
      Src: /src/curl/docs/examples/hiperfifo.c:273,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:277,1
    - Dst: addsock
      Src: /src/curl/docs/examples/hiperfifo.c:278,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:281,1
    - Dst: setsock
      Src: /src/curl/docs/examples/hiperfifo.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - e
    - s
    - what
    - cbp
    - sockp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 288
    functionName: sock_cb
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - setsock
    - remsock
    - addsock
    - fprintf
    linkageType: ''
    returnType: int
    signature: int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: write_cb
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ult
    - uln
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: xferinfo_cb
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int xferinfo_cb(void *p, curl_off_t dltotal, curl_off_t dlnow,\n                       curl_off_t
      ult, curl_off_t uln)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/docs/examples/hiperfifo.c:317,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/hiperfifo.c:320,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:322,1
    - Dst: exit
      Src: /src/curl/docs/examples/hiperfifo.c:323,1
    - Dst: strdup
      Src: /src/curl/docs/examples/hiperfifo.c:326,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:327,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:328,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:329,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:330,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:331,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:332,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:333,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:334,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:335,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:336,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:337,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/hiperfifo.c:339,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/hiperfifo.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - url
    - g
    argTypes:
    - char*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 344
    functionName: new_conn
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - calloc
    - exit
    - mcode_or_die
    - strdup
    - fprintf
    - curl_multi_add_handle
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void new_conn(const char *url, struct GlobalInfo *g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/curl/docs/examples/hiperfifo.c:358,1
    - Dst: strcmp
      Src: /src/curl/docs/examples/hiperfifo.c:361,1
    - Dst: event_base_loopbreak
      Src: /src/curl/docs/examples/hiperfifo.c:364,1
    - Dst: new_conn
      Src: /src/curl/docs/examples/hiperfifo.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 372
    functionName: fifo_cb
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - strcmp
    - new_conn
    - fscanf
    - event_base_loopbreak
    linkageType: ''
    returnType: void
    signature: void fifo_cb(int fd, short event, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:381,1
    - Dst: lstat
      Src: /src/curl/docs/examples/hiperfifo.c:382,1
    - Dst: perror
      Src: /src/curl/docs/examples/hiperfifo.c:385,1
    - Dst: unlink
      Src: /src/curl/docs/examples/hiperfifo.c:389,1
    - Dst: mkfifo
      Src: /src/curl/docs/examples/hiperfifo.c:390,1
    - Dst: perror
      Src: /src/curl/docs/examples/hiperfifo.c:391,1
    - Dst: open
      Src: /src/curl/docs/examples/hiperfifo.c:394,1
    - Dst: perror
      Src: /src/curl/docs/examples/hiperfifo.c:396,1
    - Dst: fdopen
      Src: /src/curl/docs/examples/hiperfifo.c:399,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hiperfifo.c:401,1
    - Dst: event_assign
      Src: /src/curl/docs/examples/hiperfifo.c:402,1
    - Dst: event_add
      Src: /src/curl/docs/examples/hiperfifo.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 406
    functionName: init_fifo
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - unlink
    - event_assign
    - open
    - fprintf
    - fdopen
    - perror
    - mkfifo
    - event_add
    - lstat
    linkageType: ''
    returnType: int
    signature: int init_fifo(struct GlobalInfo *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del
      Src: /src/curl/docs/examples/hiperfifo.c:410,1
    - Dst: fclose
      Src: /src/curl/docs/examples/hiperfifo.c:411,1
    - Dst: unlink
      Src: /src/curl/docs/examples/hiperfifo.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: clean_fifo
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - event_del
    - unlink
    - fclose
    linkageType: ''
    returnType: void
    signature: void clean_fifo(struct GlobalInfo *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/hiperfifo.c:422,1
    - Dst: memset
      Src: /src/curl/docs/examples/hiperfifo.c:426,1
    - Dst: event_base_new
      Src: /src/curl/docs/examples/hiperfifo.c:427,1
    - Dst: init_fifo
      Src: /src/curl/docs/examples/hiperfifo.c:428,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/hiperfifo.c:429,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/hiperfifo.c:432,1
    - Dst: evtimer_assign
      Src: /src/curl/docs/examples/hiperfifo.c:433,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:436,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:437,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:438,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/hiperfifo.c:439,1
    - Dst: event_base_dispatch
      Src: /src/curl/docs/examples/hiperfifo.c:444,1
    - Dst: clean_fifo
      Src: /src/curl/docs/examples/hiperfifo.c:449,1
    - Dst: event_del
      Src: /src/curl/docs/examples/hiperfifo.c:450,1
    - Dst: event_base_free
      Src: /src/curl/docs/examples/hiperfifo.c:451,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/hiperfifo.c:452,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/hiperfifo.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 455
    functionName: main
    functionSourceFile: /src/curl/docs/examples/hiperfifo.c
    functionUses: 0
    functionsReached:
    - clean_fifo
    - curl_multi_setopt
    - curl_global_cleanup
    - curl_multi_cleanup
    - event_base_free
    - event_base_dispatch
    - curl_global_init
    - memset
    - event_del
    - evtimer_assign
    - init_fifo
    - event_base_new
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-list.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-list.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-list.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-list.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-list.c:56,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-list.c:59,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-list.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-list.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-list.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-list.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-list.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-noop.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-noop.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-noop.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-noop.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-noop.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-noop.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-noop.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-noop.c:63,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-noop.c:67,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-noop.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-noop.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-noop.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-noop.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: WriteCallback
    functionSourceFile: /src/curl/docs/examples/chkspeed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t WriteCallback(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/chkspeed.c:79,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/chkspeed.c:85,1
    - Dst: curl_version
      Src: /src/curl/docs/examples/chkspeed.c:86,1
    - Dst: atoi
      Src: /src/curl/docs/examples/chkspeed.c:103,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/chkspeed.c:127,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/chkspeed.c:133,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/chkspeed.c:137,1
    - Dst: printf
      Src: /src/curl/docs/examples/chkspeed.c:150,1
    - Dst: time
      Src: /src/curl/docs/examples/chkspeed.c:154,1
    - Dst: printf
      Src: /src/curl/docs/examples/chkspeed.c:155,1
    - Dst: ctime
      Src: /src/curl/docs/examples/chkspeed.c:155,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/chkspeed.c:159,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/chkspeed.c:164,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/chkspeed.c:168,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/chkspeed.c:171,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/chkspeed.c:175,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/chkspeed.c:179,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/chkspeed.c:185,1
    - Dst: printf
      Src: /src/curl/docs/examples/chkspeed.c:187,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/chkspeed.c:190,1
    - Dst: printf
      Src: /src/curl/docs/examples/chkspeed.c:192,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/chkspeed.c:197,1
    - Dst: printf
      Src: /src/curl/docs/examples/chkspeed.c:199,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/chkspeed.c:204,1
    - Dst: printf
      Src: /src/curl/docs/examples/chkspeed.c:206,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/chkspeed.c:211,1
    - Dst: printf
      Src: /src/curl/docs/examples/chkspeed.c:213,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/chkspeed.c:219,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/chkspeed.c:220,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/chkspeed.c:224,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/chkspeed.c:228,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 107
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 231
    functionName: main
    functionSourceFile: /src/curl/docs/examples/chkspeed.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - ctime
    - printf
    - curl_global_init
    - curl_easy_getinfo
    - atoi
    - curl_easy_init
    - curl_easy_setopt
    - curl_version
    - time
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/shared-connection-cache.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - data
    - laccess
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - curl_lock_access
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: my_lock
    functionSourceFile: /src/curl/docs/examples/shared-connection-cache.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void my_lock(CURL *handle, curl_lock_data data,\n                    curl_lock_access
      laccess, void *useptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/shared-connection-cache.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - data
    - useptr
    argTypes:
    - CURL*
    - curl_lock_data
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: my_unlock
    functionSourceFile: /src/curl/docs/examples/shared-connection-cache.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void my_unlock(CURL *handle, curl_lock_data data, void *useptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/shared-connection-cache.c:54,1
    - Dst: curl_share_init
      Src: /src/curl/docs/examples/shared-connection-cache.c:58,1
    - Dst: curl_share_setopt
      Src: /src/curl/docs/examples/shared-connection-cache.c:59,1
    - Dst: curl_share_setopt
      Src: /src/curl/docs/examples/shared-connection-cache.c:61,1
    - Dst: curl_share_setopt
      Src: /src/curl/docs/examples/shared-connection-cache.c:62,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/shared-connection-cache.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/shared-connection-cache.c:70,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/shared-connection-cache.c:73,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/shared-connection-cache.c:76,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/shared-connection-cache.c:79,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/shared-connection-cache.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/shared-connection-cache.c:83,1
    - Dst: curl_share_cleanup
      Src: /src/curl/docs/examples/shared-connection-cache.c:87,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/shared-connection-cache.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/curl/docs/examples/shared-connection-cache.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_share_init
    - curl_share_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_share_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/http-post.c:37,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/http-post.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http-post.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http-post.c:49,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/http-post.c:52,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http-post.c:55,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/http-post.c:56,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/http-post.c:59,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http-post.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/curl/docs/examples/http-post.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/smtp-ssl.c:77,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/smtp-ssl.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: payload_source
    functionSourceFile: /src/curl/docs/examples/smtp-ssl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/smtp-ssl.c:93,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/smtp-ssl.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:108,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:119,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:127,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:137,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-ssl.c:142,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-ssl.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:144,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:149,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:150,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:151,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-ssl.c:156,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/smtp-ssl.c:159,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smtp-ssl.c:163,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/smtp-ssl.c:164,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/smtp-ssl.c:167,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/smtp-ssl.c:170,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/smtp-ssl.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/curl/docs/examples/smtp-ssl.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-retr.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-retr.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-retr.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-retr.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-retr.c:54,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-retr.c:57,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-retr.c:61,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-retr.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-retr.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-retr.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-retr.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/threaded-ssl.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/threaded-ssl.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/threaded-ssl.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/threaded-ssl.c:67,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/threaded-ssl.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/threaded-ssl.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pindex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: pull_one_url
    functionSourceFile: /src/curl/docs/examples/threaded-ssl.c
    functionUses: 0
    functionsReached:
    - curl_easy_init
    - curl_easy_setopt
    - curl_easy_perform
    - curl_easy_cleanup
    linkageType: ''
    returnType: void
    signature: void *pull_one_url(void *pindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/threaded-ssl.c:84,1
    - Dst: pthread_create
      Src: /src/curl/docs/examples/threaded-ssl.c:89,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/threaded-ssl.c:94,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/threaded-ssl.c:96,1
    - Dst: pthread_join
      Src: /src/curl/docs/examples/threaded-ssl.c:101,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/threaded-ssl.c:102,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/threaded-ssl.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/curl/docs/examples/threaded-ssl.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: strerror
    functionSourceFile: /src/curl/docs/examples/http2-upload.c
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: gettimeofday
    functionSourceFile: /src/curl/docs/examples/http2-upload.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettimeofday(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/curl/docs/examples/http2-upload.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tp
    - tzp
    argTypes:
    - struct timeval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: my_gettimeofday
    functionSourceFile: /src/curl/docs/examples/http2-upload.c
    functionUses: 0
    functionsReached:
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int my_gettimeofday(struct timeval *tp, void *tzp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-upload.c:108,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-upload.c:113,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-upload.c:119,1
    - Dst: fputs
      Src: /src/curl/docs/examples/http2-upload.c:121,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-upload.c:131,1
    - Dst: fputc
      Src: /src/curl/docs/examples/http2-upload.c:140,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - text
    - num
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - int
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 142
    functionName: dump
    functionSourceFile: /src/curl/docs/examples/http2-upload.c
    functionUses: 6
    functionsReached:
    - fputc
    - fputs
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump(const char *text, int num, unsigned char *ptr, size_t size,\n
      \                char nohex)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/curl/docs/examples/http2-upload.c:158,1
    - Dst: time
      Src: /src/curl/docs/examples/http2-upload.c:160,1
    - Dst: localtime
      Src: /src/curl/docs/examples/http2-upload.c:164,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/http2-upload.c:165,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-upload.c:170,1
    - Dst: dump
      Src: /src/curl/docs/examples/http2-upload.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 196
    functionName: my_trace
    functionSourceFile: /src/curl/docs/examples/http2-upload.c
    functionUses: 0
    functionsReached:
    - localtime
    - snprintf
    - fprintf
    - gettimeofday
    - dump
    - time
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *handle, curl_infotype type, char *data,\n                    size_t
      size, void *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/curl/docs/examples/http2-upload.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: read_callback
    functionSourceFile: /src/curl/docs/examples/http2-upload.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t read_callback(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/curl/docs/examples/http2-upload.c:304,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/http2-upload.c:316,1
    - Dst: memset
      Src: /src/curl/docs/examples/http2-upload.c:320,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/http2-upload.c:323,1
    - Dst: setup
      Src: /src/curl/docs/examples/http2-upload.c:329,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http2-upload.c:330,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/http2-upload.c:335,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/http2-upload.c:338,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/http2-upload.c:341,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/http2-upload.c:344,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/http2-upload.c:348,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/http2-upload.c:356,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/http2-upload.c:358,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/http2-upload.c:362,1
    - Dst: fclose
      Src: /src/curl/docs/examples/http2-upload.c:365,1
    - Dst: fclose
      Src: /src/curl/docs/examples/http2-upload.c:367,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http2-upload.c:370,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 373
    functionName: main
    functionSourceFile: /src/curl/docs/examples/http2-upload.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - fclose
    - curl_multi_remove_handle
    - setup
    - curl_multi_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_multi_cleanup
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - memset
    - atoi
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/http3-present.c:35,1
    - Dst: curl_version_info
      Src: /src/curl/docs/examples/http3-present.c:39,1
    - Dst: printf
      Src: /src/curl/docs/examples/http3-present.c:41,1
    - Dst: printf
      Src: /src/curl/docs/examples/http3-present.c:44,1
    - Dst: printf
      Src: /src/curl/docs/examples/http3-present.c:47,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http3-present.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/curl/docs/examples/http3-present.c
    functionUses: 0
    functionsReached:
    - curl_version_info
    - printf
    - curl_global_init
    - curl_global_cleanup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-authzid.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-authzid.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-authzid.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-authzid.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-authzid.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-authzid.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-authzid.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-authzid.c:64,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-authzid.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-authzid.c:69,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-authzid.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-authzid.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-authzid.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: strerror
    functionSourceFile: /src/curl/docs/examples/externalsocket.c
    functionUses: 134
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/externalsocket.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: write_data
    functionSourceFile: /src/curl/docs/examples/externalsocket.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/externalsocket.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - clientp
    - item
    argTypes:
    - void*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: closecb
    functionSourceFile: /src/curl/docs/examples/externalsocket.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int closecb(void *clientp, curl_socket_t item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - clientp
    - purpose
    - address
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: opensocket
    functionSourceFile: /src/curl/docs/examples/externalsocket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t opensocket(void *clientp,\n                                curlsocktype
      purpose,\n                                struct curl_sockaddr *address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - clientp
    - curlfd
    - purpose
    argTypes:
    - void*
    - curl_socket_t
    - curlsocktype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: sockopt_callback
    functionSourceFile: /src/curl/docs/examples/externalsocket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int sockopt_callback(void *clientp, curl_socket_t curlfd,\n                            curlsocktype
      purpose)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/externalsocket.c:106,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/externalsocket.c:110,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/externalsocket.c:116,1
    - Dst: socket
      Src: /src/curl/docs/examples/externalsocket.c:119,1
    - Dst: printf
      Src: /src/curl/docs/examples/externalsocket.c:121,1
    - Dst: memset
      Src: /src/curl/docs/examples/externalsocket.c:125,1
    - Dst: htons
      Src: /src/curl/docs/examples/externalsocket.c:127,1
    - Dst: inet_addr
      Src: /src/curl/docs/examples/externalsocket.c:129,1
    - Dst: close
      Src: /src/curl/docs/examples/externalsocket.c:131,1
    - Dst: connect
      Src: /src/curl/docs/examples/externalsocket.c:135,1
    - Dst: close
      Src: /src/curl/docs/examples/externalsocket.c:137,1
    - Dst: printf
      Src: /src/curl/docs/examples/externalsocket.c:138,1
    - Dst: strerror
      Src: /src/curl/docs/examples/externalsocket.c:138,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/externalsocket.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/externalsocket.c:146,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/externalsocket.c:149,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/externalsocket.c:150,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/externalsocket.c:153,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/externalsocket.c:154,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/externalsocket.c:157,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/externalsocket.c:159,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/externalsocket.c:161,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/externalsocket.c:163,1
    - Dst: close
      Src: /src/curl/docs/examples/externalsocket.c:165,1
    - Dst: printf
      Src: /src/curl/docs/examples/externalsocket.c:168,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/externalsocket.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/curl/docs/examples/externalsocket.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - socket
    - strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - printf
    - curl_global_init
    - memset
    - inet_addr
    - htons
    - curl_easy_init
    - curl_easy_setopt
    - close
    - connect
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/simple.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/simple.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simple.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simple.c:43,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/simple.c:46,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/simple.c:49,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/simple.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/simple.c:53,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/simple.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/curl/docs/examples/simple.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_meta
      Src: /src/curl/docs/examples/websocket-cb.c:35,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-cb.c:36,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-cb.c:38,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-cb.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - b
    - size
    - nitems
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: writecb
    functionSourceFile: /src/curl/docs/examples/websocket-cb.c
    functionUses: 0
    functionsReached:
    - curl_ws_meta
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t writecb(char *b, size_t size, size_t nitems, void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/websocket-cb.c:48,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/websocket-cb.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-cb.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-cb.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-cb.c:58,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/websocket-cb.c:61,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-cb.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/websocket-cb.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/websocket-cb.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/websocket-cb.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/curl/docs/examples/websocket-cb.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-multi.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-multi.c:47,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/imap-multi.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-multi.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-multi.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-multi.c:60,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/imap-multi.c:64,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/imap-multi.c:67,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/imap-multi.c:71,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/imap-multi.c:78,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/imap-multi.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-multi.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-multi.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-multi.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/persistent.c:36,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/persistent.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/persistent.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/persistent.c:43,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/persistent.c:46,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/persistent.c:49,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/persistent.c:52,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/persistent.c:53,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/persistent.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/persistent.c:60,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/persistent.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/persistent.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/persistent.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/persistent.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/curl/docs/examples/persistent.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/debug.c:47,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/debug.c:52,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/debug.c:58,1
    - Dst: fputs
      Src: /src/curl/docs/examples/debug.c:60,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/debug.c:70,1
    - Dst: fputc
      Src: /src/curl/docs/examples/debug.c:79,1
    - Dst: fflush
      Src: /src/curl/docs/examples/debug.c:81,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 5
    argNames:
    - text
    - stream
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - FILE*
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 82
    functionName: dump
    functionSourceFile: /src/curl/docs/examples/debug.c
    functionUses: 7
    functionsReached:
    - fputc
    - fputs
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump(const char *text, FILE *stream, unsigned char *ptr,\n                 size_t
      size, char nohex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/debug.c:93,1
    - Dst: dump
      Src: /src/curl/docs/examples/debug.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: my_trace
    functionSourceFile: /src/curl/docs/examples/debug.c
    functionUses: 0
    functionsReached:
    - dump
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *handle, curl_infotype type,\n                    char
      *data, size_t size, void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/debug.c:127,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/debug.c:133,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/debug.c:135,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/debug.c:136,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/debug.c:139,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/debug.c:142,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/debug.c:144,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/debug.c:145,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/debug.c:148,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/debug.c:149,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/debug.c:152,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/debug.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/curl/docs/examples/debug.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multi-double.c:42,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-double.c:46,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-double.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-double.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-double.c:58,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/multi-double.c:61,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-double.c:67,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-double.c:68,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/multi-double.c:74,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/multi-double.c:78,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/multi-double.c:84,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-double.c:88,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/multi-double.c:94,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/multi-double.c:95,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/multi-double.c:97,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-double.c:101,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-double.c:102,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multi-double.c:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multi-double.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/altsvc.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/altsvc.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/altsvc.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/altsvc.c:44,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/altsvc.c:47,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/altsvc.c:51,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/altsvc.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/altsvc.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/altsvc.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/altsvc.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/curl/docs/examples/altsvc.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/curl/docs/examples/ftpuploadresume.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: getcontentlengthfunc
    functionSourceFile: /src/curl/docs/examples/ftpuploadresume.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: size_t
    signature: "size_t getcontentlengthfunc(void *ptr, size_t size, size_t nmemb,\n
      \                                  void *stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: discardfunc
    functionSourceFile: /src/curl/docs/examples/ftpuploadresume.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t discardfunc(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/curl/docs/examples/ftpuploadresume.c:61,1
    - Dst: fread
      Src: /src/curl/docs/examples/ftpuploadresume.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: readfunc
    functionSourceFile: /src/curl/docs/examples/ftpuploadresume.c
    functionUses: 0
    functionsReached:
    - ferror
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t readfunc(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/docs/examples/ftpuploadresume.c:78,1
    - Dst: perror
      Src: /src/curl/docs/examples/ftpuploadresume.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:88,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:91,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:109,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:122,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:123,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ftpuploadresume.c:125,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:129,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:130,1
    - Dst: fseek
      Src: /src/curl/docs/examples/ftpuploadresume.c:132,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:134,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadresume.c:137,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ftpuploadresume.c:140,1
    - Dst: fclose
      Src: /src/curl/docs/examples/ftpuploadresume.c:143,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ftpuploadresume.c:148,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/ftpuploadresume.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 5
    argNames:
    - curlhandle
    - remotepath
    - localpath
    - timeout
    - tries
    argTypes:
    - CURL*
    - char*
    - char*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 151
    functionName: upload
    functionSourceFile: /src/curl/docs/examples/ftpuploadresume.c
    functionUses: 3
    functionsReached:
    - fclose
    - curl_easy_perform
    - curl_easy_strerror
    - fopen
    - fprintf
    - perror
    - fseek
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: "int upload(CURL *curlhandle, const char *remotepath,\n                  const
      char *localpath, long timeout, long tries)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ftpuploadresume.c:157,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ftpuploadresume.c:161,1
    - Dst: upload
      Src: /src/curl/docs/examples/ftpuploadresume.c:164,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ftpuploadresume.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftpuploadresume.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ftpuploadresume.c
    functionUses: 0
    functionsReached:
    - upload
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/simplepost.c:38,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/simplepost.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplepost.c:44,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplepost.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplepost.c:48,1
    - Dst: strlen
      Src: /src/curl/docs/examples/simplepost.c:48,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/simplepost.c:51,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/simplepost.c:54,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/simplepost.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/simplepost.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/simplepost.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/curl/docs/examples/simplepost.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - strlen
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/ftpgetresp.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: write_response
    functionSourceFile: /src/curl/docs/examples/ftpgetresp.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_response(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ftpgetresp.c:49,1
    - Dst: fopen
      Src: /src/curl/docs/examples/ftpgetresp.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftpgetresp.c:56,1
    - Dst: fopen
      Src: /src/curl/docs/examples/ftpgetresp.c:61,1
    - Dst: fclose
      Src: /src/curl/docs/examples/ftpgetresp.c:63,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftpgetresp.c:64,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ftpgetresp.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpgetresp.c:71,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpgetresp.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpgetresp.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpgetresp.c:76,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ftpgetresp.c:77,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ftpgetresp.c:80,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/ftpgetresp.c:81,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ftpgetresp.c:84,1
    - Dst: fclose
      Src: /src/curl/docs/examples/ftpgetresp.c:87,1
    - Dst: fclose
      Src: /src/curl/docs/examples/ftpgetresp.c:88,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftpgetresp.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ftpgetresp.c
    functionUses: 0
    functionsReached:
    - fclose
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fopen
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/keepalive.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/keepalive.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/keepalive.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/keepalive.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/keepalive.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/keepalive.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/keepalive.c:53,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/keepalive.c:55,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/keepalive.c:57,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/keepalive.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/curl/docs/examples/keepalive.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-tls.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-tls.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-tls.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-tls.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-tls.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-tls.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-tls.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-tls.c:81,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-tls.c:84,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-tls.c:88,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-tls.c:89,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-tls.c:92,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-tls.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-tls.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/postit2.c:50,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/postit2.c:54,1
    - Dst: curl_mime_init
      Src: /src/curl/docs/examples/postit2.c:62,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/postit2.c:65,1
    - Dst: curl_mime_name
      Src: /src/curl/docs/examples/postit2.c:66,1
    - Dst: curl_mime_filedata
      Src: /src/curl/docs/examples/postit2.c:67,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/postit2.c:70,1
    - Dst: curl_mime_name
      Src: /src/curl/docs/examples/postit2.c:71,1
    - Dst: curl_mime_data
      Src: /src/curl/docs/examples/postit2.c:72,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/postit2.c:75,1
    - Dst: curl_mime_name
      Src: /src/curl/docs/examples/postit2.c:76,1
    - Dst: curl_mime_data
      Src: /src/curl/docs/examples/postit2.c:77,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/postit2.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postit2.c:83,1
    - Dst: strcmp
      Src: /src/curl/docs/examples/postit2.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postit2.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postit2.c:87,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/postit2.c:90,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/postit2.c:93,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/postit2.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/postit2.c:97,1
    - Dst: curl_mime_free
      Src: /src/curl/docs/examples/postit2.c:100,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/postit2.c:102,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/postit2.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/curl/docs/examples/postit2.c
    functionUses: 0
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - strcmp
    - curl_mime_name
    - curl_mime_data
    - curl_global_init
    - curl_mime_free
    - curl_easy_init
    - curl_easy_setopt
    - curl_mime_filedata
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/connect-to.c:36,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/connect-to.c:48,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/connect-to.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/connect-to.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/connect-to.c:53,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/connect-to.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/connect-to.c:59,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/connect-to.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/connect-to.c:67,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/connect-to.c:70,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/connect-to.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/curl/docs/examples/connect-to.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-authzid.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-authzid.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-authzid.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-authzid.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-authzid.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-authzid.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-authzid.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-authzid.c:63,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-authzid.c:67,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-authzid.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-authzid.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-authzid.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-authzid.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: read_callback
    functionSourceFile: /src/curl/docs/examples/ftpuploadfrommem.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_callback(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:77,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:80,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:83,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:84,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:89,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:108,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:111,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:115,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:118,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:119,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:122,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftpuploadfrommem.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ftpuploadfrommem.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/interface.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/interface.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/interface.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/interface.c:46,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/interface.c:48,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/interface.c:51,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/interface.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/curl/docs/examples/interface.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/imap-append.c:75,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/imap-append.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: payload_source
    functionSourceFile: /src/curl/docs/examples/imap-append.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-append.c:91,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-append.c:95,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-append.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-append.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-append.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-append.c:111,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-append.c:112,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-append.c:113,1
    - Dst: strlen
      Src: /src/curl/docs/examples/imap-append.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-append.c:118,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-append.c:121,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-append.c:125,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-append.c:126,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-append.c:129,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-append.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-append.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - strlen
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/unixsocket.c:45,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/unixsocket.c:49,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/unixsocket.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/unixsocket.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/unixsocket.c:56,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/unixsocket.c:60,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/unixsocket.c:63,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/unixsocket.c:64,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/unixsocket.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/unixsocket.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/curl/docs/examples/unixsocket.c
    functionUses: 0
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: write_file
    functionSourceFile: /src/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_file(void *ptr, size_t size, size_t nmemb, FILE *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:72,1
    - Dst: printf
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:74,1
    - Dst: fopen
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:83,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:84,1
    - Dst: fclose
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:86,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - http
    - j
    argTypes:
    - gchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: run_one
    functionSourceFile: /src/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - fclose
    - curl_easy_perform
    - curl_easy_cleanup
    - fopen
    - printf
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void run_one(gchar *http, int j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:95,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:99,1
    - Dst: g_strdup_printf
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:100,1
    - Dst: run_one
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:102,1
    - Dst: g_free
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:103,1
    - Dst: pthread_mutex_lock
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:105,1
    - Dst: pthread_mutex_unlock
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - NaN
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: pull_one_url
    functionSourceFile: /src/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - g_free
    - run_one
    - g_strdup_printf
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void *pull_one_url(void *NaN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdk_threads_enter
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:114,1
    - Dst: gtk_progress_bar_pulse
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:115,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:115,1
    - Dst: gdk_threads_leave
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: pulse_bar
    functionSourceFile: /src/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - gtk_progress_bar_pulse
    - gdk_threads_leave
    - gdk_threads_enter
    - GTK_PROGRESS_BAR
    linkageType: ''
    returnType: gboolean
    signature: gboolean pulse_bar(gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:131,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:136,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:138,1
    - Dst: pthread_join
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:143,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:144,1
    - Dst: g_source_remove
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:149,1
    - Dst: GPOINTER_TO_INT
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:149,1
    - Dst: g_object_get_data
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:149,1
    - Dst: G_OBJECT
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:149,1
    - Dst: gtk_widget_destroy
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - progress_bar
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 161
    functionName: create_thread
    functionSourceFile: /src/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - g_object_get_data
    - gtk_widget_destroy
    - pthread_create
    - g_source_remove
    - fprintf
    - GPOINTER_TO_INT
    - pthread_join
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: void *create_thread(void *progress_bar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_main_quit
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - window
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: cb_delete
    functionSourceFile: /src/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 0
    functionsReached:
    - gtk_main_quit
    linkageType: ''
    returnType: gboolean
    signature: gboolean cb_delete(GtkWidget *window, gpointer data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:174,1
    - Dst: g_thread_init
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:179,1
    - Dst: gdk_threads_init
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:180,1
    - Dst: gdk_threads_enter
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:181,1
    - Dst: gtk_init
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:183,1
    - Dst: gtk_window_new
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:186,1
    - Dst: gtk_frame_new
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:189,1
    - Dst: gtk_frame_set_shadow_type
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:190,1
    - Dst: GTK_FRAME
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:190,1
    - Dst: gtk_container_add
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:191,1
    - Dst: GTK_CONTAINER
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:191,1
    - Dst: gtk_frame_new
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:194,1
    - Dst: gtk_frame_set_shadow_type
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:195,1
    - Dst: GTK_FRAME
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:195,1
    - Dst: gtk_container_set_border_width
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:196,1
    - Dst: GTK_CONTAINER
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:196,1
    - Dst: gtk_container_add
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:197,1
    - Dst: GTK_CONTAINER
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:197,1
    - Dst: gtk_progress_bar_new
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:200,1
    - Dst: gtk_progress_bar_pulse
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:201,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:201,1
    - Dst: g_timeout_add
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:203,1
    - Dst: g_object_set_data
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:204,1
    - Dst: G_OBJECT
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:204,1
    - Dst: GINT_TO_POINTER
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:205,1
    - Dst: gtk_container_add
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:206,1
    - Dst: GTK_CONTAINER
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:206,1
    - Dst: gtk_widget_show_all
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:208,1
    - Dst: printf
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:209,1
    - Dst: g_signal_connect
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:211,1
    - Dst: G_OBJECT
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:211,1
    - Dst: G_CALLBACK
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:212,1
    - Dst: g_thread_create
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:214,1
    - Dst: g_warning
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:215,1
    - Dst: gtk_main
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:217,1
    - Dst: gdk_threads_leave
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:218,1
    - Dst: printf
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:219,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/smooth-gtk-thread.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 224
    functionName: main
    functionSourceFile: /src/curl/docs/examples/smooth-gtk-thread.c
    functionUses: 1
    functionsReached:
    - g_thread_create
    - gtk_window_new
    - gdk_threads_enter
    - gtk_container_set_border_width
    - GINT_TO_POINTER
    - G_OBJECT
    - g_timeout_add
    - g_thread_init
    - gtk_frame_set_shadow_type
    - gtk_widget_show_all
    - curl_global_cleanup
    - gdk_threads_init
    - gtk_progress_bar_pulse
    - g_warning
    - gdk_threads_leave
    - g_object_set_data
    - GTK_PROGRESS_BAR
    - printf
    - curl_global_init
    - gtk_progress_bar_new
    - GTK_FRAME
    - GTK_CONTAINER
    - g_signal_connect
    - G_CALLBACK
    - gtk_frame_new
    - gtk_main
    - gtk_init
    - gtk_container_add
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/url2file.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: write_data
    functionSourceFile: /src/curl/docs/examples/url2file.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/url2file.c:47,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/url2file.c:51,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/url2file.c:53,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/url2file.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/url2file.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/url2file.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/url2file.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/url2file.c:72,1
    - Dst: fopen
      Src: /src/curl/docs/examples/url2file.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/url2file.c:79,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/url2file.c:82,1
    - Dst: fclose
      Src: /src/curl/docs/examples/url2file.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/url2file.c:89,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/url2file.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/curl/docs/examples/url2file.c
    functionUses: 1
    functionsReached:
    - fclose
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - fopen
    - fprintf
    - printf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-search.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-search.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-search.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-search.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-search.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-search.c:61,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-search.c:64,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-search.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-search.c:69,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-search.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-search.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-search.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/getredirect.c:38,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/getredirect.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/getredirect.c:44,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/getredirect.c:49,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/getredirect.c:52,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/getredirect.c:53,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/getredirect.c:55,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/getredirect.c:59,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/getredirect.c:62,1
    - Dst: printf
      Src: /src/curl/docs/examples/getredirect.c:67,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/getredirect.c:73,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/getredirect.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/curl/docs/examples/getredirect.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - printf
    - curl_global_init
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/smtp-expn.c:46,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/smtp-expn.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-expn.c:55,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-expn.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-expn.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-expn.c:62,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/smtp-expn.c:65,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smtp-expn.c:69,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/smtp-expn.c:70,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/smtp-expn.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/smtp-expn.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/smtp-expn.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/curl/docs/examples/smtp-expn.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multi-single.c:42,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-single.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-single.c:53,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/multi-single.c:56,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-single.c:60,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/multi-single.c:63,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/multi-single.c:67,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-single.c:70,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/multi-single.c:76,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/multi-single.c:78,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-single.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multi-single.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multi-single.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: my_fwrite
    functionSourceFile: /src/curl/docs/examples/ftp-delete.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ftp-delete.c:46,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ftp-delete.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-delete.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-delete.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-delete.c:60,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/ftp-delete.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-delete.c:66,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ftp-delete.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ftp-delete.c:71,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/ftp-delete.c:74,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ftp-delete.c:78,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftp-delete.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ftp-delete.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/usercertinmem.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: writefunction
    functionSourceFile: /src/curl/docs/examples/usercertinmem.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/curl/docs/examples/usercertinmem.c:102,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:105,1
    - Dst: PEM_read_bio_X509
      Src: /src/curl/docs/examples/usercertinmem.c:111,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:113,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/curl/docs/examples/usercertinmem.c:117,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:119,1
    - Dst: BIO_new_mem_buf
      Src: /src/curl/docs/examples/usercertinmem.c:123,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:125,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/curl/docs/examples/usercertinmem.c:129,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:131,1
    - Dst: SSL_CTX_use_RSAPrivateKey
      Src: /src/curl/docs/examples/usercertinmem.c:135,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:137,1
    - Dst: BIO_free
      Src: /src/curl/docs/examples/usercertinmem.c:142,1
    - Dst: BIO_free
      Src: /src/curl/docs/examples/usercertinmem.c:145,1
    - Dst: RSA_free
      Src: /src/curl/docs/examples/usercertinmem.c:148,1
    - Dst: X509_free
      Src: /src/curl/docs/examples/usercertinmem.c:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - curl
    - sslctx
    - pointer
    argTypes:
    - CURL*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 155
    functionName: sslctx_function
    functionSourceFile: /src/curl/docs/examples/usercertinmem.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_RSAPrivateKey
    - BIO_free
    - BIO_new_mem_buf
    - SSL_CTX_use_certificate
    - SSL_CTX_use_RSAPrivateKey
    - RSA_free
    - PEM_read_bio_X509
    - X509_free
    - printf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sslctx_function(CURL *curl, void *sslctx, void *pointer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/usercertinmem.c:161,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/usercertinmem.c:165,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:167,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:168,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:169,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:170,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:171,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:172,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:173,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:174,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:175,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:180,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:181,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:182,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:183,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/usercertinmem.c:186,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:188,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:190,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/usercertinmem.c:196,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/usercertinmem.c:197,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:199,1
    - Dst: printf
      Src: /src/curl/docs/examples/usercertinmem.c:201,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/usercertinmem.c:203,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/usercertinmem.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/curl/docs/examples/usercertinmem.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - printf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:54,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:59,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:65,1
    - Dst: fputs
      Src: /src/curl/docs/examples/http2-serverpush.c:67,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:77,1
    - Dst: fputc
      Src: /src/curl/docs/examples/http2-serverpush.c:86,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 4
    argNames:
    - text
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: dump
    functionSourceFile: /src/curl/docs/examples/http2-serverpush.c
    functionUses: 8
    functionsReached:
    - fputc
    - fputs
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump(const char *text, unsigned char *ptr, size_t size, char nohex)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:98,1
    - Dst: dump
      Src: /src/curl/docs/examples/http2-serverpush.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 124
    functionName: my_trace
    functionSourceFile: /src/curl/docs/examples/http2-serverpush.c
    functionUses: 0
    functionsReached:
    - dump
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *handle, curl_infotype type,\n                    char
      *data, size_t size, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/docs/examples/http2-serverpush.c:130,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:136,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:139,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:142,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:146,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:149,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:150,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - hnd
    - url
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 157
    functionName: setup
    functionSourceFile: /src/curl/docs/examples/http2-serverpush.c
    functionUses: 12
    functionsReached:
    - curl_easy_setopt
    - fopen
    linkageType: ''
    returnType: int
    signature: int setup(CURL *hnd, const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:175,1
    - Dst: fopen
      Src: /src/curl/docs/examples/http2-serverpush.c:178,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:181,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:186,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:188,1
    - Dst: curl_pushheader_bynum
      Src: /src/curl/docs/examples/http2-serverpush.c:192,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:193,1
    - Dst: curl_pushheader_byname
      Src: /src/curl/docs/examples/http2-serverpush.c:196,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - parent
    - easy
    - num_headers
    - headers
    - userp
    argTypes:
    - CURL*
    - CURL*
    - size_t
    - struct curl_pushheaders*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 203
    functionName: server_push_callback
    functionSourceFile: /src/curl/docs/examples/http2-serverpush.c
    functionUses: 0
    functionsReached:
    - curl_pushheader_byname
    - snprintf
    - fopen
    - fprintf
    - curl_easy_setopt
    - curl_pushheader_bynum
    linkageType: ''
    returnType: int
    signature: "int server_push_callback(CURL *parent,\n                                CURL
      *easy,\n                                size_t num_headers,\n                                struct
      curl_pushheaders *headers,\n                                void *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/http2-serverpush.c:220,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/http2-serverpush.c:225,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/http2-serverpush.c:227,1
    - Dst: setup
      Src: /src/curl/docs/examples/http2-serverpush.c:230,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-serverpush.c:231,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http2-serverpush.c:232,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/http2-serverpush.c:237,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:239,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:240,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/http2-serverpush.c:241,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/http2-serverpush.c:246,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/http2-serverpush.c:250,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/http2-serverpush.c:263,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/http2-serverpush.c:267,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/http2-serverpush.c:268,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/http2-serverpush.c:274,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http2-serverpush.c:275,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/curl/docs/examples/http2-serverpush.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_multi_info_read
    - curl_multi_remove_handle
    - setup
    - curl_multi_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_multi_cleanup
    - fprintf
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - curl_easy_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-copy.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-copy.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-copy.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-copy.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-copy.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-copy.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-copy.c:64,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-copy.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-copy.c:69,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-copy.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-copy.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-copy.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multi-legacy.c:57,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-legacy.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-legacy.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-legacy.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-legacy.c:69,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/multi-legacy.c:72,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-legacy.c:82,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/multi-legacy.c:85,1
    - Dst: FD_ZERO
      Src: /src/curl/docs/examples/multi-legacy.c:100,1
    - Dst: FD_ZERO
      Src: /src/curl/docs/examples/multi-legacy.c:101,1
    - Dst: FD_ZERO
      Src: /src/curl/docs/examples/multi-legacy.c:102,1
    - Dst: curl_multi_timeout
      Src: /src/curl/docs/examples/multi-legacy.c:108,1
    - Dst: curl_multi_fdset
      Src: /src/curl/docs/examples/multi-legacy.c:126,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-legacy.c:129,1
    - Dst: Sleep
      Src: /src/curl/docs/examples/multi-legacy.c:141,1
    - Dst: select
      Src: /src/curl/docs/examples/multi-legacy.c:147,1
    - Dst: select
      Src: /src/curl/docs/examples/multi-legacy.c:153,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/multi-legacy.c:162,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/multi-legacy.c:169,1
    - Dst: printf
      Src: /src/curl/docs/examples/multi-legacy.c:182,1
    - Dst: printf
      Src: /src/curl/docs/examples/multi-legacy.c:185,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/multi-legacy.c:191,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-legacy.c:196,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multi-legacy.c:198,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multi-legacy.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_multi_info_read
    - curl_multi_timeout
    - curl_easy_cleanup
    - FD_ZERO
    - curl_multi_cleanup
    - curl_global_cleanup
    - fprintf
    - select
    - printf
    - curl_multi_add_handle
    - curl_global_init
    - Sleep
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    - curl_multi_fdset
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/docs/examples/sslbackend.c:48,1
    - Dst: curl_global_sslset
      Src: /src/curl/docs/examples/sslbackend.c:52,1
    - Dst: assert
      Src: /src/curl/docs/examples/sslbackend.c:53,1
    - Dst: printf
      Src: /src/curl/docs/examples/sslbackend.c:56,1
    - Dst: isdigit
      Src: /src/curl/docs/examples/sslbackend.c:61,1
    - Dst: atoi
      Src: /src/curl/docs/examples/sslbackend.c:62,1
    - Dst: curl_global_sslset
      Src: /src/curl/docs/examples/sslbackend.c:64,1
    - Dst: curl_global_sslset
      Src: /src/curl/docs/examples/sslbackend.c:67,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/sslbackend.c:70,1
    - Dst: assert
      Src: /src/curl/docs/examples/sslbackend.c:74,1
    - Dst: printf
      Src: /src/curl/docs/examples/sslbackend.c:76,1
    - Dst: curl_version
      Src: /src/curl/docs/examples/sslbackend.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (result == CURLSSLSET_UNKNOWN_BACKEND)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/curl/docs/examples/sslbackend.c
    - condition: (result == CURLSSLSET_OK)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/curl/docs/examples/sslbackend.c
    constantsTouched: []
    func_position:
      end: 79
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/curl/docs/examples/sslbackend.c
    functionUses: 1
    functionsReached:
    - curl_global_sslset
    - fprintf
    - strcmp
    - printf
    - isdigit
    - atoi
    - assert
    - curl_version
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_meta
      Src: /src/curl/docs/examples/websocket-updown.c:37,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-updown.c:38,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-updown.c:41,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-updown.c:43,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-updown.c:44,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-updown.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - b
    - size
    - nitems
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: writecb
    functionSourceFile: /src/curl/docs/examples/websocket-updown.c
    functionUses: 0
    functionsReached:
    - curl_ws_meta
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t writecb(char *b, size_t size, size_t nitems, void *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_start_frame
      Src: /src/curl/docs/examples/websocket-updown.c:68,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-updown.c:71,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-updown.c:75,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/websocket-updown.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - nitems
    - buflen
    - p
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: readcb
    functionSourceFile: /src/curl/docs/examples/websocket-updown.c
    functionUses: 0
    functionsReached:
    - curl_ws_start_frame
    - memcpy
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: size_t readcb(char *buf, size_t nitems, size_t buflen, void *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/websocket-updown.c:92,1
    - Dst: memset
      Src: /src/curl/docs/examples/websocket-updown.c:96,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/websocket-updown.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-updown.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-updown.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-updown.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-updown.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-updown.c:107,1
    - Dst: strlen
      Src: /src/curl/docs/examples/websocket-updown.c:110,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/websocket-updown.c:111,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-updown.c:112,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket-updown.c:113,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/websocket-updown.c:117,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket-updown.c:120,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/websocket-updown.c:121,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/websocket-updown.c:124,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/websocket-updown.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/curl/docs/examples/websocket-updown.c
    functionUses: 1
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - memcpy
    - curl_global_init
    - memset
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/getinfo.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/getinfo.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/getinfo.c:41,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/getinfo.c:42,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/getinfo.c:47,1
    - Dst: printf
      Src: /src/curl/docs/examples/getinfo.c:50,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/getinfo.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/getinfo.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/curl/docs/examples/getinfo.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - printf
    - curl_global_init
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/smtp-mail.c:80,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/smtp-mail.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: payload_source
    functionSourceFile: /src/curl/docs/examples/smtp-mail.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/smtp-mail.c:96,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/smtp-mail.c:100,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mail.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mail.c:115,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-mail.c:120,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-mail.c:121,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mail.c:122,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mail.c:127,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mail.c:128,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mail.c:129,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/smtp-mail.c:132,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smtp-mail.c:136,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/smtp-mail.c:137,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/smtp-mail.c:140,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/smtp-mail.c:150,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/smtp-mail.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/curl/docs/examples/smtp-mail.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: COMPARE
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: COMPARE
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: Context
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Context()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/curl/docs/examples/htmltitle.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - data
    - size
    - nmemb
    - writerData
    argTypes:
    - char*
    - size_t
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: writer
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - std::string*::append
    linkageType: ''
    returnType: size_t
    signature: "size_t writer(char *data, size_t size, size_t nmemb,\n                     std::string
      *writerData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/htmltitle.cpp:93,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltitle.cpp:96,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltitle.cpp:100,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltitle.cpp:102,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltitle.cpp:106,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltitle.cpp:108,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltitle.cpp:112,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltitle.cpp:114,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltitle.cpp:118,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltitle.cpp:120,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/htmltitle.cpp:124,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltitle.cpp:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - conn
    - url
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 131
    functionName: init
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 426
    functionsReached:
    - curl_easy_init
    - curl_easy_setopt
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool init(CURL *&conn, const char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/curl/docs/examples/htmltitle.cpp:141,1
    - Dst: COMPARE
      Src: /src/curl/docs/examples/htmltitle.cpp:143,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/curl/docs/examples/htmltitle.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - voidContext
    - name
    - attributes
    argTypes:
    - void*
    - xmlChar*
    - xmlChar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: StartElement
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - COMPARE
    - static_cast<Context *>
    linkageType: ''
    returnType: void
    signature: "void StartElement(void *voidContext,\n                         const
      xmlChar *name,\n                         const xmlChar **attributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/curl/docs/examples/htmltitle.cpp:157,1
    - Dst: COMPARE
      Src: /src/curl/docs/examples/htmltitle.cpp:159,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/curl/docs/examples/htmltitle.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - voidContext
    - name
    argTypes:
    - void*
    - xmlChar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: EndElement
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - COMPARE
    - static_cast<Context *>
    linkageType: ''
    returnType: void
    signature: "void EndElement(void *voidContext,\n                       const xmlChar
      *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context*::title::append
      Src: /src/curl/docs/examples/htmltitle.cpp:172,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/curl/docs/examples/htmltitle.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - context
    - chars
    - length
    argTypes:
    - Context*
    - xmlChar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: handleCharacters
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - Context*::title::append
    linkageType: ''
    returnType: void
    signature: "void handleCharacters(Context *context,\n                             const
      xmlChar *chars,\n                             int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/curl/docs/examples/htmltitle.cpp:184,1
    - Dst: handleCharacters
      Src: /src/curl/docs/examples/htmltitle.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - voidContext
    - chars
    - length
    argTypes:
    - void*
    - xmlChar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: Characters
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 1
    functionsReached:
    - handleCharacters
    - static_cast<Context *>
    linkageType: ''
    returnType: void
    signature: "void Characters(void *voidContext,\n                       const xmlChar
      *chars,\n                       int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Context *>
      Src: /src/curl/docs/examples/htmltitle.cpp:197,1
    - Dst: handleCharacters
      Src: /src/curl/docs/examples/htmltitle.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - voidContext
    - chars
    - length
    argTypes:
    - void*
    - xmlChar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: cdata
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - handleCharacters
    - static_cast<Context *>
    linkageType: ''
    returnType: void
    signature: "void cdata(void *voidContext,\n                  const xmlChar *chars,\n
      \                 int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htmlCreatePushParserCtxt
      Src: /src/curl/docs/examples/htmltitle.cpp:252,1
    - Dst: htmlParseChunk
      Src: /src/curl/docs/examples/htmltitle.cpp:255,1
    - Dst: std::string::c_str
      Src: /src/curl/docs/examples/htmltitle.cpp:255,1
    - Dst: std::string::size
      Src: /src/curl/docs/examples/htmltitle.cpp:255,1
    - Dst: htmlParseChunk
      Src: /src/curl/docs/examples/htmltitle.cpp:256,1
    - Dst: htmlFreeParserCtxt
      Src: /src/curl/docs/examples/htmltitle.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - html
    - title
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: parseHtml
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - htmlFreeParserCtxt
    - htmlCreatePushParserCtxt
    - htmlParseChunk
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void parseHtml(const std::string &html,\n                      std::string
      &title)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltitle.cpp:272,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/htmltitle.cpp:276,1
    - Dst: init
      Src: /src/curl/docs/examples/htmltitle.cpp:282,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltitle.cpp:283,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/htmltitle.cpp:284,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/htmltitle.cpp:290,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/htmltitle.cpp:291,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/htmltitle.cpp:294,1
    - Dst: parseHtml
      Src: /src/curl/docs/examples/htmltitle.cpp:299,1
    - Dst: printf
      Src: /src/curl/docs/examples/htmltitle.cpp:302,1
    - Dst: std::string::c_str
      Src: /src/curl/docs/examples/htmltitle.cpp:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/curl/docs/examples/htmltitle.cpp
    functionUses: 1
    functionsReached:
    - init
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - std::string::c_str
    - fprintf
    - printf
    - curl_global_init
    - parseHtml
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multi-post.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-post.c:47,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/multi-post.c:51,1
    - Dst: curl_mime_init
      Src: /src/curl/docs/examples/multi-post.c:56,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/multi-post.c:59,1
    - Dst: curl_mime_name
      Src: /src/curl/docs/examples/multi-post.c:60,1
    - Dst: curl_mime_filedata
      Src: /src/curl/docs/examples/multi-post.c:61,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/multi-post.c:64,1
    - Dst: curl_mime_name
      Src: /src/curl/docs/examples/multi-post.c:65,1
    - Dst: curl_mime_data
      Src: /src/curl/docs/examples/multi-post.c:66,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/multi-post.c:69,1
    - Dst: curl_mime_name
      Src: /src/curl/docs/examples/multi-post.c:70,1
    - Dst: curl_mime_data
      Src: /src/curl/docs/examples/multi-post.c:71,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/multi-post.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-post.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-post.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-post.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-post.c:83,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-post.c:85,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/multi-post.c:88,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/multi-post.c:92,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/multi-post.c:98,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-post.c:102,1
    - Dst: curl_mime_free
      Src: /src/curl/docs/examples/multi-post.c:106,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/multi-post.c:109,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multi-post.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multi-post.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_mime_init
    - curl_mime_addpart
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_mime_name
    - curl_mime_data
    - curl_global_init
    - curl_multi_add_handle
    - curl_multi_poll
    - curl_mime_free
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    - curl_mime_filedata
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/docs/examples/parseurl.c:42,1
    - Dst: curl_url_set
      Src: /src/curl/docs/examples/parseurl.c:47,1
    - Dst: curl_url_get
      Src: /src/curl/docs/examples/parseurl.c:52,1
    - Dst: printf
      Src: /src/curl/docs/examples/parseurl.c:54,1
    - Dst: curl_free
      Src: /src/curl/docs/examples/parseurl.c:55,1
    - Dst: curl_url_get
      Src: /src/curl/docs/examples/parseurl.c:59,1
    - Dst: printf
      Src: /src/curl/docs/examples/parseurl.c:61,1
    - Dst: curl_free
      Src: /src/curl/docs/examples/parseurl.c:62,1
    - Dst: curl_url_set
      Src: /src/curl/docs/examples/parseurl.c:66,1
    - Dst: curl_url_get
      Src: /src/curl/docs/examples/parseurl.c:71,1
    - Dst: printf
      Src: /src/curl/docs/examples/parseurl.c:73,1
    - Dst: curl_free
      Src: /src/curl/docs/examples/parseurl.c:74,1
    - Dst: curl_url_cleanup
      Src: /src/curl/docs/examples/parseurl.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/curl/docs/examples/parseurl.c
    functionUses: 1
    functionsReached:
    - curl_url_set
    - curl_url_get
    - curl_url
    - curl_free
    - printf
    - curl_url_cleanup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-lsub.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-lsub.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-lsub.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-lsub.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-lsub.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-lsub.c:58,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-lsub.c:61,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-lsub.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-lsub.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-lsub.c:69,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-lsub.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-lsub.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/curl/docs/examples/anyauthput.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - userp
    - offset
    - origin
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: my_seek
    functionSourceFile: /src/curl/docs/examples/anyauthput.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: int
    signature: int my_seek(void *userp, curl_off_t offset, int origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/curl/docs/examples/anyauthput.c:76,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/anyauthput.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: read_callback
    functionSourceFile: /src/curl/docs/examples/anyauthput.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t read_callback(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-multi.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-multi.c:48,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/pop3-multi.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-multi.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-multi.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-multi.c:61,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/pop3-multi.c:64,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/pop3-multi.c:67,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/pop3-multi.c:71,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/pop3-multi.c:79,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/pop3-multi.c:80,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-multi.c:82,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-multi.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-multi.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/httpcustomheader.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/httpcustomheader.c:39,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/httpcustomheader.c:44,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/httpcustomheader.c:47,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/httpcustomheader.c:50,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/httpcustomheader.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/httpcustomheader.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/httpcustomheader.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/httpcustomheader.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/httpcustomheader.c:62,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/httpcustomheader.c:65,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/httpcustomheader.c:66,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/httpcustomheader.c:69,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/httpcustomheader.c:72,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/httpcustomheader.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/curl/docs/examples/httpcustomheader.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/block_ip.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/curl/docs/examples/block_ip.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/docs/examples/block_ip.c:114,1
    - Dst: strchr
      Src: /src/curl/docs/examples/block_ip.c:118,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:122,1
    - Dst: strdup
      Src: /src/curl/docs/examples/block_ip.c:129,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:131,1
    - Dst: strchr
      Src: /src/curl/docs/examples/block_ip.c:136,1
    - Dst: atoi
      Src: /src/curl/docs/examples/block_ip.c:138,1
    - Dst: AF_INET6
      Src: /src/curl/docs/examples/block_ip.c:140,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:144,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:145,1
    - Dst: inet_pton
      Src: /src/curl/docs/examples/block_ip.c:158,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:159,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:160,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - struct ip*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 173
    functionName: ip_list_append
    functionSourceFile: /src/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached:
    - calloc
    - inet_pton
    - strdup
    - strchr
    - free
    - AF_INET6
    - atoi
    linkageType: ''
    returnType: struct ip
    signature: struct ip *ip_list_append(struct ip *list, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:180,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct ip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: ip_list_free_all
    functionSourceFile: /src/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ip_list_free_all(struct ip *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ip_list_free_all
      Src: /src/curl/docs/examples/block_ip.c:189,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct connection_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: free_connection_filter
    functionSourceFile: /src/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached:
    - free
    - ip_list_free_all
    linkageType: ''
    returnType: void
    signature: void free_connection_filter(struct connection_filter *filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ip
    - netaddr
    argTypes:
    - struct ip*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: ip_match
    functionSourceFile: /src/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ip_match(struct ip *ip, void *netaddr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 2
    argNames:
    - family
    - netaddr
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: is_ipv4_mapped_ipv6_address
    functionSourceFile: /src/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ipv4_mapped_ipv6_address(int family, void *netaddr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_ipv4_mapped_ipv6_address
      Src: /src/curl/docs/examples/block_ip.c:257,1
    - Dst: ip_match
      Src: /src/curl/docs/examples/block_ip.c:261,1
    - Dst: ip_match
      Src: /src/curl/docs/examples/block_ip.c:265,1
    - Dst: inet_ntop
      Src: /src/curl/docs/examples/block_ip.c:273,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/block_ip.c:274,1
    - Dst: inet_ntop
      Src: /src/curl/docs/examples/block_ip.c:282,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/block_ip.c:283,1
    - Dst: socket
      Src: /src/curl/docs/examples/block_ip.c:291,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 3
    argNames:
    - clientp
    - purpose
    - address
    argTypes:
    - void*
    - curlsocktype
    - struct curl_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 292
    functionName: opensocket
    functionSourceFile: /src/curl/docs/examples/block_ip.c
    functionUses: 0
    functionsReached:
    - socket
    - is_ipv4_mapped_ipv6_address
    - fprintf
    - inet_ntop
    - ip_match
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t opensocket(void *clientp,\n                                curlsocktype
      purpose,\n                                struct curl_sockaddr *address)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/docs/examples/block_ip.c:300,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/block_ip.c:304,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:306,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/block_ip.c:310,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/block_ip.c:312,1
    - Dst: free
      Src: /src/curl/docs/examples/block_ip.c:313,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/block_ip.c:318,1
    - Dst: ip_list_append
      Src: /src/curl/docs/examples/block_ip.c:325,1
    - Dst: ip_list_append
      Src: /src/curl/docs/examples/block_ip.c:326,1
    - Dst: ip_list_append
      Src: /src/curl/docs/examples/block_ip.c:328,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/block_ip.c:332,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/block_ip.c:333,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/block_ip.c:337,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/block_ip.c:340,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/block_ip.c:344,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/block_ip.c:345,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/block_ip.c:349,1
    - Dst: free_connection_filter
      Src: /src/curl/docs/examples/block_ip.c:350,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/block_ip.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 356
    functionName: main
    functionSourceFile: /src/curl/docs/examples/block_ip.c
    functionUses: 1
    functionsReached:
    - calloc
    - curl_easy_perform
    - curl_easy_strerror
    - ip_list_append
    - curl_easy_cleanup
    - free_connection_filter
    - curl_global_cleanup
    - fprintf
    - free
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: write_cb
    functionSourceFile: /src/curl/docs/examples/10-at-a-time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/10-at-a-time.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/10-at-a-time.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/10-at-a-time.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/10-at-a-time.c:99,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/10-at-a-time.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cm
    - i
    - left
    argTypes:
    - CURLM*
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: add_transfer
    functionSourceFile: /src/curl/docs/examples/10-at-a-time.c
    functionUses: 1
    functionsReached:
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_add_handle
    linkageType: ''
    returnType: void
    signature: void add_transfer(CURLM *cm, unsigned int i, int *left)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/10-at-a-time.c:108,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/10-at-a-time.c:112,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/10-at-a-time.c:120,1
    - Dst: add_transfer
      Src: /src/curl/docs/examples/10-at-a-time.c:124,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/10-at-a-time.c:128,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/10-at-a-time.c:131,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/10-at-a-time.c:135,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/10-at-a-time.c:136,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/10-at-a-time.c:137,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/10-at-a-time.c:138,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/10-at-a-time.c:139,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/10-at-a-time.c:143,1
    - Dst: add_transfer
      Src: /src/curl/docs/examples/10-at-a-time.c:146,1
    - Dst: curl_multi_wait
      Src: /src/curl/docs/examples/10-at-a-time.c:149,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/10-at-a-time.c:153,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/10-at-a-time.c:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/curl/docs/examples/10-at-a-time.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_easy_strerror
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_multi_setopt
    - curl_easy_cleanup
    - add_transfer
    - curl_multi_cleanup
    - fprintf
    - curl_global_cleanup
    - curl_multi_wait
    - curl_global_init
    - curl_easy_getinfo
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/range.c:34,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/range.c:38,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/range.c:40,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/range.c:41,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/range.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/range.c:44,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/range.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/curl/docs/examples/range.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/http-options.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/http-options.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http-options.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http-options.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http-options.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http-options.c:49,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/http-options.c:52,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http-options.c:55,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/http-options.c:56,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/http-options.c:59,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http-options.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/curl/docs/examples/http-options.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/smtp-mime.c:75,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/smtp-mime.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mime.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mime.c:99,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-mime.c:104,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-mime.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mime.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mime.c:109,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-mime.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mime.c:114,1
    - Dst: curl_mime_init
      Src: /src/curl/docs/examples/smtp-mime.c:117,1
    - Dst: curl_mime_init
      Src: /src/curl/docs/examples/smtp-mime.c:121,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/smtp-mime.c:124,1
    - Dst: curl_mime_data
      Src: /src/curl/docs/examples/smtp-mime.c:125,1
    - Dst: curl_mime_type
      Src: /src/curl/docs/examples/smtp-mime.c:126,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/smtp-mime.c:129,1
    - Dst: curl_mime_data
      Src: /src/curl/docs/examples/smtp-mime.c:130,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/smtp-mime.c:133,1
    - Dst: curl_mime_subparts
      Src: /src/curl/docs/examples/smtp-mime.c:134,1
    - Dst: curl_mime_type
      Src: /src/curl/docs/examples/smtp-mime.c:135,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-mime.c:136,1
    - Dst: curl_mime_headers
      Src: /src/curl/docs/examples/smtp-mime.c:137,1
    - Dst: curl_mime_addpart
      Src: /src/curl/docs/examples/smtp-mime.c:140,1
    - Dst: curl_mime_filedata
      Src: /src/curl/docs/examples/smtp-mime.c:141,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-mime.c:142,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/smtp-mime.c:145,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smtp-mime.c:149,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/smtp-mime.c:150,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/smtp-mime.c:153,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/smtp-mime.c:154,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/smtp-mime.c:164,1
    - Dst: curl_mime_free
      Src: /src/curl/docs/examples/smtp-mime.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/smtp-mime.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 173
    functionName: main
    functionSourceFile: /src/curl/docs/examples/smtp-mime.c
    functionUses: 1
    functionsReached:
    - curl_mime_init
    - curl_easy_perform
    - curl_mime_addpart
    - curl_easy_strerror
    - curl_mime_filedata
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_mime_data
    - curl_global_init
    - curl_mime_subparts
    - curl_mime_free
    - curl_easy_init
    - curl_easy_setopt
    - curl_mime_headers
    - curl_mime_type
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/curl/docs/examples/sendrecv.c:61,1
    - Dst: FD_ZERO
      Src: /src/curl/docs/examples/sendrecv.c:62,1
    - Dst: FD_ZERO
      Src: /src/curl/docs/examples/sendrecv.c:63,1
    - Dst: FD_SET
      Src: /src/curl/docs/examples/sendrecv.c:65,1
    - Dst: FD_SET
      Src: /src/curl/docs/examples/sendrecv.c:68,1
    - Dst: FD_SET
      Src: /src/curl/docs/examples/sendrecv.c:71,1
    - Dst: select
      Src: /src/curl/docs/examples/sendrecv.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - sockfd
    - for_recv
    - timeout_ms
    argTypes:
    - curl_socket_t
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: wait_on_socket
    functionSourceFile: /src/curl/docs/examples/sendrecv.c
    functionUses: 0
    functionsReached:
    - select
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: int
    signature: int wait_on_socket(curl_socket_t sockfd, int for_recv, long timeout_ms)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/sendrecv.c:84,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/sendrecv.c:86,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/sendrecv.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sendrecv.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sendrecv.c:105,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/sendrecv.c:106,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:109,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/sendrecv.c:109,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/sendrecv.c:114,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:117,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/sendrecv.c:117,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:121,1
    - Dst: curl_easy_send
      Src: /src/curl/docs/examples/sendrecv.c:130,1
    - Dst: wait_on_socket
      Src: /src/curl/docs/examples/sendrecv.c:134,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:135,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:141,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/sendrecv.c:141,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:145,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:149,1
    - Dst: curl_easy_recv
      Src: /src/curl/docs/examples/sendrecv.c:157,1
    - Dst: wait_on_socket
      Src: /src/curl/docs/examples/sendrecv.c:159,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:160,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:166,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/sendrecv.c:166,1
    - Dst: printf
      Src: /src/curl/docs/examples/sendrecv.c:175,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/sendrecv.c:179,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/sendrecv.c:181,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 183
    functionName: main
    functionSourceFile: /src/curl/docs/examples/sendrecv.c
    functionUses: 1
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - printf
    - wait_on_socket
    - curl_global_init
    - curl_easy_getinfo
    - curl_easy_recv
    - curl_easy_init
    - curl_easy_setopt
    - curl_easy_send
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/docs/examples/multi-uv.c:62,1
    - Dst: uv_poll_init_socket
      Src: /src/curl/docs/examples/multi-uv.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sockfd
    - uv
    argTypes:
    - curl_socket_t
    - struct datauv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: create_curl_context
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - malloc
    - uv_poll_init_socket
    linkageType: ''
    returnType: struct curl_context
    signature: "struct curl_context *create_curl_context(curl_socket_t sockfd,\n                                                struct
      datauv *uv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/docs/examples/multi-uv.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: curl_close_cb
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void curl_close_cb(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_close
      Src: /src/curl/docs/examples/multi-uv.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct curl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: destroy_curl_context
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - uv_close
    linkageType: ''
    returnType: void
    signature: void destroy_curl_context(struct curl_context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/docs/examples/multi-uv.c:90,1
    - Dst: fopen
      Src: /src/curl/docs/examples/multi-uv.c:92,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-uv.c:94,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-uv.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-uv.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-uv.c:100,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-uv.c:101,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-uv.c:102,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-uv.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - url
    - num
    - multi
    argTypes:
    - char*
    - int
    - CURLM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: add_download
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fopen
    - fprintf
    - curl_multi_add_handle
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void add_download(const char *url, int num, CURLM *multi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/multi-uv.c:114,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/multi-uv.c:124,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/multi-uv.c:125,1
    - Dst: printf
      Src: /src/curl/docs/examples/multi-uv.c:126,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/multi-uv.c:128,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-uv.c:129,1
    - Dst: fclose
      Src: /src/curl/docs/examples/multi-uv.c:131,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-uv.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct curl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 140
    functionName: check_multi_info
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 2
    functionsReached:
    - fclose
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    - fprintf
    - printf
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct curl_context *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/multi-uv.c:154,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/multi-uv.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - req
    - status
    - events
    argTypes:
    - uv_poll_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: on_uv_socket
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void on_uv_socket(uv_poll_t *req, int status, int events)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/multi-uv.c:165,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/multi-uv.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: on_uv_timeout
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void on_uv_timeout(uv_timer_t *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_timer_stop
      Src: /src/curl/docs/examples/multi-uv.c:177,1
    - Dst: uv_timer_start
      Src: /src/curl/docs/examples/multi-uv.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: cb_timeout
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - uv_timer_stop
    - uv_timer_start
    linkageType: ''
    returnType: int
    signature: int cb_timeout(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_curl_context
      Src: /src/curl/docs/examples/multi-uv.c:202,1
    - Dst: curl_multi_assign
      Src: /src/curl/docs/examples/multi-uv.c:204,1
    - Dst: uv_poll_start
      Src: /src/curl/docs/examples/multi-uv.c:211,1
    - Dst: uv_poll_stop
      Src: /src/curl/docs/examples/multi-uv.c:215,1
    - Dst: destroy_curl_context
      Src: /src/curl/docs/examples/multi-uv.c:216,1
    - Dst: curl_multi_assign
      Src: /src/curl/docs/examples/multi-uv.c:217,1
    - Dst: abort
      Src: /src/curl/docs/examples/multi-uv.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - easy
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 225
    functionName: cb_socket
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 0
    functionsReached:
    - curl_multi_assign
    - destroy_curl_context
    - uv_poll_start
    - uv_poll_stop
    - create_curl_context
    - abort
    linkageType: ''
    returnType: int
    signature: "int cb_socket(CURL *easy, curl_socket_t s, int action,\n                     void
      *userp, void *socketp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multi-uv.c:236,1
    - Dst: uv_default_loop
      Src: /src/curl/docs/examples/multi-uv.c:240,1
    - Dst: uv_timer_init
      Src: /src/curl/docs/examples/multi-uv.c:241,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/multi-uv.c:243,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/multi-uv.c:245,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/multi-uv.c:246,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/multi-uv.c:247,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/multi-uv.c:248,1
    - Dst: add_download
      Src: /src/curl/docs/examples/multi-uv.c:251,1
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/multi-uv.c:255,1
    - Dst: uv_run
      Src: /src/curl/docs/examples/multi-uv.c:257,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/multi-uv.c:258,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multi-uv.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 263
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multi-uv.c
    functionUses: 1
    functionsReached:
    - curl_multi_setopt
    - uv_run
    - curl_multi_cleanup
    - curl_global_cleanup
    - uv_timer_init
    - uv_default_loop
    - add_download
    - curl_global_init
    - curl_multi_socket_action
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/getreferrer.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/getreferrer.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/getreferrer.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/getreferrer.c:42,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/getreferrer.c:45,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/getreferrer.c:48,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/getreferrer.c:49,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/getreferrer.c:52,1
    - Dst: printf
      Src: /src/curl/docs/examples/getreferrer.c:54,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/getreferrer.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/getreferrer.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/curl/docs/examples/getreferrer.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - printf
    - curl_global_init
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/docs/examples/ftpget.c:43,1
    - Dst: fwrite
      Src: /src/curl/docs/examples/ftpget.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: my_fwrite
    functionSourceFile: /src/curl/docs/examples/ftpget.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fopen
    linkageType: ''
    returnType: size_t
    signature: size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ftpget.c:60,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ftpget.c:64,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpget.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpget.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpget.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpget.c:77,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ftpget.c:79,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ftpget.c:82,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ftpget.c:86,1
    - Dst: fclose
      Src: /src/curl/docs/examples/ftpget.c:91,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftpget.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ftpget.c
    functionUses: 1
    functionsReached:
    - fclose
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-examine.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-examine.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-examine.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-examine.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-examine.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-examine.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-examine.c:60,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-examine.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-examine.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-examine.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-examine.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-examine.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/docs/examples/multi-event.c:50,1
    - Dst: event_new
      Src: /src/curl/docs/examples/multi-event.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: create_curl_context
    functionSourceFile: /src/curl/docs/examples/multi-event.c
    functionUses: 1
    functionsReached:
    - malloc
    - event_new
    linkageType: ''
    returnType: struct curl_context
    signature: struct curl_context *create_curl_context(curl_socket_t sockfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del
      Src: /src/curl/docs/examples/multi-event.c:61,1
    - Dst: event_free
      Src: /src/curl/docs/examples/multi-event.c:62,1
    - Dst: free
      Src: /src/curl/docs/examples/multi-event.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct curl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: destroy_curl_context
    functionSourceFile: /src/curl/docs/examples/multi-event.c
    functionUses: 1
    functionsReached:
    - free
    - event_del
    - event_free
    linkageType: ''
    returnType: void
    signature: void destroy_curl_context(struct curl_context *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/curl/docs/examples/multi-event.c:72,1
    - Dst: fopen
      Src: /src/curl/docs/examples/multi-event.c:74,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-event.c:76,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-event.c:80,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-event.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-event.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-event.c:83,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-event.c:84,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-event.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - url
    - num
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: add_download
    functionSourceFile: /src/curl/docs/examples/multi-event.c
    functionUses: 1
    functionsReached:
    - snprintf
    - fopen
    - fprintf
    - curl_multi_add_handle
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void add_download(const char *url, int num)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/multi-event.c:96,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/multi-event.c:106,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/multi-event.c:107,1
    - Dst: printf
      Src: /src/curl/docs/examples/multi-event.c:108,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/multi-event.c:110,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-event.c:111,1
    - Dst: fclose
      Src: /src/curl/docs/examples/multi-event.c:113,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-event.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 122
    functionName: check_multi_info
    functionSourceFile: /src/curl/docs/examples/multi-event.c
    functionUses: 4
    functionsReached:
    - fclose
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    - fprintf
    - printf
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void check_multi_info(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/multi-event.c:139,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/multi-event.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: curl_perform
    functionSourceFile: /src/curl/docs/examples/multi-event.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void curl_perform(int fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/multi-event.c:151,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/multi-event.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: on_timeout
    functionSourceFile: /src/curl/docs/examples/multi-event.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void on_timeout(evutil_socket_t fd, short events, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evtimer_del
      Src: /src/curl/docs/examples/multi-event.c:161,1
    - Dst: evtimer_del
      Src: /src/curl/docs/examples/multi-event.c:169,1
    - Dst: evtimer_add
      Src: /src/curl/docs/examples/multi-event.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: start_timeout
    functionSourceFile: /src/curl/docs/examples/multi-event.c
    functionUses: 0
    functionsReached:
    - evtimer_del
    - evtimer_add
    linkageType: ''
    returnType: int
    signature: int start_timeout(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_curl_context
      Src: /src/curl/docs/examples/multi-event.c:189,1
    - Dst: curl_multi_assign
      Src: /src/curl/docs/examples/multi-event.c:191,1
    - Dst: event_del
      Src: /src/curl/docs/examples/multi-event.c:200,1
    - Dst: event_assign
      Src: /src/curl/docs/examples/multi-event.c:201,1
    - Dst: event_add
      Src: /src/curl/docs/examples/multi-event.c:203,1
    - Dst: event_del
      Src: /src/curl/docs/examples/multi-event.c:208,1
    - Dst: destroy_curl_context
      Src: /src/curl/docs/examples/multi-event.c:209,1
    - Dst: curl_multi_assign
      Src: /src/curl/docs/examples/multi-event.c:210,1
    - Dst: abort
      Src: /src/curl/docs/examples/multi-event.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - easy
    - s
    - action
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 218
    functionName: handle_socket
    functionSourceFile: /src/curl/docs/examples/multi-event.c
    functionUses: 0
    functionsReached:
    - curl_multi_assign
    - destroy_curl_context
    - event_assign
    - create_curl_context
    - event_del
    - abort
    - event_add
    linkageType: ''
    returnType: int
    signature: "int handle_socket(CURL *easy, curl_socket_t s, int action, void *userp,\n
      \                        void *socketp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multi-event.c:227,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/multi-event.c:229,1
    - Dst: event_base_new
      Src: /src/curl/docs/examples/multi-event.c:233,1
    - Dst: evtimer_new
      Src: /src/curl/docs/examples/multi-event.c:234,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/multi-event.c:236,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/multi-event.c:238,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/multi-event.c:239,1
    - Dst: add_download
      Src: /src/curl/docs/examples/multi-event.c:242,1
    - Dst: event_base_dispatch
      Src: /src/curl/docs/examples/multi-event.c:245,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/multi-event.c:247,1
    - Dst: event_free
      Src: /src/curl/docs/examples/multi-event.c:249,1
    - Dst: event_base_free
      Src: /src/curl/docs/examples/multi-event.c:250,1
    - Dst: libevent_global_shutdown
      Src: /src/curl/docs/examples/multi-event.c:252,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multi-event.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multi-event.c
    functionUses: 1
    functionsReached:
    - libevent_global_shutdown
    - evtimer_new
    - event_free
    - curl_multi_setopt
    - curl_multi_cleanup
    - curl_global_cleanup
    - fprintf
    - event_base_free
    - event_base_dispatch
    - add_download
    - curl_global_init
    - event_base_new
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/sepheaders.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: write_data
    functionSourceFile: /src/curl/docs/examples/sepheaders.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/sepheaders.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/sepheaders.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sepheaders.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sepheaders.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sepheaders.c:62,1
    - Dst: fopen
      Src: /src/curl/docs/examples/sepheaders.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/sepheaders.c:67,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/sepheaders.c:68,1
    - Dst: fopen
      Src: /src/curl/docs/examples/sepheaders.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/sepheaders.c:75,1
    - Dst: fclose
      Src: /src/curl/docs/examples/sepheaders.c:76,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/sepheaders.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sepheaders.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sepheaders.c:85,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/sepheaders.c:88,1
    - Dst: fclose
      Src: /src/curl/docs/examples/sepheaders.c:91,1
    - Dst: fclose
      Src: /src/curl/docs/examples/sepheaders.c:94,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/sepheaders.c:97,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/sepheaders.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/curl/docs/examples/sepheaders.c
    functionUses: 1
    functionsReached:
    - fclose
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - fopen
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-ssl.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-ssl.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-ssl.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-ssl.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-ssl.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-ssl.c:67,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-ssl.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-ssl.c:81,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-ssl.c:84,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-ssl.c:88,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-ssl.c:89,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-ssl.c:92,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-ssl.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-ssl.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/docs/examples/post-callback.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - dest
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: read_callback
    functionSourceFile: /src/curl/docs/examples/post-callback.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t read_callback(char *dest, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/post-callback.c:74,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/post-callback.c:77,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/post-callback.c:80,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/post-callback.c:81,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/post-callback.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/post-callback.c:89,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/post-callback.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/post-callback.c:95,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/post-callback.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/post-callback.c:101,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/post-callback.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/post-callback.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/post-callback.c:122,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/post-callback.c:137,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/post-callback.c:138,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/post-callback.c:145,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/post-callback.c:148,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/post-callback.c:149,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/post-callback.c:152,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/post-callback.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/curl/docs/examples/post-callback.c
    functionUses: 1
    functionsReached:
    - strlen
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/urlapi.c:41,1
    - Dst: curl_url
      Src: /src/curl/docs/examples/urlapi.c:46,1
    - Dst: curl_url_set
      Src: /src/curl/docs/examples/urlapi.c:47,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/urlapi.c:51,1
    - Dst: curl_url_strerror
      Src: /src/curl/docs/examples/urlapi.c:51,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/urlapi.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/urlapi.c:59,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/urlapi.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/urlapi.c:63,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/urlapi.c:65,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/urlapi.c:68,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/urlapi.c:69,1
    - Dst: curl_url_cleanup
      Src: /src/curl/docs/examples/urlapi.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/urlapi.c:74,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/urlapi.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/curl/docs/examples/urlapi.c
    functionUses: 1
    functionsReached:
    - curl_url_set
    - curl_easy_perform
    - curl_easy_setopt
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_url
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_url_cleanup
    - curl_easy_init
    - curl_url_strerror
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-tls.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-tls.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-tls.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-tls.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-tls.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-tls.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-tls.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-tls.c:82,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-tls.c:85,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-tls.c:89,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-tls.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-tls.c:93,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-tls.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-tls.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/curl/docs/examples/http2-pushinmemory.c:44,1
    - Dst: printf
      Src: /src/curl/docs/examples/http2-pushinmemory.c:47,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/http2-pushinmemory.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: write_cb
    functionSourceFile: /src/curl/docs/examples/http2-pushinmemory.c
    functionUses: 0
    functionsReached:
    - memcpy
    - printf
    - realloc
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *contents, size_t size, size_t nmemb, void *userp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/docs/examples/http2-pushinmemory.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct Memory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: init_memory
    functionSourceFile: /src/curl/docs/examples/http2-pushinmemory.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void init_memory(struct Memory *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:72,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:75,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:82,1
    - Dst: init_memory
      Src: /src/curl/docs/examples/http2-pushinmemory.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - hnd
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: setup
    functionSourceFile: /src/curl/docs/examples/http2-pushinmemory.c
    functionUses: 13
    functionsReached:
    - init_memory
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void setup(CURL *hnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_memory
      Src: /src/curl/docs/examples/http2-pushinmemory.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:108,1
    - Dst: curl_pushheader_byname
      Src: /src/curl/docs/examples/http2-pushinmemory.c:111,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-pushinmemory.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - parent
    - easy
    - num_headers
    - headers
    - userp
    argTypes:
    - CURL*
    - CURL*
    - size_t
    - struct curl_pushheaders*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 117
    functionName: server_push_callback
    functionSourceFile: /src/curl/docs/examples/http2-pushinmemory.c
    functionUses: 0
    functionsReached:
    - init_memory
    - curl_pushheader_byname
    - curl_easy_setopt
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int server_push_callback(CURL *parent,\n                                CURL
      *easy,\n                                size_t num_headers,\n                                struct
      curl_pushheaders *headers,\n                                void *userp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/http2-pushinmemory.c:130,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/http2-pushinmemory.c:135,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/http2-pushinmemory.c:137,1
    - Dst: setup
      Src: /src/curl/docs/examples/http2-pushinmemory.c:140,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/http2-pushinmemory.c:143,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:145,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:146,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/http2-pushinmemory.c:147,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/http2-pushinmemory.c:154,1
    - Dst: curl_multi_wait
      Src: /src/curl/docs/examples/http2-pushinmemory.c:158,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/http2-pushinmemory.c:168,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/http2-pushinmemory.c:172,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/http2-pushinmemory.c:173,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/http2-pushinmemory.c:178,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http2-pushinmemory.c:179,1
    - Dst: free
      Src: /src/curl/docs/examples/http2-pushinmemory.c:184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/curl/docs/examples/http2-pushinmemory.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_multi_info_read
    - curl_multi_remove_handle
    - setup
    - curl_multi_setopt
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - free
    - curl_multi_wait
    - curl_multi_add_handle
    - curl_global_init
    - curl_easy_init
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: sleep
    functionSourceFile: /src/curl/docs/examples/websocket.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sleep(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/websocket.c:44,1
    - Dst: curl_ws_send
      Src: /src/curl/docs/examples/websocket.c:47,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket.c:53,1
    - Dst: sleep
      Src: /src/curl/docs/examples/websocket.c:54,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - curl
    - send_payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: ping
    functionSourceFile: /src/curl/docs/examples/websocket.c
    functionUses: 3
    functionsReached:
    - sleep
    - strlen
    - curl_ws_send
    - fprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ping(CURL *curl, const char *send_payload)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_recv
      Src: /src/curl/docs/examples/websocket.c:73,1
    - Dst: strlen
      Src: /src/curl/docs/examples/websocket.c:80,1
    - Dst: memcmp
      Src: /src/curl/docs/examples/websocket.c:81,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket.c:84,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket.c:88,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket.c:92,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket.c:97,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket.c:103,1
    - Dst: sleep
      Src: /src/curl/docs/examples/websocket.c:104,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket.c:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - curl
    - expected_payload
    argTypes:
    - CURL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 112
    functionName: recv_pong
    functionSourceFile: /src/curl/docs/examples/websocket.c
    functionUses: 3
    functionsReached:
    - strlen
    - sleep
    - fprintf
    - curl_ws_recv
    - memcmp
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode recv_pong(CURL *curl, const char *expected_payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_ws_send
      Src: /src/curl/docs/examples/websocket.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: websocket_close
    functionSourceFile: /src/curl/docs/examples/websocket.c
    functionUses: 0
    functionsReached:
    - curl_ws_send
    linkageType: ''
    returnType: void
    signature: void websocket_close(CURL *curl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ping
      Src: /src/curl/docs/examples/websocket.c:126,1
    - Dst: recv_pong
      Src: /src/curl/docs/examples/websocket.c:129,1
    - Dst: sleep
      Src: /src/curl/docs/examples/websocket.c:132,1
    - Dst: websocket_close
      Src: /src/curl/docs/examples/websocket.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - curl
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: websocket
    functionSourceFile: /src/curl/docs/examples/websocket.c
    functionUses: 2
    functionsReached:
    - recv_pong
    - websocket_close
    - ping
    - sleep
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode websocket(CURL *curl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/websocket.c:142,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/websocket.c:146,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket.c:149,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket.c:151,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/websocket.c:153,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/websocket.c:156,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/websocket.c:159,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/websocket.c:160,1
    - Dst: websocket
      Src: /src/curl/docs/examples/websocket.c:163,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/websocket.c:167,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/websocket.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/curl/docs/examples/websocket.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - websocket
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/curl/docs/examples/httpput.c:59,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/httpput.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: read_callback
    functionSourceFile: /src/curl/docs/examples/httpput.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t read_callback(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:113,1
    - Dst: exit
      Src: /src/curl/docs/examples/ghiper.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - where
    - code
    argTypes:
    - char*
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: mcode_or_die
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 3
    functionsReached:
    - MSG_OUT
    - exit
    linkageType: ''
    returnType: void
    signature: void mcode_or_die(const char *where, CURLMcode code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:124,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/ghiper.c:125,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/ghiper.c:131,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/ghiper.c:132,1
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:133,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/ghiper.c:134,1
    - Dst: free
      Src: /src/curl/docs/examples/ghiper.c:135,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ghiper.c:136,1
    - Dst: free
      Src: /src/curl/docs/examples/ghiper.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: check_multi_info
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 6
    functionsReached:
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    - free
    - MSG_OUT
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct GlobalInfo *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/ghiper.c:148,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/ghiper.c:150,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/ghiper.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: timer_cb
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    - mcode_or_die
    linkageType: ''
    returnType: gboolean
    signature: gboolean timer_cb(gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:163,1
    - Dst: g_timeout_add
      Src: /src/curl/docs/examples/ghiper.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: update_timeout_cb
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - g_timeout_add
    - MSG_OUT
    linkageType: ''
    returnType: int
    signature: int update_timeout_cb(CURLM *multi, long timeout_ms, void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_unix_get_fd
      Src: /src/curl/docs/examples/ghiper.c:182,1
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/ghiper.c:188,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/ghiper.c:189,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/ghiper.c:191,1
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:196,1
    - Dst: g_source_remove
      Src: /src/curl/docs/examples/ghiper.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ch
    - condition
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 202
    functionName: event_cb
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - mcode_or_die
    - g_source_remove
    - MSG_OUT
    - curl_multi_socket_action
    - check_multi_info
    - g_io_channel_unix_get_fd
    linkageType: ''
    returnType: gboolean
    signature: gboolean event_cb(GIOChannel *ch, GIOCondition condition, gpointer
      data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove
      Src: /src/curl/docs/examples/ghiper.c:211,1
    - Dst: g_free
      Src: /src/curl/docs/examples/ghiper.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct SockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: remsock
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 1
    functionsReached:
    - g_free
    - g_source_remove
    linkageType: ''
    returnType: void
    signature: void remsock(struct SockInfo *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_source_remove
      Src: /src/curl/docs/examples/ghiper.c:228,1
    - Dst: g_io_add_watch
      Src: /src/curl/docs/examples/ghiper.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - f
    - s
    - e
    - act
    - g
    argTypes:
    - struct SockInfo*
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: setsock
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 2
    functionsReached:
    - g_io_add_watch
    - g_source_remove
    linkageType: ''
    returnType: void
    signature: "void setsock(struct SockInfo *f, curl_socket_t s, CURL *e, int act,\n
      \                   struct GlobalInfo *g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/curl/docs/examples/ghiper.c:237,1
    - Dst: g_io_channel_unix_new
      Src: /src/curl/docs/examples/ghiper.c:240,1
    - Dst: setsock
      Src: /src/curl/docs/examples/ghiper.c:241,1
    - Dst: curl_multi_assign
      Src: /src/curl/docs/examples/ghiper.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - s
    - easy
    - action
    - g
    argTypes:
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: addsock
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 1
    functionsReached:
    - setsock
    - g_io_channel_unix_new
    - curl_multi_assign
    - g_malloc0
    linkageType: ''
    returnType: void
    signature: "void addsock(curl_socket_t s, CURL *easy, int action,\n                    struct
      GlobalInfo *g)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:252,1
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:254,1
    - Dst: remsock
      Src: /src/curl/docs/examples/ghiper.c:255,1
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:259,1
    - Dst: addsock
      Src: /src/curl/docs/examples/ghiper.c:262,1
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:265,1
    - Dst: setsock
      Src: /src/curl/docs/examples/ghiper.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - e
    - s
    - what
    - cbp
    - sockp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 271
    functionName: sock_cb
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - setsock
    - remsock
    - MSG_OUT
    - addsock
    linkageType: ''
    returnType: int
    signature: int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: write_cb
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/ghiper.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ult
    - uln
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: xferinfo_cb
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int xferinfo_cb(void *p, curl_off_t dltotal, curl_off_t dlnow,\n                       curl_off_t
      ult, curl_off_t uln)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/curl/docs/examples/ghiper.c:302,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ghiper.c:304,1
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:306,1
    - Dst: exit
      Src: /src/curl/docs/examples/ghiper.c:307,1
    - Dst: g_strdup
      Src: /src/curl/docs/examples/ghiper.c:310,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:311,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:312,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:313,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:314,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:315,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:316,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:317,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:318,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:319,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:320,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:321,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:322,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ghiper.c:323,1
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:325,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/ghiper.c:326,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/ghiper.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - url
    - g
    argTypes:
    - char*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 331
    functionName: new_conn
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 1
    functionsReached:
    - exit
    - mcode_or_die
    - MSG_OUT
    - curl_multi_add_handle
    - curl_easy_init
    - curl_easy_setopt
    - g_strdup
    - g_malloc0
    linkageType: ''
    returnType: void
    signature: void new_conn(const char *url, struct GlobalInfo *g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_read_line
      Src: /src/curl/docs/examples/ghiper.c:343,1
    - Dst: new_conn
      Src: /src/curl/docs/examples/ghiper.c:348,1
    - Dst: g_free
      Src: /src/curl/docs/examples/ghiper.c:349,1
    - Dst: g_malloc
      Src: /src/curl/docs/examples/ghiper.c:352,1
    - Dst: g_io_channel_read_chars
      Src: /src/curl/docs/examples/ghiper.c:355,1
    - Dst: g_strdup_printf
      Src: /src/curl/docs/examples/ghiper.c:360,1
    - Dst: g_free
      Src: /src/curl/docs/examples/ghiper.c:361,1
    - Dst: g_strdup
      Src: /src/curl/docs/examples/ghiper.c:364,1
    - Dst: new_conn
      Src: /src/curl/docs/examples/ghiper.c:372,1
    - Dst: g_free
      Src: /src/curl/docs/examples/ghiper.c:373,1
    - Dst: g_free
      Src: /src/curl/docs/examples/ghiper.c:375,1
    - Dst: g_error
      Src: /src/curl/docs/examples/ghiper.c:378,1
    - Dst: g_free
      Src: /src/curl/docs/examples/ghiper.c:379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - ch
    - condition
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 384
    functionName: fifo_cb
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 0
    functionsReached:
    - g_free
    - g_strdup_printf
    - g_io_channel_read_chars
    - g_strdup
    - g_error
    - new_conn
    - g_malloc
    - g_io_channel_read_line
    linkageType: ''
    returnType: gboolean
    signature: gboolean fifo_cb(GIOChannel *ch, GIOCondition condition, gpointer data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lstat
      Src: /src/curl/docs/examples/ghiper.c:392,1
    - Dst: perror
      Src: /src/curl/docs/examples/ghiper.c:395,1
    - Dst: unlink
      Src: /src/curl/docs/examples/ghiper.c:400,1
    - Dst: mkfifo
      Src: /src/curl/docs/examples/ghiper.c:401,1
    - Dst: perror
      Src: /src/curl/docs/examples/ghiper.c:402,1
    - Dst: open
      Src: /src/curl/docs/examples/ghiper.c:406,1
    - Dst: perror
      Src: /src/curl/docs/examples/ghiper.c:409,1
    - Dst: MSG_OUT
      Src: /src/curl/docs/examples/ghiper.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 415
    functionName: init_fifo
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 1
    functionsReached:
    - unlink
    - open
    - perror
    - MSG_OUT
    - mkfifo
    - lstat
    linkageType: ''
    returnType: int
    signature: int init_fifo(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_malloc0
      Src: /src/curl/docs/examples/ghiper.c:419,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ghiper.c:424,1
    - Dst: init_fifo
      Src: /src/curl/docs/examples/ghiper.c:428,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ghiper.c:430,1
    - Dst: g_io_channel_unix_new
      Src: /src/curl/docs/examples/ghiper.c:433,1
    - Dst: g_io_add_watch
      Src: /src/curl/docs/examples/ghiper.c:434,1
    - Dst: g_main_loop_new
      Src: /src/curl/docs/examples/ghiper.c:435,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/ghiper.c:436,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/ghiper.c:438,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/ghiper.c:439,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/ghiper.c:440,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/ghiper.c:441,1
    - Dst: g_main_loop_run
      Src: /src/curl/docs/examples/ghiper.c:446,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/ghiper.c:447,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ghiper.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 451
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ghiper.c
    functionUses: 1
    functionsReached:
    - g_io_add_watch
    - g_io_channel_unix_new
    - curl_multi_setopt
    - curl_global_cleanup
    - curl_multi_cleanup
    - curl_global_init
    - g_main_loop_new
    - init_fifo
    - g_main_loop_run
    - curl_multi_init
    - g_malloc0
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: throw_away
    functionSourceFile: /src/curl/docs/examples/ftpgetinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t throw_away(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/curl/docs/examples/ftpgetinfo.c:50,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ftpgetinfo.c:52,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ftpgetinfo.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpgetinfo.c:58,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpgetinfo.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpgetinfo.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpgetinfo.c:63,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpgetinfo.c:64,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ftpgetinfo.c:68,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/ftpgetinfo.c:72,1
    - Dst: printf
      Src: /src/curl/docs/examples/ftpgetinfo.c:75,1
    - Dst: ctime
      Src: /src/curl/docs/examples/ftpgetinfo.c:75,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/ftpgetinfo.c:77,1
    - Dst: printf
      Src: /src/curl/docs/examples/ftpgetinfo.c:80,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ftpgetinfo.c:85,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ftpgetinfo.c:89,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftpgetinfo.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ftpgetinfo.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - strrchr
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - ctime
    - printf
    - curl_global_init
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multi-formadd.c:48,1
    - Dst: CURL_IGNORE_DEPRECATION
      Src: /src/curl/docs/examples/multi-formadd.c:52,1
    - Dst: curl_formadd
      Src: /src/curl/docs/examples/multi-formadd.c:55,1
    - Dst: curl_formadd
      Src: /src/curl/docs/examples/multi-formadd.c:62,1
    - Dst: curl_formadd
      Src: /src/curl/docs/examples/multi-formadd.c:69,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/multi-formadd.c:78,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-formadd.c:80,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/multi-formadd.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-formadd.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-formadd.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-formadd.c:94,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-formadd.c:99,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/multi-formadd.c:102,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/multi-formadd.c:106,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/multi-formadd.c:113,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-formadd.c:117,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/multi-formadd.c:126,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multi-formadd.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multi-formadd.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_easy_setopt
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_multi_add_handle
    - curl_global_init
    - CURL_IGNORE_DEPRECATION
    - curl_multi_poll
    - curl_easy_init
    - curl_formadd
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/address-scope.c:41,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/address-scope.c:45,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/address-scope.c:48,1
    - Dst: if_nametoindex
      Src: /src/curl/docs/examples/address-scope.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/address-scope.c:51,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/address-scope.c:54,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/address-scope.c:57,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/address-scope.c:58,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/address-scope.c:61,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/address-scope.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/curl/docs/examples/address-scope.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - if_nametoindex
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/docs/examples/xmlstream.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - userData
    - name
    - atts
    argTypes:
    - void*
    - XML_Char*
    - XML_Char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: startElement
    functionSourceFile: /src/curl/docs/examples/xmlstream.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: "void startElement(void *userData, const XML_Char *name,\n                         const
      XML_Char **atts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/curl/docs/examples/xmlstream.c:76,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/xmlstream.c:79,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/xmlstream.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - userData
    - s
    - len
    argTypes:
    - void*
    - XML_Char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: characterDataHandler
    functionSourceFile: /src/curl/docs/examples/xmlstream.c
    functionUses: 0
    functionsReached:
    - memcpy
    - realloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void characterDataHandler(void *userData, const XML_Char *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/xmlstream.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - userData
    - name
    argTypes:
    - void*
    - XML_Char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: endElement
    functionSourceFile: /src/curl/docs/examples/xmlstream.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void endElement(void *userData, const XML_Char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XML_GetUserData
      Src: /src/curl/docs/examples/xmlstream.c:103,1
    - Dst: XML_Parse
      Src: /src/curl/docs/examples/xmlstream.c:106,1
    - Dst: XML_GetErrorCode
      Src: /src/curl/docs/examples/xmlstream.c:107,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/xmlstream.c:108,1
    - Dst: XML_ErrorString
      Src: /src/curl/docs/examples/xmlstream.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - contents
    - length
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: parseStreamCallback
    functionSourceFile: /src/curl/docs/examples/xmlstream.c
    functionUses: 0
    functionsReached:
    - XML_ErrorString
    - XML_GetUserData
    - fprintf
    - XML_Parse
    - XML_GetErrorCode
    linkageType: ''
    returnType: size_t
    signature: "size_t parseStreamCallback(void *contents, size_t length, size_t nmemb,\n
      \                                 void *userp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/xmlstream.c:121,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/xmlstream.c:126,1
    - Dst: memset
      Src: /src/curl/docs/examples/xmlstream.c:132,1
    - Dst: XML_ParserCreateNS
      Src: /src/curl/docs/examples/xmlstream.c:136,1
    - Dst: XML_SetUserData
      Src: /src/curl/docs/examples/xmlstream.c:137,1
    - Dst: XML_SetElementHandler
      Src: /src/curl/docs/examples/xmlstream.c:138,1
    - Dst: XML_SetCharacterDataHandler
      Src: /src/curl/docs/examples/xmlstream.c:139,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/xmlstream.c:141,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/xmlstream.c:143,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/xmlstream.c:144,1
    - Dst: printf
      Src: /src/curl/docs/examples/xmlstream.c:146,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/xmlstream.c:149,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/xmlstream.c:151,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/xmlstream.c:152,1
    - Dst: XML_Parse
      Src: /src/curl/docs/examples/xmlstream.c:156,1
    - Dst: XML_GetErrorCode
      Src: /src/curl/docs/examples/xmlstream.c:157,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/xmlstream.c:158,1
    - Dst: XML_ErrorString
      Src: /src/curl/docs/examples/xmlstream.c:159,1
    - Dst: printf
      Src: /src/curl/docs/examples/xmlstream.c:162,1
    - Dst: printf
      Src: /src/curl/docs/examples/xmlstream.c:163,1
    - Dst: free
      Src: /src/curl/docs/examples/xmlstream.c:168,1
    - Dst: XML_ParserFree
      Src: /src/curl/docs/examples/xmlstream.c:169,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/xmlstream.c:171,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/xmlstream.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/curl/docs/examples/xmlstream.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - XML_ParserFree
    - XML_ParserCreateNS
    - XML_GetErrorCode
    - XML_SetUserData
    - curl_global_cleanup
    - curl_easy_setopt
    - XML_SetElementHandler
    - curl_easy_cleanup
    - free
    - printf
    - curl_global_init
    - XML_SetCharacterDataHandler
    - curl_easy_init
    - XML_ErrorString
    - fprintf
    - XML_Parse
    - memset
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/resolve.c:41,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/resolve.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/resolve.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/resolve.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/resolve.c:51,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/resolve.c:52,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/resolve.c:55,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/resolve.c:58,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/resolve.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/curl/docs/examples/resolve.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/http3.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/http3.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http3.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http3.c:44,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/http3.c:47,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http3.c:50,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/http3.c:51,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/http3.c:54,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http3.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/curl/docs/examples/http3.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/hsts-preload.c:59,1
    - Dst: strcpy
      Src: /src/curl/docs/examples/hsts-preload.c:60,1
    - Dst: strcpy
      Src: /src/curl/docs/examples/hsts-preload.c:62,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hsts-preload.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - easy
    - e
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: hstsread
    functionSourceFile: /src/curl/docs/examples/hsts-preload.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - fprintf
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstsread(CURL *easy, struct curl_hstsentry *e,\n                            void
      *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/hsts-preload.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - easy
    - e
    - i
    - userp
    argTypes:
    - CURL*
    - struct curl_hstsentry*
    - struct curl_index*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: hstswrite
    functionSourceFile: /src/curl/docs/examples/hsts-preload.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: CURLSTScode
    signature: "CURLSTScode hstswrite(CURL *easy, struct curl_hstsentry *e,\n                             struct
      curl_index *i, void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/hsts-preload.c:84,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/hsts-preload.c:88,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hsts-preload.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hsts-preload.c:96,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hsts-preload.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hsts-preload.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hsts-preload.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hsts-preload.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/hsts-preload.c:108,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/hsts-preload.c:111,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/hsts-preload.c:114,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/hsts-preload.c:115,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/hsts-preload.c:118,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/hsts-preload.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/curl/docs/examples/hsts-preload.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/docs/examples/log_failed_transfers.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - struct mem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: mem_reset
    functionSourceFile: /src/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mem_reset(struct mem *mem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/curl/docs/examples/log_failed_transfers.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - mem
    - needed
    argTypes:
    - struct mem*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 114
    functionName: mem_need
    functionSourceFile: /src/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int mem_need(struct mem *mem, size_t needed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_need
      Src: /src/curl/docs/examples/log_failed_transfers.c:118,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/log_failed_transfers.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mem
    - buf
    - len
    argTypes:
    - struct mem*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: mem_addn
    functionSourceFile: /src/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mem_need
    linkageType: ''
    returnType: int
    signature: int mem_addn(struct mem *mem, const char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_addn
      Src: /src/curl/docs/examples/log_failed_transfers.c:129,1
    - Dst: strlen
      Src: /src/curl/docs/examples/log_failed_transfers.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - str
    argTypes:
    - struct mem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: mem_add
    functionSourceFile: /src/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - strlen
    - mem_addn
    linkageType: ''
    returnType: int
    signature: int mem_add(struct mem *mem, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/curl/docs/examples/log_failed_transfers.c:133,1
    - Dst: mem_need
      Src: /src/curl/docs/examples/log_failed_transfers.c:146,1
    - Dst: va_start
      Src: /src/curl/docs/examples/log_failed_transfers.c:149,1
    - Dst: vsnprintf
      Src: /src/curl/docs/examples/log_failed_transfers.c:150,1
    - Dst: va_end
      Src: /src/curl/docs/examples/log_failed_transfers.c:151,1
    - Dst: va_start
      Src: /src/curl/docs/examples/log_failed_transfers.c:163,1
    - Dst: _vscprintf
      Src: /src/curl/docs/examples/log_failed_transfers.c:164,1
    - Dst: va_end
      Src: /src/curl/docs/examples/log_failed_transfers.c:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - mem
    - format
    argTypes:
    - struct mem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 173
    functionName: mem_addf
    functionSourceFile: /src/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - format
    - va_start
    - mem_need
    - va_end
    - _vscprintf
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int mem_addf(struct mem *mem, const char *format, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_addn
      Src: /src/curl/docs/examples/log_failed_transfers.c:189,1
    - Dst: mem_addn
      Src: /src/curl/docs/examples/log_failed_transfers.c:190,1
    - Dst: mem_add
      Src: /src/curl/docs/examples/log_failed_transfers.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userdata
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: mydebug
    functionSourceFile: /src/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - mem_add
    - mem_addn
    linkageType: ''
    returnType: int
    signature: "int mydebug(CURL *handle, curl_infotype type,\n                   char
      *data, size_t size, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/log_failed_transfers.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: mywrite
    functionSourceFile: /src/curl/docs/examples/log_failed_transfers.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t mywrite(char *ptr, size_t size, size_t nmemb, void *userdata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/docs/examples/log_failed_transfers.c:216,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/log_failed_transfers.c:226,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/log_failed_transfers.c:228,1
    - Dst: curl_global_trace
      Src: /src/curl/docs/examples/log_failed_transfers.c:235,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/log_failed_transfers.c:242,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/log_failed_transfers.c:245,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/log_failed_transfers.c:246,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/log_failed_transfers.c:250,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/log_failed_transfers.c:253,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/log_failed_transfers.c:256,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/log_failed_transfers.c:257,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/log_failed_transfers.c:258,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/log_failed_transfers.c:261,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/log_failed_transfers.c:262,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/log_failed_transfers.c:266,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/log_failed_transfers.c:269,1
    - Dst: mem_addf
      Src: /src/curl/docs/examples/log_failed_transfers.c:271,1
    - Dst: printf
      Src: /src/curl/docs/examples/log_failed_transfers.c:272,1
    - Dst: fopen
      Src: /src/curl/docs/examples/log_failed_transfers.c:275,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/log_failed_transfers.c:279,1
    - Dst: fclose
      Src: /src/curl/docs/examples/log_failed_transfers.c:282,1
    - Dst: mem_addf
      Src: /src/curl/docs/examples/log_failed_transfers.c:288,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/log_failed_transfers.c:289,1
    - Dst: mem_addf
      Src: /src/curl/docs/examples/log_failed_transfers.c:293,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/log_failed_transfers.c:294,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/log_failed_transfers.c:295,1
    - Dst: mem_addf
      Src: /src/curl/docs/examples/log_failed_transfers.c:301,1
    - Dst: strerror
      Src: /src/curl/docs/examples/log_failed_transfers.c:302,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/log_failed_transfers.c:303,1
    - Dst: fopen
      Src: /src/curl/docs/examples/log_failed_transfers.c:309,1
    - Dst: fwrite
      Src: /src/curl/docs/examples/log_failed_transfers.c:311,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/log_failed_transfers.c:312,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/log_failed_transfers.c:315,1
    - Dst: strerror
      Src: /src/curl/docs/examples/log_failed_transfers.c:316,1
    - Dst: fclose
      Src: /src/curl/docs/examples/log_failed_transfers.c:321,1
    - Dst: unlink
      Src: /src/curl/docs/examples/log_failed_transfers.c:325,1
    - Dst: mem_reset
      Src: /src/curl/docs/examples/log_failed_transfers.c:330,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/log_failed_transfers.c:332,1
    - Dst: printf
      Src: /src/curl/docs/examples/log_failed_transfers.c:336,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/log_failed_transfers.c:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 342
    functionName: main
    functionSourceFile: /src/curl/docs/examples/log_failed_transfers.c
    functionUses: 1
    functionsReached:
    - fclose
    - curl_easy_perform
    - unlink
    - curl_easy_strerror
    - fwrite
    - curl_global_trace
    - mem_reset
    - strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fopen
    - fprintf
    - mem_addf
    - printf
    - curl_global_init
    - memset
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/curl/docs/examples/getinmemory.c:47,1
    - Dst: printf
      Src: /src/curl/docs/examples/getinmemory.c:50,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/getinmemory.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: WriteMemoryCallback
    functionSourceFile: /src/curl/docs/examples/getinmemory.c
    functionUses: 0
    functionsReached:
    - memcpy
    - printf
    - realloc
    linkageType: ''
    returnType: size_t
    signature: "size_t WriteMemoryCallback(void *contents, size_t size, size_t nmemb,\n
      \                                 void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/getinmemory.c:69,1
    - Dst: malloc
      Src: /src/curl/docs/examples/getinmemory.c:73,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/getinmemory.c:77,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/getinmemory.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/getinmemory.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/getinmemory.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/getinmemory.c:91,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/getinmemory.c:94,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/getinmemory.c:98,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/getinmemory.c:99,1
    - Dst: printf
      Src: /src/curl/docs/examples/getinmemory.c:109,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/getinmemory.c:113,1
    - Dst: free
      Src: /src/curl/docs/examples/getinmemory.c:116,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/getinmemory.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/curl/docs/examples/getinmemory.c
    functionUses: 1
    functionsReached:
    - malloc
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - free
    - printf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/smtp-vrfy.c:49,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/smtp-vrfy.c:53,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-vrfy.c:58,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-vrfy.c:61,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-vrfy.c:62,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/smtp-vrfy.c:65,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smtp-vrfy.c:69,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/smtp-vrfy.c:70,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/smtp-vrfy.c:73,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/smtp-vrfy.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/smtp-vrfy.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/curl/docs/examples/smtp-vrfy.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-list.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-list.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-list.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-list.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-list.c:54,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-list.c:57,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-list.c:61,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-list.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-list.c:65,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-list.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-list.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/postit2-formadd.c:60,1
    - Dst: CURL_IGNORE_DEPRECATION
      Src: /src/curl/docs/examples/postit2-formadd.c:64,1
    - Dst: curl_formadd
      Src: /src/curl/docs/examples/postit2-formadd.c:66,1
    - Dst: curl_formadd
      Src: /src/curl/docs/examples/postit2-formadd.c:73,1
    - Dst: curl_formadd
      Src: /src/curl/docs/examples/postit2-formadd.c:81,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/postit2-formadd.c:88,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/postit2-formadd.c:91,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postit2-formadd.c:94,1
    - Dst: strcmp
      Src: /src/curl/docs/examples/postit2-formadd.c:95,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/postit2-formadd.c:97,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/postit2-formadd.c:103,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/postit2-formadd.c:106,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/postit2-formadd.c:107,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/postit2-formadd.c:110,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/postit2-formadd.c:118,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/postit2-formadd.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/curl/docs/examples/postit2-formadd.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_setopt
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - strcmp
    - curl_global_init
    - CURL_IGNORE_DEPRECATION
    - curl_easy_init
    - curl_formadd
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-top.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-top.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-top.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-top.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-top.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-top.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-top.c:60,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-top.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-top.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-top.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-top.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-top.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/smtp-tls.c:77,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/smtp-tls.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: payload_source
    functionSourceFile: /src/curl/docs/examples/smtp-tls.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t payload_source(char *ptr, size_t size, size_t nmemb, void *userp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/smtp-tls.c:93,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/smtp-tls.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:104,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:110,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:117,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:130,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:139,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-tls.c:144,1
    - Dst: curl_slist_append
      Src: /src/curl/docs/examples/smtp-tls.c:145,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:146,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:151,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:152,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:153,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/smtp-tls.c:159,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/smtp-tls.c:162,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/smtp-tls.c:166,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/smtp-tls.c:167,1
    - Dst: curl_slist_free_all
      Src: /src/curl/docs/examples/smtp-tls.c:170,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/smtp-tls.c:173,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/smtp-tls.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/curl/docs/examples/smtp-tls.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_slist_free_all
    - curl_global_cleanup
    - fprintf
    - curl_slist_append
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/localport.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/localport.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/localport.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/localport.c:46,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/localport.c:47,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/localport.c:49,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/localport.c:52,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/localport.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/curl/docs/examples/localport.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/netrc.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/netrc.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/netrc.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/netrc.c:42,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/netrc.c:44,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/netrc.c:46,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/netrc.c:48,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/netrc.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/curl/docs/examples/netrc.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/docs/examples/sftpget.c:54,1
    - Dst: fwrite
      Src: /src/curl/docs/examples/sftpget.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: my_fwrite
    functionSourceFile: /src/curl/docs/examples/sftpget.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fopen
    linkageType: ''
    returnType: size_t
    signature: "size_t my_fwrite(void *buffer, size_t size, size_t nmemb,\n                        void
      *stream)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/sftpget.c:70,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/sftpget.c:74,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpget.c:79,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpget.c:82,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpget.c:84,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpget.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/sftpget.c:94,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/sftpget.c:96,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/sftpget.c:99,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/sftpget.c:103,1
    - Dst: fclose
      Src: /src/curl/docs/examples/sftpget.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/sftpget.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/curl/docs/examples/sftpget.c
    functionUses: 1
    functionsReached:
    - fclose
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - n
    - l
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: write_cb
    functionSourceFile: /src/curl/docs/examples/headerapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(char *data, size_t n, size_t l, void *userp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/headerapi.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/headerapi.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/headerapi.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/headerapi.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/headerapi.c:55,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/headerapi.c:58,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/headerapi.c:61,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/headerapi.c:62,1
    - Dst: curl_easy_header
      Src: /src/curl/docs/examples/headerapi.c:64,1
    - Dst: printf
      Src: /src/curl/docs/examples/headerapi.c:66,1
    - Dst: printf
      Src: /src/curl/docs/examples/headerapi.c:68,1
    - Dst: curl_easy_nextheader
      Src: /src/curl/docs/examples/headerapi.c:73,1
    - Dst: printf
      Src: /src/curl/docs/examples/headerapi.c:75,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/headerapi.c:81,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/headerapi.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/curl/docs/examples/headerapi.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_nextheader
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_easy_header
    - printf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/synctime.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/curl/docs/examples/synctime.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/synctime.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/curl/docs/examples/synctime.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/synctime.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: SyncTime_CURL_WriteOutput
    functionSourceFile: /src/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t SyncTime_CURL_WriteOutput(void *ptr, size_t size, size_t nmemb,\n
      \                                       void *stream)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:136,1
    - Dst: strncmp
      Src: /src/curl/docs/examples/synctime.c:138,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:140,1
    - Dst: sscanf
      Src: /src/curl/docs/examples/synctime.c:149,1
    - Dst: strcmp
      Src: /src/curl/docs/examples/synctime.c:159,1
    - Dst: strncmp
      Src: /src/curl/docs/examples/synctime.c:172,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 178
    functionName: SyncTime_CURL_WriteHeader
    functionSourceFile: /src/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - strncmp
    - sscanf
    - strcmp
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t SyncTime_CURL_WriteHeader(void *ptr, size_t size, size_t nmemb,\n
      \                                       void *stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/synctime.c:183,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/synctime.c:184,1
    - Dst: strlen
      Src: /src/curl/docs/examples/synctime.c:186,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/synctime.c:187,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/synctime.c:189,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/synctime.c:190,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/synctime.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - curl
    - proxy_port
    - proxy_user_password
    argTypes:
    - CURL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: SyncTime_CURL_Init
    functionSourceFile: /src/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: "void SyncTime_CURL_Init(CURL *curl, const char *proxy_port,\n                               const
      char *proxy_user_password)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/synctime.c:202,1
    - Dst: fopen
      Src: /src/curl/docs/examples/synctime.c:204,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/synctime.c:205,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/synctime.c:208,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/synctime.c:209,1
    - Dst: fclose
      Src: /src/curl/docs/examples/synctime.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - curl
    - URL_Str
    - OutFileName
    - HttpGetBody
    argTypes:
    - CURL*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: SyncTime_CURL_Fetch
    functionSourceFile: /src/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - fclose
    - curl_easy_setopt
    - curl_easy_perform
    - fopen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode SyncTime_CURL_Fetch(CURL *curl, const char *URL_Str,\n                                    const
      char *OutFileName, int HttpGetBody)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:217,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:219,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:220,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:221,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:223,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:224,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:226,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:228,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:230,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: showUsage
    functionSourceFile: /src/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void showUsage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: conf_init
    functionSourceFile: /src/curl/docs/examples/synctime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conf_init(struct conf *conf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: conf_init
      Src: /src/curl/docs/examples/synctime.c:256,1
    - Dst: strncmp
      Src: /src/curl/docs/examples/synctime.c:261,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/synctime.c:262,1
    - Dst: strcmp
      Src: /src/curl/docs/examples/synctime.c:264,1
    - Dst: strcmp
      Src: /src/curl/docs/examples/synctime.c:267,1
    - Dst: strncmp
      Src: /src/curl/docs/examples/synctime.c:270,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/synctime.c:271,1
    - Dst: strncmp
      Src: /src/curl/docs/examples/synctime.c:273,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/synctime.c:274,1
    - Dst: strcmp
      Src: /src/curl/docs/examples/synctime.c:276,1
    - Dst: strcmp
      Src: /src/curl/docs/examples/synctime.c:277,1
    - Dst: showUsage
      Src: /src/curl/docs/examples/synctime.c:278,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/synctime.c:286,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/synctime.c:289,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/synctime.c:293,1
    - Dst: SyncTime_CURL_Init
      Src: /src/curl/docs/examples/synctime.c:305,1
    - Dst: time
      Src: /src/curl/docs/examples/synctime.c:308,1
    - Dst: localtime
      Src: /src/curl/docs/examples/synctime.c:309,1
    - Dst: mktime
      Src: /src/curl/docs/examples/synctime.c:310,1
    - Dst: gmtime
      Src: /src/curl/docs/examples/synctime.c:311,1
    - Dst: mktime
      Src: /src/curl/docs/examples/synctime.c:312,1
    - Dst: difftime
      Src: /src/curl/docs/examples/synctime.c:313,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/synctime.c:317,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/synctime.c:319,1
    - Dst: GetSystemTime
      Src: /src/curl/docs/examples/synctime.c:322,1
    - Dst: GetLocalTime
      Src: /src/curl/docs/examples/synctime.c:323,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/synctime.c:324,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:330,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:331,1
    - Dst: SyncTime_CURL_Fetch
      Src: /src/curl/docs/examples/synctime.c:334,1
    - Dst: GetLocalTime
      Src: /src/curl/docs/examples/synctime.c:337,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/synctime.c:338,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:343,1
    - Dst: SetSystemTime
      Src: /src/curl/docs/examples/synctime.c:347,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:348,1
    - Dst: GetLocalTime
      Src: /src/curl/docs/examples/synctime.c:353,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/synctime.c:354,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/synctime.c:359,1
    - Dst: conf_init
      Src: /src/curl/docs/examples/synctime.c:364,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/synctime.c:365,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/synctime.c:368,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 371
    functionName: main
    functionSourceFile: /src/curl/docs/examples/synctime.c
    functionUses: 1
    functionsReached:
    - SyncTime_CURL_Fetch
    - localtime
    - SetSystemTime
    - conf_init
    - curl_global_cleanup
    - strncmp
    - GetSystemTime
    - GetLocalTime
    - curl_easy_cleanup
    - snprintf
    - difftime
    - strcmp
    - curl_global_init
    - SyncTime_CURL_Init
    - mktime
    - curl_easy_init
    - showUsage
    - gmtime
    - time
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-noop.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-noop.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-noop.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-noop.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-noop.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-noop.c:57,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-noop.c:60,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-noop.c:64,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-noop.c:65,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-noop.c:68,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-noop.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-noop.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/ftp-wildcard.c:39,1
    - Dst: printf
      Src: /src/curl/docs/examples/ftp-wildcard.c:44,1
    - Dst: printf
      Src: /src/curl/docs/examples/ftp-wildcard.c:47,1
    - Dst: printf
      Src: /src/curl/docs/examples/ftp-wildcard.c:50,1
    - Dst: printf
      Src: /src/curl/docs/examples/ftp-wildcard.c:57,1
    - Dst: fopen
      Src: /src/curl/docs/examples/ftp-wildcard.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - finfo
    - input
    - remains
    argTypes:
    - struct curl_fileinfo*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 68
    functionName: file_is_coming
    functionSourceFile: /src/curl/docs/examples/ftp-wildcard.c
    functionUses: 0
    functionsReached:
    - printf
    - fopen
    linkageType: ''
    returnType: long
    signature: "long file_is_coming(struct curl_fileinfo *finfo, void *input,\n                           int
      remains)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/ftp-wildcard.c:74,1
    - Dst: fclose
      Src: /src/curl/docs/examples/ftp-wildcard.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: file_is_downloaded
    functionSourceFile: /src/curl/docs/examples/ftp-wildcard.c
    functionUses: 0
    functionsReached:
    - fclose
    - printf
    linkageType: ''
    returnType: long
    signature: long file_is_downloaded(void *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/ftp-wildcard.c:87,1
    - Dst: fwrite
      Src: /src/curl/docs/examples/ftp-wildcard.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buff
    - size
    - nmemb
    - cb_data
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: write_it
    functionSourceFile: /src/curl/docs/examples/ftp-wildcard.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t write_it(char *buff, size_t size, size_t nmemb,\n                       void
      *cb_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ftp-wildcard.c:103,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ftp-wildcard.c:108,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftp-wildcard.c:110,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-wildcard.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-wildcard.c:118,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-wildcard.c:121,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-wildcard.c:124,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-wildcard.c:127,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-wildcard.c:128,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-wildcard.c:134,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftp-wildcard.c:136,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ftp-wildcard.c:139,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ftp-wildcard.c:141,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftp-wildcard.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ftp-wildcard.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/maxconnects.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/maxconnects.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/maxconnects.c:49,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/maxconnects.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/maxconnects.c:55,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/maxconnects.c:58,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/maxconnects.c:61,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/maxconnects.c:62,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/maxconnects.c:66,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/maxconnects.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/curl/docs/examples/maxconnects.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/imap-ssl.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/imap-ssl.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-ssl.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-ssl.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-ssl.c:56,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-ssl.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-ssl.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/imap-ssl.c:82,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/imap-ssl.c:85,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/imap-ssl.c:89,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/imap-ssl.c:90,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/imap-ssl.c:93,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/imap-ssl.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/curl/docs/examples/imap-ssl.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: strerror
    functionSourceFile: /src/curl/docs/examples/ftpupload.c
    functionUses: 184
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/curl/docs/examples/ftpupload.c:68,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ftpupload.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: read_callback
    functionSourceFile: /src/curl/docs/examples/ftpupload.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t read_callback(char *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: mycase
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mycase(code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mycase
      Src: /src/curl/docs/examples/ephiperfifo.c:117,1
    - Dst: mycase
      Src: /src/curl/docs/examples/ephiperfifo.c:118,1
    - Dst: mycase
      Src: /src/curl/docs/examples/ephiperfifo.c:119,1
    - Dst: mycase
      Src: /src/curl/docs/examples/ephiperfifo.c:120,1
    - Dst: mycase
      Src: /src/curl/docs/examples/ephiperfifo.c:121,1
    - Dst: mycase
      Src: /src/curl/docs/examples/ephiperfifo.c:122,1
    - Dst: mycase
      Src: /src/curl/docs/examples/ephiperfifo.c:124,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:125,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:129,1
    - Dst: exit
      Src: /src/curl/docs/examples/ephiperfifo.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - where
    - code
    argTypes:
    - char*
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: mcode_or_die
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 6
    functionsReached:
    - mycase
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void mcode_or_die(const char *where, CURLMcode code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:143,1
    - Dst: memset
      Src: /src/curl/docs/examples/ephiperfifo.c:161,1
    - Dst: timerfd_settime
      Src: /src/curl/docs/examples/ephiperfifo.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - g
    argTypes:
    - CURLM*
    - long
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: multi_timer_cb
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - timerfd_settime
    - memset
    - fprintf
    linkageType: ''
    returnType: int
    signature: int multi_timer_cb(CURLM *multi, long timeout_ms, struct GlobalInfo
      *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:178,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/ephiperfifo.c:179,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/ephiperfifo.c:183,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/ephiperfifo.c:184,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:185,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/ephiperfifo.c:186,1
    - Dst: free
      Src: /src/curl/docs/examples/ephiperfifo.c:187,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ephiperfifo.c:188,1
    - Dst: free
      Src: /src/curl/docs/examples/ephiperfifo.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: check_multi_info
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 8
    functionsReached:
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    - fprintf
    - free
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/ephiperfifo.c:203,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/ephiperfifo.c:204,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/ephiperfifo.c:206,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:208,1
    - Dst: memset
      Src: /src/curl/docs/examples/ephiperfifo.c:209,1
    - Dst: timerfd_settime
      Src: /src/curl/docs/examples/ephiperfifo.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - g
    - fd
    - revents
    argTypes:
    - struct GlobalInfo*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: event_cb
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - mcode_or_die
    - fprintf
    - timerfd_settime
    - memset
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void event_cb(struct GlobalInfo *g, int fd, int revents)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/curl/docs/examples/ephiperfifo.c:221,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:229,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:234,1
    - Dst: perror
      Src: /src/curl/docs/examples/ephiperfifo.c:235,1
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/ephiperfifo.c:238,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/ephiperfifo.c:240,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/ephiperfifo.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - g
    - revents
    argTypes:
    - struct GlobalInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 242
    functionName: timer_cb
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - mcode_or_die
    - read
    - fprintf
    - perror
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void timer_cb(struct GlobalInfo *g, int revents)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/curl/docs/examples/ephiperfifo.c:249,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:250,1
    - Dst: strerror
      Src: /src/curl/docs/examples/ephiperfifo.c:251,1
    - Dst: free
      Src: /src/curl/docs/examples/ephiperfifo.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - f
    - g
    argTypes:
    - struct SockInfo*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: remsock
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 2
    functionsReached:
    - free
    - epoll_ctl
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void remsock(struct SockInfo *f, struct GlobalInfo *g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/curl/docs/examples/ephiperfifo.c:266,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:267,1
    - Dst: strerror
      Src: /src/curl/docs/examples/ephiperfifo.c:268,1
    - Dst: epoll_ctl
      Src: /src/curl/docs/examples/ephiperfifo.c:277,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:278,1
    - Dst: strerror
      Src: /src/curl/docs/examples/ephiperfifo.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - f
    - s
    - e
    - act
    - g
    argTypes:
    - struct SockInfo*
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 280
    functionName: setsock
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 4
    functionsReached:
    - epoll_ctl
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void setsock(struct SockInfo *f, curl_socket_t s, CURL *e, int act,\n
      \                   struct GlobalInfo *g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/docs/examples/ephiperfifo.c:286,1
    - Dst: setsock
      Src: /src/curl/docs/examples/ephiperfifo.c:289,1
    - Dst: curl_multi_assign
      Src: /src/curl/docs/examples/ephiperfifo.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - easy
    - action
    - g
    argTypes:
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: addsock
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 2
    functionsReached:
    - setsock
    - calloc
    - curl_multi_assign
    linkageType: ''
    returnType: void
    signature: "void addsock(curl_socket_t s, CURL *easy, int action,\n                    struct
      GlobalInfo *g)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:300,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:303,1
    - Dst: remsock
      Src: /src/curl/docs/examples/ephiperfifo.c:304,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:308,1
    - Dst: addsock
      Src: /src/curl/docs/examples/ephiperfifo.c:309,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:312,1
    - Dst: setsock
      Src: /src/curl/docs/examples/ephiperfifo.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - e
    - s
    - what
    - cbp
    - sockp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 319
    functionName: sock_cb
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - setsock
    - remsock
    - addsock
    - fprintf
    linkageType: ''
    returnType: int
    signature: int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: write_cb
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ult
    - uln
    argTypes:
    - void*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: prog_cb
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int prog_cb(void *p, double dltotal, double dlnow, double ult,\n                   double
      uln)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/docs/examples/ephiperfifo.c:347,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ephiperfifo.c:350,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:352,1
    - Dst: exit
      Src: /src/curl/docs/examples/ephiperfifo.c:353,1
    - Dst: strdup
      Src: /src/curl/docs/examples/ephiperfifo.c:356,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:357,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:358,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:359,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:360,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:361,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:362,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:363,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:364,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:365,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:366,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:367,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:368,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:369,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/ephiperfifo.c:371,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/ephiperfifo.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - url
    - g
    argTypes:
    - char*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 376
    functionName: new_conn
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 2
    functionsReached:
    - calloc
    - exit
    - mcode_or_die
    - strdup
    - fprintf
    - curl_multi_add_handle
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void new_conn(const char *url, struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/curl/docs/examples/ephiperfifo.c:387,1
    - Dst: new_conn
      Src: /src/curl/docs/examples/ephiperfifo.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - revents
    argTypes:
    - struct GlobalInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 395
    functionName: fifo_cb
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached:
    - new_conn
    - fscanf
    linkageType: ''
    returnType: void
    signature: void fifo_cb(struct GlobalInfo *g, int revents)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:405,1
    - Dst: lstat
      Src: /src/curl/docs/examples/ephiperfifo.c:406,1
    - Dst: perror
      Src: /src/curl/docs/examples/ephiperfifo.c:409,1
    - Dst: unlink
      Src: /src/curl/docs/examples/ephiperfifo.c:413,1
    - Dst: mkfifo
      Src: /src/curl/docs/examples/ephiperfifo.c:414,1
    - Dst: perror
      Src: /src/curl/docs/examples/ephiperfifo.c:415,1
    - Dst: open
      Src: /src/curl/docs/examples/ephiperfifo.c:418,1
    - Dst: perror
      Src: /src/curl/docs/examples/ephiperfifo.c:420,1
    - Dst: fdopen
      Src: /src/curl/docs/examples/ephiperfifo.c:425,1
    - Dst: epoll_ctl
      Src: /src/curl/docs/examples/ephiperfifo.c:429,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 433
    functionName: init_fifo
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 2
    functionsReached:
    - unlink
    - epoll_ctl
    - open
    - fprintf
    - fdopen
    - perror
    - mkfifo
    - lstat
    linkageType: ''
    returnType: int
    signature: int init_fifo(struct GlobalInfo *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/curl/docs/examples/ephiperfifo.c:437,1
    - Dst: fclose
      Src: /src/curl/docs/examples/ephiperfifo.c:438,1
    - Dst: unlink
      Src: /src/curl/docs/examples/ephiperfifo.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: clean_fifo
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 1
    functionsReached:
    - fclose
    - epoll_ctl
    - unlink
    linkageType: ''
    returnType: void
    signature: void clean_fifo(struct GlobalInfo *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: sigint_handler
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigint_handler(int signo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ephiperfifo.c:460,1
    - Dst: signal
      Src: /src/curl/docs/examples/ephiperfifo.c:465,1
    - Dst: memset
      Src: /src/curl/docs/examples/ephiperfifo.c:467,1
    - Dst: epoll_create1
      Src: /src/curl/docs/examples/ephiperfifo.c:468,1
    - Dst: perror
      Src: /src/curl/docs/examples/ephiperfifo.c:470,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ephiperfifo.c:471,1
    - Dst: timerfd_create
      Src: /src/curl/docs/examples/ephiperfifo.c:475,1
    - Dst: perror
      Src: /src/curl/docs/examples/ephiperfifo.c:477,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ephiperfifo.c:478,1
    - Dst: memset
      Src: /src/curl/docs/examples/ephiperfifo.c:482,1
    - Dst: timerfd_settime
      Src: /src/curl/docs/examples/ephiperfifo.c:485,1
    - Dst: epoll_ctl
      Src: /src/curl/docs/examples/ephiperfifo.c:489,1
    - Dst: init_fifo
      Src: /src/curl/docs/examples/ephiperfifo.c:491,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ephiperfifo.c:492,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/ephiperfifo.c:495,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:498,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:499,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:500,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/ephiperfifo.c:501,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:506,1
    - Dst: fflush
      Src: /src/curl/docs/examples/ephiperfifo.c:507,1
    - Dst: epoll_wait
      Src: /src/curl/docs/examples/ephiperfifo.c:510,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:515,1
    - Dst: perror
      Src: /src/curl/docs/examples/ephiperfifo.c:519,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ephiperfifo.c:520,1
    - Dst: fifo_cb
      Src: /src/curl/docs/examples/ephiperfifo.c:527,1
    - Dst: timer_cb
      Src: /src/curl/docs/examples/ephiperfifo.c:530,1
    - Dst: event_cb
      Src: /src/curl/docs/examples/ephiperfifo.c:533,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ephiperfifo.c:538,1
    - Dst: fflush
      Src: /src/curl/docs/examples/ephiperfifo.c:539,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/ephiperfifo.c:541,1
    - Dst: clean_fifo
      Src: /src/curl/docs/examples/ephiperfifo.c:542,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ephiperfifo.c:543,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 545
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ephiperfifo.c
    functionUses: 1
    functionsReached:
    - fflush
    - epoll_ctl
    - curl_multi_setopt
    - timerfd_settime
    - signal
    - clean_fifo
    - curl_global_cleanup
    - fifo_cb
    - init_fifo
    - epoll_create1
    - timer_cb
    - epoll_wait
    - curl_global_init
    - timerfd_create
    - curl_multi_cleanup
    - fprintf
    - perror
    - memset
    - curl_multi_init
    - event_cb
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/evhiperfifo.c:116,1
    - Dst: ev_timer_stop
      Src: /src/curl/docs/examples/evhiperfifo.c:117,1
    - Dst: ev_timer_init
      Src: /src/curl/docs/examples/evhiperfifo.c:121,1
    - Dst: ev_timer_start
      Src: /src/curl/docs/examples/evhiperfifo.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - g
    argTypes:
    - CURLM*
    - long
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: multi_timer_cb
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 0
    functionsReached:
    - printf
    - ev_timer_start
    - ev_timer_init
    - ev_timer_stop
    linkageType: ''
    returnType: int
    signature: int multi_timer_cb(CURLM *multi, long timeout_ms, struct GlobalInfo
      *g)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:156,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:160,1
    - Dst: exit
      Src: /src/curl/docs/examples/evhiperfifo.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - where
    - code
    argTypes:
    - char*
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 163
    functionName: mcode_or_die
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 9
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void mcode_or_die(const char *where, CURLMcode code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:175,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/evhiperfifo.c:176,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/evhiperfifo.c:180,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/evhiperfifo.c:181,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:182,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/evhiperfifo.c:183,1
    - Dst: free
      Src: /src/curl/docs/examples/evhiperfifo.c:184,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/evhiperfifo.c:185,1
    - Dst: free
      Src: /src/curl/docs/examples/evhiperfifo.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: check_multi_info
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 10
    functionsReached:
    - curl_multi_remove_handle
    - curl_multi_info_read
    - curl_easy_cleanup
    - fprintf
    - free
    - curl_easy_getinfo
    linkageType: ''
    returnType: void
    signature: void check_multi_info(struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/evhiperfifo.c:198,1
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/evhiperfifo.c:203,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/evhiperfifo.c:204,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/evhiperfifo.c:205,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:207,1
    - Dst: ev_timer_stop
      Src: /src/curl/docs/examples/evhiperfifo.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - w
    - revents
    argTypes:
    - EV_P_*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: event_cb
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 1
    functionsReached:
    - mcode_or_die
    - ev_timer_stop
    - fprintf
    - printf
    - curl_multi_socket_action
    - check_multi_info
    linkageType: ''
    returnType: void
    signature: void event_cb(EV_P_ struct ev_io *w, int revents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/evhiperfifo.c:218,1
    - Dst: curl_multi_socket_action
      Src: /src/curl/docs/examples/evhiperfifo.c:222,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/evhiperfifo.c:224,1
    - Dst: check_multi_info
      Src: /src/curl/docs/examples/evhiperfifo.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - w
    - revents
    argTypes:
    - EV_P_*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: timer_cb
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 1
    functionsReached:
    - curl_multi_socket_action
    - check_multi_info
    - printf
    - mcode_or_die
    linkageType: ''
    returnType: void
    signature: void timer_cb(EV_P_ struct ev_timer *w, int revents)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/evhiperfifo.c:231,1
    - Dst: ev_io_stop
      Src: /src/curl/docs/examples/evhiperfifo.c:234,1
    - Dst: free
      Src: /src/curl/docs/examples/evhiperfifo.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - f
    - g
    argTypes:
    - struct SockInfo*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: remsock
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 3
    functionsReached:
    - free
    - printf
    - ev_io_stop
    linkageType: ''
    returnType: void
    signature: void remsock(struct SockInfo *f, struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/evhiperfifo.c:246,1
    - Dst: ev_io_stop
      Src: /src/curl/docs/examples/evhiperfifo.c:252,1
    - Dst: ev_io_init
      Src: /src/curl/docs/examples/evhiperfifo.c:253,1
    - Dst: ev_io_start
      Src: /src/curl/docs/examples/evhiperfifo.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - f
    - s
    - e
    - act
    - g
    argTypes:
    - struct SockInfo*
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 257
    functionName: setsock
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 6
    functionsReached:
    - ev_io_init
    - ev_io_start
    - printf
    - ev_io_stop
    linkageType: ''
    returnType: void
    signature: "void setsock(struct SockInfo *f, curl_socket_t s, CURL *e, int act,\n
      \                   struct GlobalInfo *g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/docs/examples/evhiperfifo.c:263,1
    - Dst: setsock
      Src: /src/curl/docs/examples/evhiperfifo.c:266,1
    - Dst: curl_multi_assign
      Src: /src/curl/docs/examples/evhiperfifo.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - easy
    - action
    - g
    argTypes:
    - curl_socket_t
    - CURL*
    - int
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: addsock
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 3
    functionsReached:
    - setsock
    - calloc
    - curl_multi_assign
    linkageType: ''
    returnType: void
    signature: "void addsock(curl_socket_t s, CURL *easy, int action,\n                    struct
      GlobalInfo *g)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/curl/docs/examples/evhiperfifo.c:277,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:280,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:283,1
    - Dst: remsock
      Src: /src/curl/docs/examples/evhiperfifo.c:284,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:288,1
    - Dst: addsock
      Src: /src/curl/docs/examples/evhiperfifo.c:289,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:292,1
    - Dst: setsock
      Src: /src/curl/docs/examples/evhiperfifo.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - e
    - s
    - what
    - cbp
    - sockp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 299
    functionName: sock_cb
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 0
    functionsReached:
    - setsock
    - fprintf
    - printf
    - remsock
    - addsock
    linkageType: ''
    returnType: int
    signature: int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - data
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: write_cb
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ult
    - uln
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 322
    functionName: xferinfo_cb
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int xferinfo_cb(void *p, curl_off_t dltotal, curl_off_t dlnow,\n                       curl_off_t
      ult, curl_off_t uln)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/docs/examples/evhiperfifo.c:330,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/evhiperfifo.c:333,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:335,1
    - Dst: exit
      Src: /src/curl/docs/examples/evhiperfifo.c:336,1
    - Dst: strdup
      Src: /src/curl/docs/examples/evhiperfifo.c:339,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:340,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:341,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:342,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:343,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:344,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:345,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:346,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:347,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:348,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:349,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:350,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:352,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/evhiperfifo.c:354,1
    - Dst: mcode_or_die
      Src: /src/curl/docs/examples/evhiperfifo.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - url
    - g
    argTypes:
    - char*
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 359
    functionName: new_conn
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 3
    functionsReached:
    - calloc
    - exit
    - mcode_or_die
    - strdup
    - fprintf
    - curl_multi_add_handle
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: void
    signature: void new_conn(const char *url, struct GlobalInfo *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/curl/docs/examples/evhiperfifo.c:373,1
    - Dst: new_conn
      Src: /src/curl/docs/examples/evhiperfifo.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - w
    - revents
    argTypes:
    - EV_P_*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: fifo_cb
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 1
    functionsReached:
    - new_conn
    - fscanf
    linkageType: ''
    returnType: void
    signature: void fifo_cb(EV_P_ struct ev_io *w, int revents)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:390,1
    - Dst: lstat
      Src: /src/curl/docs/examples/evhiperfifo.c:391,1
    - Dst: perror
      Src: /src/curl/docs/examples/evhiperfifo.c:394,1
    - Dst: unlink
      Src: /src/curl/docs/examples/evhiperfifo.c:398,1
    - Dst: mkfifo
      Src: /src/curl/docs/examples/evhiperfifo.c:399,1
    - Dst: perror
      Src: /src/curl/docs/examples/evhiperfifo.c:400,1
    - Dst: open
      Src: /src/curl/docs/examples/evhiperfifo.c:403,1
    - Dst: perror
      Src: /src/curl/docs/examples/evhiperfifo.c:405,1
    - Dst: fdopen
      Src: /src/curl/docs/examples/evhiperfifo.c:408,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/evhiperfifo.c:410,1
    - Dst: ev_io_init
      Src: /src/curl/docs/examples/evhiperfifo.c:411,1
    - Dst: ev_io_start
      Src: /src/curl/docs/examples/evhiperfifo.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct GlobalInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 414
    functionName: init_fifo
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 3
    functionsReached:
    - ev_io_init
    - unlink
    - open
    - ev_io_start
    - fprintf
    - fdopen
    - perror
    - mkfifo
    - lstat
    linkageType: ''
    returnType: int
    signature: int init_fifo(struct GlobalInfo *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/evhiperfifo.c:423,1
    - Dst: memset
      Src: /src/curl/docs/examples/evhiperfifo.c:427,1
    - Dst: ev_default_loop
      Src: /src/curl/docs/examples/evhiperfifo.c:428,1
    - Dst: init_fifo
      Src: /src/curl/docs/examples/evhiperfifo.c:430,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/evhiperfifo.c:432,1
    - Dst: ev_timer_init
      Src: /src/curl/docs/examples/evhiperfifo.c:434,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:437,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:438,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:439,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/evhiperfifo.c:440,1
    - Dst: ev_loop
      Src: /src/curl/docs/examples/evhiperfifo.c:445,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/evhiperfifo.c:446,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/evhiperfifo.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 449
    functionName: main
    functionSourceFile: /src/curl/docs/examples/evhiperfifo.c
    functionUses: 1
    functionsReached:
    - ev_timer_init
    - curl_multi_setopt
    - curl_multi_cleanup
    - curl_global_cleanup
    - ev_default_loop
    - ev_loop
    - curl_global_init
    - memset
    - init_fifo
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ipv6.c:35,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ipv6.c:39,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ipv6.c:41,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ipv6.c:43,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ipv6.c:45,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ipv6.c:47,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ipv6.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ipv6.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: strerror
    functionSourceFile: /src/curl/docs/examples/http2-download.c
    functionUses: 186
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-download.c:71,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-download.c:76,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-download.c:82,1
    - Dst: fputs
      Src: /src/curl/docs/examples/http2-download.c:84,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-download.c:94,1
    - Dst: fputc
      Src: /src/curl/docs/examples/http2-download.c:103,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 5
    argNames:
    - text
    - num
    - ptr
    - size
    - nohex
    argTypes:
    - char*
    - unsigned int
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 105
    functionName: dump
    functionSourceFile: /src/curl/docs/examples/http2-download.c
    functionUses: 9
    functionsReached:
    - fputc
    - fputs
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void dump(const char *text, unsigned int num, unsigned char *ptr,\n
      \                size_t size, char nohex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-download.c:117,1
    - Dst: dump
      Src: /src/curl/docs/examples/http2-download.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - handle
    - type
    - data
    - size
    - userp
    argTypes:
    - CURL*
    - curl_infotype
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 143
    functionName: my_trace
    functionSourceFile: /src/curl/docs/examples/http2-download.c
    functionUses: 0
    functionsReached:
    - dump
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int my_trace(CURL *handle, curl_infotype type,\n                    char
      *data, size_t size, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/http2-download.c:150,1
    - Dst: snprintf
      Src: /src/curl/docs/examples/http2-download.c:152,1
    - Dst: fopen
      Src: /src/curl/docs/examples/http2-download.c:154,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/http2-download.c:156,1
    - Dst: strerror
      Src: /src/curl/docs/examples/http2-download.c:157,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-download.c:162,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-download.c:165,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-download.c:168,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-download.c:169,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-download.c:170,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-download.c:173,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-download.c:176,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/http2-download.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - t
    - num
    argTypes:
    - struct transfer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 183
    functionName: setup
    functionSourceFile: /src/curl/docs/examples/http2-download.c
    functionUses: 14
    functionsReached:
    - strerror
    - snprintf
    - fopen
    - fprintf
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int setup(struct transfer *t, int num)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/curl/docs/examples/http2-download.c:199,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/http2-download.c:206,1
    - Dst: memset
      Src: /src/curl/docs/examples/http2-download.c:210,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/http2-download.c:213,1
    - Dst: setup
      Src: /src/curl/docs/examples/http2-download.c:216,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http2-download.c:217,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/http2-download.c:222,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/http2-download.c:225,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/http2-download.c:228,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/http2-download.c:232,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/http2-download.c:239,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/http2-download.c:240,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/http2-download.c:243,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/http2-download.c:244,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 247
    functionName: main
    functionSourceFile: /src/curl/docs/examples/http2-download.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_multi_remove_handle
    - setup
    - curl_multi_setopt
    - curl_easy_cleanup
    - curl_global_cleanup
    - curl_multi_cleanup
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - memset
    - atoi
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/docs/examples/simplessl.c:76,1
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/simplessl.c:80,1
    - Dst: fclose
      Src: /src/curl/docs/examples/simplessl.c:82,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/simplessl.c:86,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:89,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:90,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:99,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/simplessl.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:104,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/simplessl.c:108,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:117,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:122,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:126,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:129,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:132,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/simplessl.c:135,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/simplessl.c:138,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/simplessl.c:141,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/simplessl.c:142,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/simplessl.c:150,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/simplessl.c:153,1
    - Dst: fclose
      Src: /src/curl/docs/examples/simplessl.c:155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 158
    functionName: main
    functionSourceFile: /src/curl/docs/examples/simplessl.c
    functionUses: 1
    functionsReached:
    - fclose
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fopen
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-stat.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-stat.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-stat.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-stat.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-stat.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-stat.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-stat.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-stat.c:63,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-stat.c:67,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-stat.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-stat.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-stat.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-stat.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: wrfu
    functionSourceFile: /src/curl/docs/examples/certinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t wrfu(void *ptr,  size_t  size,  size_t  nmemb,  void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/certinfo.c:44,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/certinfo.c:48,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/certinfo.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/certinfo.c:52,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/certinfo.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/certinfo.c:55,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/certinfo.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/certinfo.c:58,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/certinfo.c:60,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/certinfo.c:65,1
    - Dst: printf
      Src: /src/curl/docs/examples/certinfo.c:70,1
    - Dst: printf
      Src: /src/curl/docs/examples/certinfo.c:76,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/certinfo.c:83,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/certinfo.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/curl/docs/examples/certinfo.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - printf
    - curl_global_init
    - curl_easy_getinfo
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: sighandler
    functionSourceFile: /src/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sighandler(int dummy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/curl/docs/examples/crawler.c:67,1
    - Dst: printf
      Src: /src/curl/docs/examples/crawler.c:70,1
    - Dst: memcpy
      Src: /src/curl/docs/examples/crawler.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - contents
    - sz
    - nmemb
    - ctx
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: grow_buffer
    functionSourceFile: /src/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached:
    - memcpy
    - printf
    - realloc
    linkageType: ''
    returnType: size_t
    signature: size_t grow_buffer(void *contents, size_t sz, size_t nmemb, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/crawler.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:86,1
    - Dst: malloc
      Src: /src/curl/docs/examples/crawler.c:89,1
    - Dst: malloc
      Src: /src/curl/docs/examples/crawler.c:91,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:93,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:94,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:97,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:98,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:99,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:101,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:105,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:107,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:109,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:111,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:112,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:114,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:115,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:116,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/crawler.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 119
    functionName: make_handle
    functionSourceFile: /src/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached:
    - curl_easy_init
    - curl_easy_setopt
    - malloc
    linkageType: ''
    returnType: CURL
    signature: CURL *make_handle(const char *url)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: htmlReadMemory
      Src: /src/curl/docs/examples/crawler.c:127,1
    - Dst: xmlXPathNewContext
      Src: /src/curl/docs/examples/crawler.c:137,1
    - Dst: xmlXPathEvalExpression
      Src: /src/curl/docs/examples/crawler.c:138,1
    - Dst: xmlXPathFreeContext
      Src: /src/curl/docs/examples/crawler.c:139,1
    - Dst: xmlXPathNodeSetIsEmpty
      Src: /src/curl/docs/examples/crawler.c:143,1
    - Dst: xmlXPathFreeObject
      Src: /src/curl/docs/examples/crawler.c:144,1
    - Dst: rand
      Src: /src/curl/docs/examples/crawler.c:149,1
    - Dst: xmlNodeListGetString
      Src: /src/curl/docs/examples/crawler.c:152,1
    - Dst: xmlBuildURI
      Src: /src/curl/docs/examples/crawler.c:156,1
    - Dst: xmlFree
      Src: /src/curl/docs/examples/crawler.c:157,1
    - Dst: strlen
      Src: /src/curl/docs/examples/crawler.c:160,1
    - Dst: strncmp
      Src: /src/curl/docs/examples/crawler.c:162,1
    - Dst: strncmp
      Src: /src/curl/docs/examples/crawler.c:162,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/crawler.c:163,1
    - Dst: make_handle
      Src: /src/curl/docs/examples/crawler.c:163,1
    - Dst: xmlFree
      Src: /src/curl/docs/examples/crawler.c:167,1
    - Dst: xmlXPathFreeObject
      Src: /src/curl/docs/examples/crawler.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - multi_handle
    - mem
    - url
    argTypes:
    - CURLM*
    - struct memory*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 171
    functionName: follow_links
    functionSourceFile: /src/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached:
    - xmlNodeListGetString
    - strlen
    - strncmp
    - xmlXPathFreeObject
    - make_handle
    - xmlXPathNewContext
    - xmlBuildURI
    - rand
    - curl_multi_add_handle
    - xmlXPathEvalExpression
    - xmlXPathFreeContext
    - xmlFree
    - htmlReadMemory
    - xmlXPathNodeSetIsEmpty
    linkageType: ''
    returnType: size_t
    signature: "size_t follow_links(CURLM *multi_handle, struct memory *mem,\n                           const
      char *url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/docs/examples/crawler.c:175,1
    - Dst: strstr
      Src: /src/curl/docs/examples/crawler.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctype
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: is_html
    functionSourceFile: /src/curl/docs/examples/crawler.c
    functionUses: 0
    functionsReached:
    - strlen
    - strstr
    linkageType: ''
    returnType: int
    signature: int is_html(char *ctype)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/crawler.c:187,1
    - Dst: signal
      Src: /src/curl/docs/examples/crawler.c:191,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/crawler.c:193,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/crawler.c:195,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/crawler.c:196,1
    - Dst: curl_multi_setopt
      Src: /src/curl/docs/examples/crawler.c:200,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/crawler.c:204,1
    - Dst: make_handle
      Src: /src/curl/docs/examples/crawler.c:204,1
    - Dst: curl_multi_wait
      Src: /src/curl/docs/examples/crawler.c:213,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/crawler.c:214,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/crawler.c:218,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/crawler.c:223,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/crawler.c:224,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/crawler.c:227,1
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/crawler.c:230,1
    - Dst: printf
      Src: /src/curl/docs/examples/crawler.c:231,1
    - Dst: is_html
      Src: /src/curl/docs/examples/crawler.c:232,1
    - Dst: follow_links
      Src: /src/curl/docs/examples/crawler.c:235,1
    - Dst: printf
      Src: /src/curl/docs/examples/crawler.c:241,1
    - Dst: printf
      Src: /src/curl/docs/examples/crawler.c:245,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/crawler.c:247,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/crawler.c:248,1
    - Dst: free
      Src: /src/curl/docs/examples/crawler.c:249,1
    - Dst: free
      Src: /src/curl/docs/examples/crawler.c:250,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/crawler.c:256,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/crawler.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 260
    functionName: main
    functionSourceFile: /src/curl/docs/examples/crawler.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - make_handle
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_multi_setopt
    - follow_links
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - free
    - curl_multi_wait
    - printf
    - curl_multi_add_handle
    - curl_global_init
    - curl_easy_getinfo
    - is_html
    - signal
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/curl/docs/examples/ftpsget.c:45,1
    - Dst: fwrite
      Src: /src/curl/docs/examples/ftpsget.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: my_fwrite
    functionSourceFile: /src/curl/docs/examples/ftpsget.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fopen
    linkageType: ''
    returnType: size_t
    signature: "size_t my_fwrite(void *buffer, size_t size, size_t nmemb,\n                        void
      *stream)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/ftpsget.c:62,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/ftpsget.c:66,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpsget.c:73,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpsget.c:76,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpsget.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpsget.c:81,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/ftpsget.c:84,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/ftpsget.c:86,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/ftpsget.c:89,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/ftpsget.c:93,1
    - Dst: fclose
      Src: /src/curl/docs/examples/ftpsget.c:98,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/ftpsget.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 103
    functionName: main
    functionSourceFile: /src/curl/docs/examples/ftpsget.c
    functionUses: 1
    functionsReached:
    - fclose
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/multi-app.c:51,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/multi-app.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-app.c:60,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-app.c:62,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/multi-app.c:63,1
    - Dst: curl_multi_init
      Src: /src/curl/docs/examples/multi-app.c:66,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/docs/examples/multi-app.c:76,1
    - Dst: curl_multi_perform
      Src: /src/curl/docs/examples/multi-app.c:79,1
    - Dst: curl_multi_poll
      Src: /src/curl/docs/examples/multi-app.c:83,1
    - Dst: curl_multi_info_read
      Src: /src/curl/docs/examples/multi-app.c:91,1
    - Dst: printf
      Src: /src/curl/docs/examples/multi-app.c:104,1
    - Dst: printf
      Src: /src/curl/docs/examples/multi-app.c:107,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/docs/examples/multi-app.c:115,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/docs/examples/multi-app.c:117,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/multi-app.c:122,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/multi-app.c:124,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/curl/docs/examples/multi-app.c
    functionUses: 1
    functionsReached:
    - curl_multi_perform
    - curl_multi_info_read
    - curl_multi_remove_handle
    - curl_easy_cleanup
    - curl_multi_cleanup
    - curl_global_cleanup
    - printf
    - curl_multi_add_handle
    - curl_global_init
    - curl_multi_poll
    - curl_easy_init
    - curl_easy_setopt
    - curl_multi_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/curl/docs/examples/progressfunc.c:49,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/progressfunc.c:56,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/progressfunc.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - p
    - dltotal
    - dlnow
    - ultotal
    - ulnow
    argTypes:
    - void*
    - curl_off_t
    - curl_off_t
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: xferinfo
    functionSourceFile: /src/curl/docs/examples/progressfunc.c
    functionUses: 0
    functionsReached:
    - curl_easy_getinfo
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int xferinfo(void *p,\n                    curl_off_t dltotal, curl_off_t
      dlnow,\n                    curl_off_t ultotal, curl_off_t ulnow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/progressfunc.c:74,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/progressfunc.c:78,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/progressfunc.c:85,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/progressfunc.c:87,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/progressfunc.c:89,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/progressfunc.c:91,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/progressfunc.c:92,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/progressfunc.c:95,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/progressfunc.c:95,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/progressfunc.c:98,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/progressfunc.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/curl/docs/examples/progressfunc.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/curl/docs/examples/cacertinmem.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: writefunction
    functionSourceFile: /src/curl/docs/examples/cacertinmem.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/curl/docs/examples/cacertinmem.c:81,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/curl/docs/examples/cacertinmem.c:82,1
    - Dst: STACK_OF
      Src: /src/curl/docs/examples/cacertinmem.c:84,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/curl/docs/examples/cacertinmem.c:93,1
    - Dst: BIO_free
      Src: /src/curl/docs/examples/cacertinmem.c:96,1
    - Dst: sk_X509_INFO_num
      Src: /src/curl/docs/examples/cacertinmem.c:100,1
    - Dst: sk_X509_INFO_value
      Src: /src/curl/docs/examples/cacertinmem.c:101,1
    - Dst: X509_STORE_add_cert
      Src: /src/curl/docs/examples/cacertinmem.c:103,1
    - Dst: X509_STORE_add_crl
      Src: /src/curl/docs/examples/cacertinmem.c:106,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/curl/docs/examples/cacertinmem.c:110,1
    - Dst: BIO_free
      Src: /src/curl/docs/examples/cacertinmem.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - curl
    - sslctx
    - pointer
    argTypes:
    - CURL*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 114
    functionName: sslctx_function
    functionSourceFile: /src/curl/docs/examples/cacertinmem.c
    functionUses: 0
    functionsReached:
    - sk_X509_INFO_value
    - X509_STORE_add_cert
    - sk_X509_INFO_pop_free
    - BIO_free
    - BIO_new_mem_buf
    - SSL_CTX_get_cert_store
    - STACK_OF
    - X509_STORE_add_crl
    - PEM_X509_INFO_read_bio
    - sk_X509_INFO_num
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sslctx_function(CURL *curl, void *sslctx, void *pointer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/cacertinmem.c:120,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/cacertinmem.c:124,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:126,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:127,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:128,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:129,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:130,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:131,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:132,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:133,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:134,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:135,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:136,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:142,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:143,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/cacertinmem.c:148,1
    - Dst: printf
      Src: /src/curl/docs/examples/cacertinmem.c:150,1
    - Dst: printf
      Src: /src/curl/docs/examples/cacertinmem.c:152,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:162,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/cacertinmem.c:168,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/cacertinmem.c:169,1
    - Dst: printf
      Src: /src/curl/docs/examples/cacertinmem.c:171,1
    - Dst: printf
      Src: /src/curl/docs/examples/cacertinmem.c:173,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/cacertinmem.c:175,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/cacertinmem.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/curl/docs/examples/cacertinmem.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_cleanup
    - curl_global_cleanup
    - printf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/curl/docs/examples/pop3-dele.c:43,1
    - Dst: curl_easy_init
      Src: /src/curl/docs/examples/pop3-dele.c:47,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-dele.c:50,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-dele.c:51,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-dele.c:54,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-dele.c:57,1
    - Dst: curl_easy_setopt
      Src: /src/curl/docs/examples/pop3-dele.c:60,1
    - Dst: curl_easy_perform
      Src: /src/curl/docs/examples/pop3-dele.c:63,1
    - Dst: fprintf
      Src: /src/curl/docs/examples/pop3-dele.c:67,1
    - Dst: curl_easy_strerror
      Src: /src/curl/docs/examples/pop3-dele.c:68,1
    - Dst: curl_easy_cleanup
      Src: /src/curl/docs/examples/pop3-dele.c:71,1
    - Dst: curl_global_cleanup
      Src: /src/curl/docs/examples/pop3-dele.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/curl/docs/examples/pop3-dele.c
    functionUses: 1
    functionsReached:
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    - fprintf
    - curl_global_init
    - curl_easy_init
    - curl_easy_setopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: CURL_VERSION_BITS
    functionSourceFile: /src/curl/include/curl/curlver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_VERSION_BITS(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: CURL_AT_LEAST_VERSION
    functionSourceFile: /src/curl/include/curl/curlver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_AT_LEAST_VERSION(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - version
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: CURL_DEPRECATED
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_DEPRECATED(version, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statements
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: CURL_IGNORE_DEPRECATION
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_IGNORE_DEPRECATION(statements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statements
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: CURL_IGNORE_DEPRECATION
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_IGNORE_DEPRECATION(statements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statements
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CURL_IGNORE_DEPRECATION
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_IGNORE_DEPRECATION(statements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: CURL_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_HAS_DECLSPEC_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: CURL_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_HAS_DECLSPEC_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - na
    - ','
    - t
    - ','
    - nu
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1120
    functionName: CURLOPT
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLOPT(na,t,nu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - na
    - ','
    - t
    - ','
    - nu
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1121
    functionName: CURLOPTDEPRECATED
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLOPTDEPRECATED(na,t,nu,v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - opt
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3341
      start: 3340
    functionDepth: 0
    functionLinenumber: 3340
    functionLinenumberEnd: 3341
    functionName: curl_easy_setopt
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 209
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_easy_setopt(handle,opt,param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - info
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3342
    functionName: curl_easy_getinfo
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_easy_getinfo(handle,info,arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - share
    - ','
    - opt
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3343
    functionName: curl_share_setopt
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_share_setopt(share,opt,param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - opt
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3343
    functionDepth: 0
    functionLinenumber: 3343
    functionLinenumberEnd: 3344
    functionName: curl_multi_setopt
    functionSourceFile: /src/curl/include/curl/curl.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_multi_setopt(handle,opt,param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - option
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 161
    functionName: curl_easy_setopt
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 209
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_easy_setopt(handle, option, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - info
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 195
    functionName: curl_easy_getinfo
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_easy_getinfo(handle, info, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - option
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 226
    functionName: curl_multi_setopt
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_multi_setopt(handle, option, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: curlcheck_multicb_data_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multicb_data_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: curlcheck_charpp_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_charpp_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: curlcheck_multitimer_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multitimer_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: curlcheck_multisocket_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multisocket_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: curlcheck_multipush_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multipush_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: curlcheck_multinotify_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_multinotify_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - share
    - ','
    - opt
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: curl_share_setopt
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_share_setopt(share,opt,param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: CURLWARNING
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLWARNING(id, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: curlcheck_long_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_long_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: curlcheck_off_t_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_off_t_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: curlcheck_curl_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_curl_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 502
    functionName: curlcheck_string_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_string_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: curlcheck_write_cb_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_write_cb_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: curlcheck_conv_cb_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_conv_cb_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 538
    functionName: curlcheck_cb_data_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_cb_data_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: curlcheck_postfields_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_postfields_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: curlcheck_slist_option
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_slist_option(option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: curlcheck_string_info
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_string_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: curlcheck_long_info
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_long_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: curlcheck_double_info
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_double_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: curlcheck_slist_info
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_slist_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: curlcheck_tlssessioninfo_info
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_tlssessioninfo_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: curlcheck_certinfo_info
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_certinfo_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 588
    functionName: curlcheck_socket_info
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_socket_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionName: curlcheck_off_t_info
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_off_t_info(info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: curlcheck_any_ptr
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_any_ptr(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 613
    functionName: curlcheck_NULL
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_NULL(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: curlcheck_ptr
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ptr(expr, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 627
    functionName: curlcheck_ptrptr
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ptrptr(expr, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: curlcheck_arr
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_arr(expr, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: curlcheck_string
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_string(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: curlcheck_curl
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_curl(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 669
    functionName: curlcheck_long
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_long(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionName: curlcheck_off_t
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_off_t(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: curlcheck_error_buffer
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_error_buffer(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: curlcheck_cb_data
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_cb_data(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: curlcheck_cb_data
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_cb_data(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: curlcheck_FILE
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_FILE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: curlcheck_postfields
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_postfields(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: curlcheck_cb_compatible
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_cb_compatible(func, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: curlcheck_resolver_start_callback
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_resolver_start_callback(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 724
    functionName: curlcheck_read_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_read_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 742
    functionName: curlcheck_write_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_write_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 759
    functionName: curlcheck_ioctl_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ioctl_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: curlcheck_sockopt_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_sockopt_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 783
    functionName: curlcheck_opensocket_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_opensocket_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 798
    functionName: curlcheck_progress_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_progress_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: curlcheck_xferinfo_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_xferinfo_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 820
    functionName: curlcheck_debug_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_debug_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 850
    functionName: curlcheck_ssl_ctx_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ssl_ctx_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 879
    functionName: curlcheck_conv_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_conv_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: curlcheck_seek_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_seek_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: curlcheck_chunk_bgn_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_chunk_bgn_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 907
    functionName: curlcheck_chunk_end_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_chunk_end_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: curlcheck_close_socket_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_close_socket_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: curlcheck_fnmatch_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_fnmatch_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: curlcheck_hstsread_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_hstsread_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 927
    functionName: curlcheck_hstswrite_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_hstswrite_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: curlcheck_ssh_hostkey_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ssh_hostkey_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 937
    functionName: curlcheck_ssh_key_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_ssh_key_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: curlcheck_interleave_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_interleave_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: curlcheck_prereq_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_prereq_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 957
    functionName: curlcheck_trailer_cb
    functionSourceFile: /src/curl/include/curl/typecheck-gcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlcheck_trailer_cb(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: CURL_POPCOUNT64
    functionSourceFile: /src/curl/include/curl/system.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_POPCOUNT64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: CURL_CTZ64
    functionSourceFile: /src/curl/include/curl/system.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CTZ64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: CURL_POPCOUNT64
    functionSourceFile: /src/curl/include/curl/system.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_POPCOUNT64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: CURL_CTZ64
    functionSourceFile: /src/curl/include/curl/system.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CTZ64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: CURL_TEMP_PRINTF
    functionSourceFile: /src/curl/include/curl/mprintf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TEMP_PRINTF(fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: CURL_TEMP_PRINTF
    functionSourceFile: /src/curl/include/curl/mprintf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TEMP_PRINTF(fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: curl_multi_socket
    functionSourceFile: /src/curl/include/curl/multi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_multi_socket(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - add
    - shift
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: calc
    functionSourceFile: /src/curl/scripts/schemetable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int calc(const char *s, int add, int shift)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calc
      Src: /src/curl/scripts/schemetable.c:100,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:103,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:113,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:121,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:122,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:123,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:124,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:125,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:133,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:136,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - try
    - init
    - shift
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 141
    functionName: showtable
    functionSourceFile: /src/curl/scripts/schemetable.c
    functionUses: 0
    functionsReached:
    - calc
    - printf
    linkageType: ''
    returnType: void
    signature: void showtable(int try, int init, int shift)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calc
      Src: /src/curl/scripts/schemetable.c:155,1
    - Dst: printf
      Src: /src/curl/scripts/schemetable.c:175,1
    - Dst: showtable
      Src: /src/curl/scripts/schemetable.c:206,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/curl/scripts/schemetable.c
    functionUses: 1
    functionsReached:
    - showtable
    - calc
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/curl/CMake/CurlTests.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethostbyname_r
      Src: /src/curl/CMake/CurlTests.c:85,1
    - Dst: gethostbyname_r
      Src: /src/curl/CMake/CurlTests.c:89,1
    - Dst: gethostbyname_r
      Src: /src/curl/CMake/CurlTests.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - gethostbyname_r
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/curl/CMake/CurlTests.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - ioctlsocket
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IoctlSocket
      Src: /src/curl/CMake/CurlTests.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - IoctlSocket
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IoctlSocket
      Src: /src/curl/CMake/CurlTests.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - IoctlSocket
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/curl/CMake/CurlTests.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - ioctlsocket
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/curl/CMake/CurlTests.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/curl/CMake/CurlTests.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/curl/CMake/CurlTests.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: check
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/curl/CMake/CurlTests.c:282,1
    - Dst: strerror_r
      Src: /src/curl/CMake/CurlTests.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - strerror_r
    - check
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: check
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/curl/CMake/CurlTests.c:299,1
    - Dst: strerror_r
      Src: /src/curl/CMake/CurlTests.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - strerror_r
    - check
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fsetxattr
      Src: /src/curl/CMake/CurlTests.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - fsetxattr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fsetxattr
      Src: /src/curl/CMake/CurlTests.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - fsetxattr
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/curl/CMake/CurlTests.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/curl/CMake/CurlTests.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached:
    - __builtin_available
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: enquote
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enquote(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: expand
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expand(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: enquote
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enquote(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: expand
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expand(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: main
    functionSourceFile: /src/curl/CMake/CurlTests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/cw-out.c:88,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/cw-out.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - otype
    argTypes:
    - cw_out_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: cw_out_buf_create
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    linkageType: ''
    returnType: struct cw_out_buf
    signature: struct cw_out_buf *cw_out_buf_create(cw_out_type otype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/cw-out.c:99,1
    - Dst: free
      Src: /src/curl/lib/cw-out.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cwbuf
    argTypes:
    - struct cw_out_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: cw_out_buf_free
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - free
    linkageType: ''
    returnType: void
    signature: void cw_out_buf_free(struct cw_out_buf *cwbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: cw_out_init
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_init(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_buf_free
      Src: /src/curl/lib/cw-out.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cw_out_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: cw_out_bufs_free
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_buf_free
    linkageType: ''
    returnType: void
    signature: void cw_out_bufs_free(struct cw_out_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cw-out.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cw_out_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: cw_out_bufs_len
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_len
    linkageType: ''
    returnType: size_t
    signature: size_t cw_out_bufs_len(struct cw_out_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_bufs_free
      Src: /src/curl/lib/cw-out.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: cw_out_close
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_bufs_free
    linkageType: ''
    returnType: void
    signature: void cw_out_close(struct Curl_easy *data, struct Curl_cwriter *writer)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - data
    - otype
    - pwcb
    - pwcb_data
    - pmax_write
    - pmin_write
    argTypes:
    - struct Curl_easy*
    - cw_out_type
    - curl_write_callback*
    - void**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 195
    functionName: cw_get_writefunc
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cw_get_writefunc(struct Curl_easy *data, cw_out_type otype,\n
      \                            curl_write_callback *pwcb, void **pwcb_data,\n
      \                            size_t *pmax_write, size_t *pmin_write)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cw-out.c:208,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cw-out.c:210,1
    - Dst: wcb
      Src: /src/curl/lib/cw-out.c:211,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/cw-out.c:211,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cw-out.c:212,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/cw-out.c:213,1
    - Dst: failf
      Src: /src/curl/lib/cw-out.c:221,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/cw-out.c:225,1
    - Dst: Curl_xfer_pause_recv
      Src: /src/curl/lib/cw-out.c:226,1
    - Dst: failf
      Src: /src/curl/lib/cw-out.c:230,1
    - Dst: failf
      Src: /src/curl/lib/cw-out.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 8
    argNames:
    - ctx
    - data
    - wcb
    - wcb_data
    - otype
    - buf
    - blen
    - pnwritten
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - curl_write_callback
    - void*
    - cw_out_type
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 240
    functionName: cw_out_cb_write
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_pause_recv
    - failf
    - CURL_UNCONST
    - CURL_TRC_WRITE
    - DEBUGASSERT
    - Curl_set_in_callback
    - wcb
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_cb_write(struct cw_out_ctx *ctx,\n                                struct
      Curl_easy *data,\n                                curl_write_callback wcb,\n
      \                               void *wcb_data,\n                                cw_out_type
      otype,\n                                const char *buf, size_t blen,\n                                size_t
      *pnwritten)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cw_get_writefunc
      Src: /src/curl/lib/cw-out.c:260,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cw-out.c:268,1
    - Dst: cw_out_cb_write
      Src: /src/curl/lib/cw-out.c:269,1
    - Dst: CURLMIN
      Src: /src/curl/lib/cw-out.c:276,1
    - Dst: cw_out_cb_write
      Src: /src/curl/lib/cw-out.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 7
    argNames:
    - ctx
    - data
    - otype
    - flush_all
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - cw_out_type
    - bool
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 287
    functionName: cw_out_ptr_flush
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_cb_write
    - CURLMIN
    - cw_get_writefunc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_ptr_flush(struct cw_out_ctx *ctx,\n                                 struct
      Curl_easy *data,\n                                 cw_out_type otype,\n                                 bool
      flush_all,\n                                 const char *buf, size_t blen,\n
      \                                size_t *pconsumed)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cw-out.c:296,1
    - Dst: cw_out_ptr_flush
      Src: /src/curl/lib/cw-out.c:299,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/cw-out.c:300,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cw-out.c:301,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cw-out.c:307,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/cw-out.c:308,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cw-out.c:311,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cw-out.c:311,1
    - Dst: curlx_dyn_tail
      Src: /src/curl/lib/cw-out.c:312,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cw-out.c:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - data
    - cwbuf
    - flush_all
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - struct cw_out_buf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 320
    functionName: cw_out_buf_flush
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_tail
    - cw_out_ptr_flush
    - curlx_dyn_free
    - curlx_dyn_len
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_buf_flush(struct cw_out_ctx *ctx,\n                                 struct
      Curl_easy *data,\n                                 struct cw_out_buf *cwbuf,\n
      \                                bool flush_all)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_flush_chain
      Src: /src/curl/lib/cw-out.c:340,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cw-out.c:345,1
    - Dst: cw_out_buf_flush
      Src: /src/curl/lib/cw-out.c:350,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cw-out.c:353,1
    - Dst: cw_out_buf_free
      Src: /src/curl/lib/cw-out.c:354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - data
    - pcwbuf
    - flush_all
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - struct cw_out_buf**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 358
    functionName: cw_out_flush_chain
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 1
    functionsReached:
    - cw_out_buf_flush
    - cw_out_flush_chain
    - curlx_dyn_len
    - cw_out_buf_free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_flush_chain(struct cw_out_ctx *ctx,\n                                   struct
      Curl_easy *data,\n                                   struct cw_out_buf **pcwbuf,\n
      \                                  bool flush_all)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/cw-out.c:365,1
    - Dst: cw_out_bufs_len
      Src: /src/curl/lib/cw-out.c:366,1
    - Dst: cw_out_bufs_len
      Src: /src/curl/lib/cw-out.c:367,1
    - Dst: failf
      Src: /src/curl/lib/cw-out.c:368,1
    - Dst: cw_out_buf_create
      Src: /src/curl/lib/cw-out.c:376,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cw-out.c:382,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/cw-out.c:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - data
    - otype
    - buf
    - blen
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - cw_out_type
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 384
    functionName: cw_out_append
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_buf_create
    - failf
    - CURL_TRC_WRITE
    - curlx_dyn_addn
    - cw_out_bufs_len
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_append(struct cw_out_ctx *ctx,\n                              struct
      Curl_easy *data,\n                              cw_out_type otype,\n                              const
      char *buf, size_t blen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_flush_chain
      Src: /src/curl/lib/cw-out.c:397,1
    - Dst: cw_out_append
      Src: /src/curl/lib/cw-out.c:404,1
    - Dst: cw_out_flush_chain
      Src: /src/curl/lib/cw-out.c:407,1
    - Dst: cw_out_ptr_flush
      Src: /src/curl/lib/cw-out.c:414,1
    - Dst: cw_out_append
      Src: /src/curl/lib/cw-out.c:421,1
    - Dst: cw_out_bufs_free
      Src: /src/curl/lib/cw-out.c:433,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 6
    argNames:
    - ctx
    - data
    - otype
    - flush_all
    - buf
    - blen
    argTypes:
    - struct cw_out_ctx*
    - struct Curl_easy*
    - cw_out_type
    - bool
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 386
    functionDepth: 5
    functionLinenumber: 386
    functionLinenumberEnd: 436
    functionName: cw_out_do_write
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_append
    - cw_out_ptr_flush
    - cw_out_flush_chain
    - cw_out_bufs_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_do_write(struct cw_out_ctx *ctx,\n                                struct
      Curl_easy *data,\n                                cw_out_type otype,\n                                bool
      flush_all,\n                                const char *buf, size_t blen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_do_write
      Src: /src/curl/lib/cw-out.c:450,1
    - Dst: cw_out_do_write
      Src: /src/curl/lib/cw-out.c:456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 438
    functionDepth: 6
    functionLinenumber: 438
    functionLinenumberEnd: 462
    functionName: cw_out_write
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_do_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_write(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer, int type,\n                             const char *buf,
      size_t blen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_type
      Src: /src/curl/lib/cw-out.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: Curl_cw_out_is_paused
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_get_by_type
    linkageType: ''
    returnType: bool
    signature: bool Curl_cw_out_is_paused(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cw_out_flush_chain
      Src: /src/curl/lib/cw-out.c:489,1
    - Dst: cw_out_bufs_free
      Src: /src/curl/lib/cw-out.c:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - cw_out
    - flush_all
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 477
    functionDepth: 5
    functionLinenumber: 477
    functionLinenumberEnd: 496
    functionName: cw_out_flush
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - cw_out_bufs_free
    - cw_out_flush_chain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_out_flush(struct Curl_easy *data,\n                             struct
      Curl_cwriter *cw_out,\n                             bool flush_all)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_type
      Src: /src/curl/lib/cw-out.c:503,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/cw-out.c:506,1
    - Dst: Curl_cw_pause_flush
      Src: /src/curl/lib/cw-out.c:508,1
    - Dst: cw_out_flush
      Src: /src/curl/lib/cw-out.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 498
    functionDepth: 6
    functionLinenumber: 498
    functionLinenumberEnd: 513
    functionName: Curl_cw_out_unpause
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - Curl_cw_pause_flush
    - cw_out_flush
    - CURL_TRC_WRITE
    - Curl_cwriter_get_by_type
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cw_out_unpause(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_type
      Src: /src/curl/lib/cw-out.c:520,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/cw-out.c:522,1
    - Dst: Curl_cw_pause_flush
      Src: /src/curl/lib/cw-out.c:523,1
    - Dst: cw_out_flush
      Src: /src/curl/lib/cw-out.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 6
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: Curl_cw_out_done
    functionSourceFile: /src/curl/lib/cw-out.c
    functionUses: 0
    functionsReached:
    - Curl_cw_pause_flush
    - cw_out_flush
    - CURL_TRC_WRITE
    - Curl_cwriter_get_by_type
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cw_out_done(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: show_resolve_info
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: show_resolve_info(x,y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:140,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/lib/hostip.c:147,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/lib/hostip.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ai
    - buf
    - bufsize
    argTypes:
    - struct Curl_addrinfo*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: Curl_printable_address
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - curlx_inet_ntop
    linkageType: ''
    returnType: void
    signature: "void Curl_printable_address(const struct Curl_addrinfo *ai, char *buf,\n
      \                           size_t bufsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/hostip.c:172,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:173,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/hostip.c:177,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/hostip.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - name
    - nlen
    - port
    - ptr
    - buflen
    argTypes:
    - char*
    - size_t
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: create_dnscache_id
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - strlen
    - DEBUGASSERT
    - Curl_strntolower
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t create_dnscache_id(const char *name,\n                   size_t
      nlen, /* 0 or actual name length */\n                   int port, char *ptr,
      size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/curl/lib/hostip.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - datap
    - hc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: dnscache_entry_is_stale
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    linkageType: ''
    returnType: int
    signature: int dnscache_entry_is_stale(void *datap, void *hc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_clean_with_criterium
      Src: /src/curl/lib/hostip.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hostcache
    - cache_timeout_ms
    - now
    argTypes:
    - struct Curl_hash*
    - timediff_t
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: dnscache_prune
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_hash_clean_with_criterium
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t dnscache_prune(struct Curl_hash *hostcache, timediff_t
      cache_timeout_ms,\n               struct curltime now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: dnscache_get
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct Curl_dnscache
    signature: struct Curl_dnscache *dnscache_get(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/curl/lib/hostip.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - data
    - dnscache
    argTypes:
    - struct Curl_easy*
    - struct Curl_dnscache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: dnscache_lock
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_share_lock
    linkageType: ''
    returnType: void
    signature: "void dnscache_lock(struct Curl_easy *data,\n                          struct
      Curl_dnscache *dnscache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/hostip.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - data
    - dnscache
    argTypes:
    - struct Curl_easy*
    - struct Curl_dnscache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: dnscache_unlock
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_share_unlock
    linkageType: ''
    returnType: void
    signature: "void dnscache_unlock(struct Curl_easy *data,\n                            struct
      Curl_dnscache *dnscache)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/curl/lib/hostip.c:264,1
    - Dst: dnscache_lock
      Src: /src/curl/lib/hostip.c:273,1
    - Dst: curlx_now
      Src: /src/curl/lib/hostip.c:275,1
    - Dst: dnscache_prune
      Src: /src/curl/lib/hostip.c:279,1
    - Dst: Curl_hash_count
      Src: /src/curl/lib/hostip.c:281,1
    - Dst: dnscache_unlock
      Src: /src/curl/lib/hostip.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 292
    functionName: Curl_dnscache_prune
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_lock
    - curlx_now
    - dnscache_prune
    - dnscache_unlock
    - Curl_hash_count
    - dnscache_get
    linkageType: ''
    returnType: void
    signature: void Curl_dnscache_prune(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/curl/lib/hostip.c:296,1
    - Dst: dnscache_lock
      Src: /src/curl/lib/hostip.c:298,1
    - Dst: Curl_hash_clean
      Src: /src/curl/lib/hostip.c:299,1
    - Dst: dnscache_unlock
      Src: /src/curl/lib/hostip.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: Curl_dnscache_clear
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_lock
    - dnscache_unlock
    - dnscache_get
    - Curl_hash_clean
    linkageType: ''
    returnType: void
    signature: void Curl_dnscache_clear(struct Curl_easy *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_dnscache_id
      Src: /src/curl/lib/hostip.c:327,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/hostip.c:331,1
    - Dst: create_dnscache_id
      Src: /src/curl/lib/hostip.c:335,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/hostip.c:338,1
    - Dst: curlx_now
      Src: /src/curl/lib/hostip.c:345,1
    - Dst: dnscache_entry_is_stale
      Src: /src/curl/lib/hostip.c:349,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:350,1
    - Dst: Curl_hash_delete
      Src: /src/curl/lib/hostip.c:352,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:376,1
    - Dst: Curl_hash_delete
      Src: /src/curl/lib/hostip.c:378,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - data
    - dnscache
    - hostname
    - port
    - ip_version
    argTypes:
    - struct Curl_easy*
    - struct Curl_dnscache*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 382
    functionName: fetch_addr
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_hash_delete
    - dnscache_entry_is_stale
    - create_dnscache_id
    - curlx_now
    - infof
    - Curl_hash_pick
    linkageType: ''
    returnType: struct Curl_dns_entry
    signature: "struct Curl_dns_entry *fetch_addr(struct Curl_easy *data,\n                                         struct
      Curl_dnscache *dnscache,\n                                         const char
      *hostname,\n                                         int port,\n                                         int
      ip_version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/curl/lib/hostip.c:404,1
    - Dst: dnscache_lock
      Src: /src/curl/lib/hostip.c:407,1
    - Dst: fetch_addr
      Src: /src/curl/lib/hostip.c:409,1
    - Dst: dnscache_unlock
      Src: /src/curl/lib/hostip.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - hostname
    - port
    - ip_version
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: Curl_dnscache_get
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_lock
    - dnscache_unlock
    - fetch_addr
    - dnscache_get
    linkageType: ''
    returnType: struct Curl_dns_entry
    signature: "struct Curl_dns_entry *\nCurl_dnscache_get(struct Curl_easy *data,\n
      \                 const char *hostname,\n                  int port,\n                  int
      ip_version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 430
    functionName: num_addresses
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_addresses(const struct Curl_addrinfo *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: num_addresses
      Src: /src/curl/lib/hostip.c:450,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:454,1
    - Dst: malloc
      Src: /src/curl/lib/hostip.c:456,1
    - Dst: malloc
      Src: /src/curl/lib/hostip.c:468,1
    - Dst: Curl_rand
      Src: /src/curl/lib/hostip.c:471,1
    - Dst: free
      Src: /src/curl/lib/hostip.c:487,1
    - Dst: free
      Src: /src/curl/lib/hostip.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - data
    - addr
    argTypes:
    - struct Curl_easy*
    - struct Curl_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 497
    functionName: Curl_shuffle_addr
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - malloc
    - Curl_rand
    - free
    - infof
    - num_addresses
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST Curl_shuffle_addr(struct Curl_easy *data,\n                                    struct
      Curl_addrinfo **addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_shuffle_addr
      Src: /src/curl/lib/hostip.c:513,1
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/hostip.c:515,1
    - Dst: strlen
      Src: /src/curl/lib/hostip.c:523,1
    - Dst: calloc
      Src: /src/curl/lib/hostip.c:526,1
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/hostip.c:528,1
    - Dst: curlx_now
      Src: /src/curl/lib/hostip.c:539,1
    - Dst: memcpy
      Src: /src/curl/lib/hostip.c:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 6
    argNames:
    - data
    - addr
    - hostname
    - hostlen
    - port
    - permanent
    argTypes:
    - struct Curl_easy*
    - struct Curl_addrinfo*
    - char*
    - size_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 546
    functionName: Curl_dnscache_mk_entry
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    - curlx_now
    - Curl_shuffle_addr
    - memcpy
    - Curl_freeaddrinfo
    linkageType: ''
    returnType: struct Curl_dns_entry
    signature: "struct Curl_dns_entry *\nCurl_dnscache_mk_entry(struct Curl_easy *data,\n
      \                      struct Curl_addrinfo *addr,\n                       const
      char *hostname,\n                       size_t hostlen, /* length or zero */\n
      \                      int port,\n                       bool permanent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dnscache_mk_entry
      Src: /src/curl/lib/hostip.c:562,1
    - Dst: create_dnscache_id
      Src: /src/curl/lib/hostip.c:567,1
    - Dst: Curl_hash_add
      Src: /src/curl/lib/hostip.c:571,1
    - Dst: dnscache_entry_free
      Src: /src/curl/lib/hostip.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 7
    argNames:
    - data
    - dnscache
    - addr
    - hostname
    - hlen
    - port
    - permanent
    argTypes:
    - struct Curl_easy*
    - struct Curl_dnscache*
    - struct Curl_addrinfo*
    - char*
    - size_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 581
    functionName: dnscache_add_addr
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_hash_add
    - create_dnscache_id
    - Curl_dnscache_mk_entry
    - dnscache_entry_free
    linkageType: ''
    returnType: struct Curl_dns_entry
    signature: "struct Curl_dns_entry *\ndnscache_add_addr(struct Curl_easy *data,\n
      \                 struct Curl_dnscache *dnscache,\n                  struct
      Curl_addrinfo *addr,\n                  const char *hostname,\n                  size_t
      hlen, /* length or zero */\n                  int port,\n                  bool
      permanent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/curl/lib/hostip.c:586,1
    - Dst: create_dnscache_id
      Src: /src/curl/lib/hostip.c:593,1
    - Dst: dnscache_lock
      Src: /src/curl/lib/hostip.c:597,1
    - Dst: Curl_hash_add
      Src: /src/curl/lib/hostip.c:598,1
    - Dst: dnscache_unlock
      Src: /src/curl/lib/hostip.c:599,1
    - Dst: dnscache_unlock
      Src: /src/curl/lib/hostip.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 605
    functionName: Curl_dnscache_add
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_lock
    - Curl_hash_add
    - create_dnscache_id
    - dnscache_unlock
    - dnscache_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dnscache_add(struct Curl_easy *data,\n                           struct
      Curl_dns_entry *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/hostip.c:613,1
    - Dst: calloc
      Src: /src/curl/lib/hostip.c:617,1
    - Dst: htons
      Src: /src/curl/lib/hostip.c:622,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/hostip.c:628,1
    - Dst: memcpy
      Src: /src/curl/lib/hostip.c:629,1
    - Dst: memcpy
      Src: /src/curl/lib/hostip.c:638,1
    - Dst: strcpy
      Src: /src/curl/lib/hostip.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - port
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 642
    functionName: get_localhost6
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    - curlx_inet_pton
    - memcpy
    - htons
    - strcpy
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *get_localhost6(int port, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: get_localhost6
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_localhost6(x,y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/hostip.c:653,1
    - Dst: memset
      Src: /src/curl/lib/hostip.c:659,1
    - Dst: htons
      Src: /src/curl/lib/hostip.c:661,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/hostip.c:662,1
    - Dst: memcpy
      Src: /src/curl/lib/hostip.c:664,1
    - Dst: calloc
      Src: /src/curl/lib/hostip.c:666,1
    - Dst: memcpy
      Src: /src/curl/lib/hostip.c:675,1
    - Dst: strcpy
      Src: /src/curl/lib/hostip.c:677,1
    - Dst: get_localhost6
      Src: /src/curl/lib/hostip.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - port
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 684
    functionName: get_localhost
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    - curlx_inet_pton
    - memcpy
    - get_localhost6
    - memset
    - htons
    - strcpy
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *get_localhost(int port, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:696,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:697,1
    - Dst: Curl_ipv6works
      Src: /src/curl/lib/hostip.c:699,1
    - Dst: CURL_SOCKET
      Src: /src/curl/lib/hostip.c:707,1
    - Dst: sclose
      Src: /src/curl/lib/hostip.c:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 717
    functionName: Curl_ipv6works
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - CURL_SOCKET
    - Curl_ipv6works
    - DEBUGASSERT
    - sclose
    linkageType: ''
    returnType: bool
    signature: bool Curl_ipv6works(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/hostip.c:730,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/hostip.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 737
    functionName: Curl_host_is_ipnum
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curlx_inet_pton
    linkageType: ''
    returnType: bool
    signature: bool Curl_host_is_ipnum(const char *hostname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/hostip.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - full
    - flen
    - part
    - plen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: tailmatch
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: "bool tailmatch(const char *full, size_t flen,\n                      const
      char *part, size_t plen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/hostip.c:755,1
    - Dst: Curl_ip2addr
      Src: /src/curl/lib/hostip.c:762,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/hostip.c:769,1
    - Dst: Curl_ip2addr
      Src: /src/curl/lib/hostip.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - hostname
    - port
    - is_ipaddr
    argTypes:
    - char*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 781
    functionName: convert_ipaddr_direct
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curlx_inet_pton
    - Curl_ip2addr
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: 'struct Curl_addrinfo *

      convert_ipaddr_direct(const char *hostname, int port, bool *is_ipaddr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ipv6works
      Src: /src/curl/lib/hostip.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ip_version
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 796
    functionName: can_resolve_ip_version
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_ipv6works
    linkageType: ''
    returnType: bool
    signature: bool can_resolve_ip_version(struct Curl_easy *data, int ip_version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/curl/lib/hostip.c:802,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:804,1
    - Dst: dnscache_add_addr
      Src: /src/curl/lib/hostip.c:809,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - host
    - port
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 798
    functionDepth: 4
    functionLinenumber: 798
    functionLinenumberEnd: 818
    functionName: store_negative_resolve
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - infof
    - dnscache_add_addr
    - DEBUGASSERT
    - dnscache_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode store_negative_resolve(struct Curl_easy *data,\n                                       const
      char *host,\n                                       int port)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/curl/lib/hostip.c:843,1
    - Dst: strlen
      Src: /src/curl/lib/hostip.c:860,1
    - Dst: curl_strequal
      Src: /src/curl/lib/hostip.c:862,1
    - Dst: curl_strequal
      Src: /src/curl/lib/hostip.c:863,1
    - Dst: failf
      Src: /src/curl/lib/hostip.c:864,1
    - Dst: dnscache_lock
      Src: /src/curl/lib/hostip.c:869,1
    - Dst: fetch_addr
      Src: /src/curl/lib/hostip.c:870,1
    - Dst: dnscache_unlock
      Src: /src/curl/lib/hostip.c:873,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:875,1
    - Dst: Curl_async_get_impl
      Src: /src/curl/lib/hostip.c:884,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/hostip.c:887,1
    - Dst: struct Curl_easy*::set::resolver_start
      Src: /src/curl/lib/hostip.c:888,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/hostip.c:890,1
    - Dst: convert_ipaddr_direct
      Src: /src/curl/lib/hostip.c:898,1
    - Dst: Curl_ipv6works
      Src: /src/curl/lib/hostip.c:909,1
    - Dst: curl_strequal
      Src: /src/curl/lib/hostip.c:913,1
    - Dst: curl_strequal
      Src: /src/curl/lib/hostip.c:914,1
    - Dst: tailmatch
      Src: /src/curl/lib/hostip.c:915,1
    - Dst: STRCONST
      Src: /src/curl/lib/hostip.c:915,1
    - Dst: tailmatch
      Src: /src/curl/lib/hostip.c:916,1
    - Dst: STRCONST
      Src: /src/curl/lib/hostip.c:916,1
    - Dst: get_localhost
      Src: /src/curl/lib/hostip.c:917,1
    - Dst: Curl_doh
      Src: /src/curl/lib/hostip.c:921,1
    - Dst: if
      Src: /src/curl/lib/hostip.c:926,1
    - Dst: can_resolve_ip_version
      Src: /src/curl/lib/hostip.c:926,1
    - Dst: Curl_async_getaddrinfo
      Src: /src/curl/lib/hostip.c:930,1
    - Dst: Curl_sync_getaddrinfo
      Src: /src/curl/lib/hostip.c:933,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 6
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - allowDOH
    - entry
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - bool
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 836
    functionDepth: 3
    functionLinenumber: 836
    functionLinenumberEnd: 935
    functionName: Curl_resolv
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - convert_ipaddr_direct
    - Curl_async_get_impl
    - dnscache_unlock
    - STRCONST
    - Curl_set_in_callback
    - dnscache_get
    - failf
    - curl_strequal
    - dnscache_lock
    - can_resolve_ip_version
    - Curl_ipv6works
    - Curl_async_getaddrinfo
    - strlen
    - fetch_addr
    - get_localhost
    - Curl_doh
    - if
    - struct Curl_easy*::set::resolver_start
    - tailmatch
    - Curl_sync_getaddrinfo
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv(struct Curl_easy *data,\n                     const
      char *hostname,\n                     int port,\n                     int ip_version,\n
      \                    bool allowDOH,\n                     struct Curl_dns_entry
      **entry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_resolv
      Src: /src/curl/lib/hostip.c:987,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:990,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:993,1
    - Dst: Curl_async_await
      Src: /src/curl/lib/hostip.c:994,1
    - Dst: connclose
      Src: /src/curl/lib/hostip.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - dnsentry
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 978
    functionDepth: 4
    functionLinenumber: 978
    functionLinenumberEnd: 1004
    functionName: Curl_resolv_blocking
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_async_await
    - Curl_resolv
    - connclose
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv_blocking(struct Curl_easy *data,\n                              const
      char *hostname,\n                              int port,\n                              int
      ip_version,\n                              struct Curl_dns_entry **dnsentry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/curl/lib/hostip.c:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1017
    functionName: alarmfunc
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: CURL_NORETURN
    signature: CURL_NORETURN alarmfunc(int sig)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_resolv
      Src: /src/curl/lib/hostip.c:1083,1
    - Dst: failf
      Src: /src/curl/lib/hostip.c:1088,1
    - Dst: curl_simple_lock_lock
      Src: /src/curl/lib/hostip.c:1099,1
    - Dst: sigsetjmp
      Src: /src/curl/lib/hostip.c:1101,1
    - Dst: failf
      Src: /src/curl/lib/hostip.c:1103,1
    - Dst: sigaction
      Src: /src/curl/lib/hostip.c:1113,1
    - Dst: sigaction
      Src: /src/curl/lib/hostip.c:1122,1
    - Dst: signal
      Src: /src/curl/lib/hostip.c:1126,1
    - Dst: alarm
      Src: /src/curl/lib/hostip.c:1132,1
    - Dst: curlx_sltoui
      Src: /src/curl/lib/hostip.c:1132,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1138,1
    - Dst: Curl_resolv
      Src: /src/curl/lib/hostip.c:1147,1
    - Dst: alarm
      Src: /src/curl/lib/hostip.c:1154,1
    - Dst: sigaction
      Src: /src/curl/lib/hostip.c:1160,1
    - Dst: signal
      Src: /src/curl/lib/hostip.c:1165,1
    - Dst: curl_simple_lock_unlock
      Src: /src/curl/lib/hostip.c:1169,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/hostip.c:1175,1
    - Dst: curlx_now
      Src: /src/curl/lib/hostip.c:1175,1
    - Dst: alarm
      Src: /src/curl/lib/hostip.c:1187,1
    - Dst: failf
      Src: /src/curl/lib/hostip.c:1189,1
    - Dst: alarm
      Src: /src/curl/lib/hostip.c:1192,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 6
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - entry
    - timeoutms
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - struct Curl_dns_entry**
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1041
    functionDepth: 4
    functionLinenumber: 1041
    functionLinenumberEnd: 1197
    functionName: Curl_resolv_timeout
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - curl_simple_lock_lock
    - Curl_resolv
    - failf
    - curl_simple_lock_unlock
    - curlx_now
    - sigsetjmp
    - curlx_sltoui
    - curlx_timediff
    - sigaction
    - infof
    - signal
    - alarm
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv_timeout(struct Curl_easy *data,\n                             const
      char *hostname,\n                             int port,\n                             int
      ip_version,\n                             struct Curl_dns_entry **entry,\n                             timediff_t
      timeoutms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/hostip.c:1201,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/curl/lib/hostip.c:1204,1
    - Dst: free
      Src: /src/curl/lib/hostip.c:1205,1
    - Dst: free
      Src: /src/curl/lib/hostip.c:1208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dns
    argTypes:
    - struct Curl_dns_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1209
    functionName: dnscache_entry_free
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - free
    - Curl_httpsrr_cleanup
    - Curl_freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void dnscache_entry_free(struct Curl_dns_entry *dns)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/curl/lib/hostip.c:1221,1
    - Dst: dnscache_lock
      Src: /src/curl/lib/hostip.c:1224,1
    - Dst: dnscache_entry_free
      Src: /src/curl/lib/hostip.c:1227,1
    - Dst: dnscache_unlock
      Src: /src/curl/lib/hostip.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - pdns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1230
    functionName: Curl_resolv_unlink
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - dnscache_lock
    - dnscache_unlock
    - dnscache_entry_free
    - dnscache_get
    linkageType: ''
    returnType: void
    signature: void Curl_resolv_unlink(struct Curl_easy *data, struct Curl_dns_entry
      **pdns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:1235,1
    - Dst: dnscache_entry_free
      Src: /src/curl/lib/hostip.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1239
    functionName: dnscache_entry_dtor
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - dnscache_entry_free
    linkageType: ''
    returnType: void
    signature: void dnscache_entry_dtor(void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/curl/lib/hostip.c:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dns
    - size
    argTypes:
    - struct Curl_dnscache*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1248
    functionName: Curl_dnscache_init
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - Curl_hash_init
    linkageType: ''
    returnType: void
    signature: void Curl_dnscache_init(struct Curl_dnscache *dns, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_destroy
      Src: /src/curl/lib/hostip.c:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dns
    argTypes:
    - struct Curl_dnscache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1253
    functionName: Curl_dnscache_destroy
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - Curl_hash_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_dnscache_destroy(struct Curl_dnscache *dns)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: dnscache_get
      Src: /src/curl/lib/hostip.c:1257,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1276,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/hostip.c:1277,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1278,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1279,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/hostip.c:1283,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1284,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/hostip.c:1289,1
    - Dst: create_dnscache_id
      Src: /src/curl/lib/hostip.c:1291,1
    - Dst: curlx_str
      Src: /src/curl/lib/hostip.c:1291,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hostip.c:1292,1
    - Dst: dnscache_lock
      Src: /src/curl/lib/hostip.c:1294,1
    - Dst: Curl_hash_delete
      Src: /src/curl/lib/hostip.c:1296,1
    - Dst: dnscache_unlock
      Src: /src/curl/lib/hostip.c:1297,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1316,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/hostip.c:1317,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1318,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/hostip.c:1322,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1325,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/hostip.c:1326,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1327,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1339,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/hostip.c:1340,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1341,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/hostip.c:1345,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1346,1
    - Dst: memchr
      Src: /src/curl/lib/hostip.c:1353,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1354,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1356,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hostip.c:1362,1
    - Dst: memcpy
      Src: /src/curl/lib/hostip.c:1365,1
    - Dst: curlx_str
      Src: /src/curl/lib/hostip.c:1365,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hostip.c:1365,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hostip.c:1366,1
    - Dst: Curl_str2addr
      Src: /src/curl/lib/hostip.c:1368,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1370,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hostip.c:1381,1
    - Dst: failf
      Src: /src/curl/lib/hostip.c:1391,1
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/hostip.c:1393,1
    - Dst: create_dnscache_id
      Src: /src/curl/lib/hostip.c:1398,1
    - Dst: curlx_str
      Src: /src/curl/lib/hostip.c:1398,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hostip.c:1398,1
    - Dst: dnscache_lock
      Src: /src/curl/lib/hostip.c:1402,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/hostip.c:1405,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1408,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hostip.c:1409,1
    - Dst: curlx_str
      Src: /src/curl/lib/hostip.c:1410,1
    - Dst: Curl_hash_delete
      Src: /src/curl/lib/hostip.c:1422,1
    - Dst: dnscache_add_addr
      Src: /src/curl/lib/hostip.c:1426,1
    - Dst: curlx_str
      Src: /src/curl/lib/hostip.c:1426,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hostip.c:1427,1
    - Dst: dnscache_unlock
      Src: /src/curl/lib/hostip.c:1434,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1440,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hostip.c:1441,1
    - Dst: curlx_str
      Src: /src/curl/lib/hostip.c:1441,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/hostip.c:1446,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1447,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 113
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1255
    functionDepth: 4
    functionLinenumber: 1255
    functionLinenumberEnd: 1456
    functionName: Curl_loadhostpairs
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 2
    functionsReached:
    - curlx_str_single
    - dnscache_unlock
    - dnscache_get
    - Curl_hash_delete
    - curlx_str_casecompare
    - failf
    - dnscache_lock
    - Curl_str2addr
    - curlx_strlen
    - curlx_str_number
    - curlx_str_until
    - Curl_hash_pick
    - create_dnscache_id
    - memcpy
    - curlx_str
    - dnscache_add_addr
    - memchr
    - Curl_freeaddrinfo
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_loadhostpairs(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:1469,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:1470,1
    - Dst: Curl_host_is_ipnum
      Src: /src/curl/lib/hostip.c:1474,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1479,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/hostip.c:1482,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/hostip.c:1484,1
    - Dst: Curl_printable_address
      Src: /src/curl/lib/hostip.c:1495,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/hostip.c:1496,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/hostip.c:1497,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/hostip.c:1499,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1501,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1509,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/hostip.c:1510,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/hostip.c:1510,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1512,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/hostip.c:1513,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/hostip.c:1513,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/hostip.c:1516,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/hostip.c:1518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - data
    - dns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1520
    functionName: show_resolve_info
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_host_is_ipnum
    - curlx_dyn_add
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_dyn_init
    - Curl_printable_address
    - curlx_dyn_len
    - infof
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: void
    signature: "void show_resolve_info(struct Curl_easy *data,\n                              struct
      Curl_dns_entry *dns)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dnscache_get
      Src: /src/curl/lib/hostip.c:1534,1
    - Dst: infof
      Src: /src/curl/lib/hostip.c:1539,1
    - Dst: Curl_async_shutdown
      Src: /src/curl/lib/hostip.c:1541,1
    - Dst: Curl_doh_is_resolved
      Src: /src/curl/lib/hostip.c:1549,1
    - Dst: Curl_resolver_error
      Src: /src/curl/lib/hostip.c:1551,1
    - Dst: Curl_async_is_resolved
      Src: /src/curl/lib/hostip.c:1555,1
    - Dst: show_resolve_info
      Src: /src/curl/lib/hostip.c:1557,1
    - Dst: store_negative_resolve
      Src: /src/curl/lib/hostip.c:1560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - data
    - dns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1524
    functionDepth: 5
    functionLinenumber: 1524
    functionLinenumberEnd: 1563
    functionName: Curl_resolv_check
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - show_resolve_info
    - Curl_doh_is_resolved
    - Curl_resolver_error
    - Curl_async_shutdown
    - Curl_async_is_resolved
    - Curl_dnscache_get
    - infof
    - store_negative_resolve
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv_check(struct Curl_easy *data,\n                           struct
      Curl_dns_entry **dns)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_async_pollset
      Src: /src/curl/lib/hostip.c:1576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1582
    functionName: Curl_resolv_pollset
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_async_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_resolv_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hostip.c:1598,1
    - Dst: Curl_setup_conn
      Src: /src/curl/lib/hostip.c:1603,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/hostip.c:1606,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/hostip.c:1607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - dns
    - protocol_done
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1610
    functionName: Curl_once_resolved
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 0
    functionsReached:
    - Curl_setup_conn
    - DEBUGASSERT
    - Curl_conn_terminate
    - Curl_detach_connection
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_once_resolved(struct Curl_easy *data,\n                            struct
      Curl_dns_entry *dns,\n                            bool *protocol_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/hostip.c:1634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - detail
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1637
    functionName: Curl_resolver_error
    functionSourceFile: /src/curl/lib/hostip.c
    functionUses: 1
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_resolver_error(struct Curl_easy *data, const char *detail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: CURL_POPCOUNT64
    functionSourceFile: /src/curl/lib/uint-bset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_POPCOUNT64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: CURL_CTZ64
    functionSourceFile: /src/curl/lib/uint-bset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CTZ64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/fake_addrinfo.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cahead
    argTypes:
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: r_freeaddrinfo
    functionSourceFile: /src/curl/lib/fake_addrinfo.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void r_freeaddrinfo(struct addrinfo *cahead)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - userp
    - status
    - timeouts
    - result
    argTypes:
    - void*
    - int
    - int
    - struct ares_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: async_addrinfo_cb
    functionSourceFile: /src/curl/lib/fake_addrinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void async_addrinfo_cb(void *userp, int status, int timeouts,\n                              struct
      ares_addrinfo *result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/fake_addrinfo.c:75,1
    - Dst: malloc
      Src: /src/curl/lib/fake_addrinfo.c:93,1
    - Dst: r_freeaddrinfo
      Src: /src/curl/lib/fake_addrinfo.c:95,1
    - Dst: memcpy
      Src: /src/curl/lib/fake_addrinfo.c:112,1
    - Dst: memcpy
      Src: /src/curl/lib/fake_addrinfo.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - aihead
    argTypes:
    - struct ares_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 134
    functionName: mk_getaddrinfo
    functionSourceFile: /src/curl/lib/fake_addrinfo.c
    functionUses: 0
    functionsReached:
    - memcpy
    - r_freeaddrinfo
    - strlen
    - malloc
    linkageType: ''
    returnType: struct addrinfo
    signature: struct addrinfo *mk_getaddrinfo(const struct ares_addrinfo *aihead)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/fake_addrinfo.c:157,1
    - Dst: memset
      Src: /src/curl/lib/fake_addrinfo.c:161,1
    - Dst: memset
      Src: /src/curl/lib/fake_addrinfo.c:162,1
    - Dst: ares_init_options
      Src: /src/curl/lib/fake_addrinfo.c:171,1
    - Dst: getenv
      Src: /src/curl/lib/fake_addrinfo.c:176,1
    - Dst: ares_set_servers_ports_csv
      Src: /src/curl/lib/fake_addrinfo.c:178,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/fake_addrinfo.c:180,1
    - Dst: ares_destroy
      Src: /src/curl/lib/fake_addrinfo.c:182,1
    - Dst: ares_getaddrinfo
      Src: /src/curl/lib/fake_addrinfo.c:188,1
    - Dst: ares_queue_wait_empty
      Src: /src/curl/lib/fake_addrinfo.c:192,1
    - Dst: mk_getaddrinfo
      Src: /src/curl/lib/fake_addrinfo.c:196,1
    - Dst: ares_freeaddrinfo
      Src: /src/curl/lib/fake_addrinfo.c:198,1
    - Dst: ares_destroy
      Src: /src/curl/lib/fake_addrinfo.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 4
    argNames:
    - node
    - service
    - hints
    - res
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 207
    functionName: r_getaddrinfo
    functionSourceFile: /src/curl/lib/fake_addrinfo.c
    functionUses: 0
    functionsReached:
    - getenv
    - mk_getaddrinfo
    - ares_set_servers_ports_csv
    - curl_mfprintf
    - ares_getaddrinfo
    - ares_freeaddrinfo
    - ares_init_options
    - ares_queue_wait_empty
    - ares_destroy
    - memset
    linkageType: ''
    returnType: int
    signature: "int r_getaddrinfo(const char *node,\n                  const char
      *service,\n                  const struct addrinfo *hints,\n                  struct
      addrinfo **res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/pingpong.c:56,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/pingpong.c:65,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/pingpong.c:69,1
    - Dst: CURLMIN
      Src: /src/curl/lib/pingpong.c:71,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/pingpong.c:75,1
    - Dst: CURLMIN
      Src: /src/curl/lib/pingpong.c:76,1
    - Dst: CURLMAX
      Src: /src/curl/lib/pingpong.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - pp
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 80
    functionName: Curl_pp_state_timeout
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - Curl_timeleft
    - CURLMIN
    - curlx_now
    - curlx_timediff
    - CURLMAX
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_pp_state_timeout(struct Curl_easy *data,\n                                 struct
      pingpong *pp, bool disconnecting)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_state_timeout
      Src: /src/curl/lib/pingpong.c:93,1
    - Dst: failf
      Src: /src/curl/lib/pingpong.c:97,1
    - Dst: Curl_conn_data_pending
      Src: /src/curl/lib/pingpong.c:109,1
    - Dst: Curl_conn_data_pending
      Src: /src/curl/lib/pingpong.c:114,1
    - Dst: Curl_socket_check
      Src: /src/curl/lib/pingpong.c:118,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/pingpong.c:126,1
    - Dst: Curl_speedcheck
      Src: /src/curl/lib/pingpong.c:129,1
    - Dst: curlx_now
      Src: /src/curl/lib/pingpong.c:129,1
    - Dst: failf
      Src: /src/curl/lib/pingpong.c:136,1
    - Dst: struct pingpong*::statemachine
      Src: /src/curl/lib/pingpong.c:140,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - data
    - pp
    - block
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 145
    functionName: Curl_pp_statemach
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_pp_state_timeout
    - struct pingpong*::statemachine
    - curlx_now
    - Curl_conn_data_pending
    - Curl_pgrsUpdate
    - Curl_speedcheck
    - Curl_socket_check
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_statemach(struct Curl_easy *data,\n                           struct
      pingpong *pp, bool block,\n                           bool disconnecting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/pingpong.c:150,1
    - Dst: curlx_now
      Src: /src/curl/lib/pingpong.c:152,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/pingpong.c:154,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/pingpong.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: Curl_pp_init
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - curlx_now
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_pp_init(struct pingpong *pp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/pingpong.c:180,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/pingpong.c:181,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/pingpong.c:182,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/pingpong.c:188,1
    - Dst: curlx_dyn_vaddf
      Src: /src/curl/lib/pingpong.c:189,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/pingpong.c:194,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/pingpong.c:199,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/pingpong.c:200,1
    - Dst: Curl_conn_send
      Src: /src/curl/lib/pingpong.c:202,1
    - Dst: Curl_debug
      Src: /src/curl/lib/pingpong.c:210,1
    - Dst: curlx_now
      Src: /src/curl/lib/pingpong.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - data
    - pp
    - fmt
    - args
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 225
    functionName: Curl_pp_vsendf
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_vaddf
    - curlx_now
    - curlx_dyn_reset
    - curlx_dyn_addn
    - Curl_conn_send
    - curlx_dyn_len
    - DEBUGASSERT
    - curlx_dyn_ptr
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_vsendf(struct Curl_easy *data,\n                        struct
      pingpong *pp,\n                        const char *fmt,\n                        va_list
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/pingpong.c:243,1
    - Dst: Curl_pp_vsendf
      Src: /src/curl/lib/pingpong.c:245,1
    - Dst: va_end
      Src: /src/curl/lib/pingpong.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - pp
    - fmt
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: Curl_pp_sendf
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - va_start
    - Curl_pp_vsendf
    - va_end
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_sendf(struct Curl_easy *data, struct pingpong *pp,\n
      \                      const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_recv
      Src: /src/curl/lib/pingpong.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - sockindex
    - buffer
    - buflen
    - nread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: pingpong_read
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - Curl_conn_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pingpong_read(struct Curl_easy *data,\n                              int
      sockindex,\n                              char *buffer,\n                              size_t
      buflen,\n                              size_t *nread)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/pingpong.c:285,1
    - Dst: curlx_dyn_tail
      Src: /src/curl/lib/pingpong.c:288,1
    - Dst: pingpong_read
      Src: /src/curl/lib/pingpong.c:293,1
    - Dst: failf
      Src: /src/curl/lib/pingpong.c:302,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/pingpong.c:306,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/pingpong.c:316,1
    - Dst: memchr
      Src: /src/curl/lib/pingpong.c:317,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/pingpong.c:317,1
    - Dst: Curl_debug
      Src: /src/curl/lib/pingpong.c:324,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/pingpong.c:330,1
    - Dst: struct pingpong*::endofresp
      Src: /src/curl/lib/pingpong.c:334,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/pingpong.c:340,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/pingpong.c:341,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/pingpong.c:349,1
    - Dst: curlx_dyn_tail
      Src: /src/curl/lib/pingpong.c:351,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/pingpong.c:351,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/pingpong.c:353,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 5
    argNames:
    - data
    - sockindex
    - pp
    - code
    - size
    argTypes:
    - struct Curl_easy*
    - int
    - struct pingpong*
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 368
    functionName: Curl_pp_readresp
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_tail
    - struct pingpong*::endofresp
    - failf
    - Curl_client_write
    - curlx_dyn_reset
    - curlx_dyn_addn
    - memchr
    - curlx_dyn_len
    - pingpong_read
    - curlx_dyn_ptr
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_readresp(struct Curl_easy *data,\n                          int
      sockindex,\n                          struct pingpong *pp,\n                          int
      *code, /* return the server code if done */\n                          size_t
      *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_change
      Src: /src/curl/lib/pingpong.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - pp
    - ps
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: Curl_pp_pollset
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_pollset(struct Curl_easy *data,\n                         struct
      pingpong *pp,\n                         struct easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - pp
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: Curl_pp_needs_flush
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_pp_needs_flush(struct Curl_easy *data,\n                         struct
      pingpong *pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_needs_flush
      Src: /src/curl/lib/pingpong.c:393,1
    - Dst: Curl_conn_send
      Src: /src/curl/lib/pingpong.c:396,1
    - Dst: curlx_now
      Src: /src/curl/lib/pingpong.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - pp
    argTypes:
    - struct Curl_easy*
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 416
    functionName: Curl_pp_flushsend
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_now
    - Curl_conn_send
    - Curl_pp_needs_flush
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pp_flushsend(struct Curl_easy *data,\n                           struct
      pingpong *pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/pingpong.c:421,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/pingpong.c:422,1
    - Dst: memset
      Src: /src/curl/lib/pingpong.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: Curl_pp_disconnect
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_pp_disconnect(struct pingpong *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/pingpong.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pingpong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: Curl_pp_moredata
    functionSourceFile: /src/curl/lib/pingpong.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_len
    linkageType: ''
    returnType: bool
    signature: bool Curl_pp_moredata(struct pingpong *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: Curl_http2_may_switch
    functionSourceFile: /src/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_http2_may_switch(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: Curl_http2_request_upgrade
    functionSourceFile: /src/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_http2_request_upgrade(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: Curl_http2_switch
    functionSourceFile: /src/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_http2_switch(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: Curl_http2_upgrade
    functionSourceFile: /src/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_http2_upgrade(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: Curl_h2_http_1_1_error
    functionSourceFile: /src/curl/lib/http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_h2_http_1_1_error(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/file.c:139,1
    - Dst: close
      Src: /src/curl/lib/file.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct FILEPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: file_cleanup
    functionSourceFile: /src/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - close
    linkageType: ''
    returnType: void
    signature: void file_cleanup(struct FILEPROTO *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_cleanup
      Src: /src/curl/lib/file.c:152,1
    - Dst: free
      Src: /src/curl/lib/file.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: file_easy_dtor
    functionSourceFile: /src/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - file_cleanup
    - free
    linkageType: ''
    returnType: void
    signature: void file_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/file.c:162,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/file.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: file_setup_connection
    functionSourceFile: /src/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - Curl_meta_set
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode file_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/file.c:178,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/file.c:199,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/file.c:233,1
    - Dst: curlx_open
      Src: /src/curl/lib/file.c:237,1
    - Dst: memchr
      Src: /src/curl/lib/file.c:240,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/file.c:242,1
    - Dst: strchr
      Src: /src/curl/lib/file.c:259,1
    - Dst: curlx_open
      Src: /src/curl/lib/file.c:261,1
    - Dst: curlx_open
      Src: /src/curl/lib/file.c:266,1
    - Dst: curlx_open
      Src: /src/curl/lib/file.c:270,1
    - Dst: free
      Src: /src/curl/lib/file.c:274,1
    - Dst: failf
      Src: /src/curl/lib/file.c:279,1
    - Dst: file_done
      Src: /src/curl/lib/file.c:280,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 286
    functionName: file_connect
    functionSourceFile: /src/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - failf
    - curlx_open
    - strchr
    - free
    - file_done
    - memchr
    - Curl_urldecode
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode file_connect(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/file.c:291,1
    - Dst: file_cleanup
      Src: /src/curl/lib/file.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: file_done
    functionSourceFile: /src/curl/lib/file.c
    functionUses: 1
    functionsReached:
    - file_cleanup
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode file_done(struct Curl_easy *data,\n                          CURLcode
      status, bool premature)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_done
      Src: /src/curl/lib/file.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: file_disconnect
    functionSourceFile: /src/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - file_done
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode file_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                bool dead_connection)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/lib/file.c:319,1
    - Dst: curlx_open
      Src: /src/curl/lib/file.c:349,1
    - Dst: curlx_open
      Src: /src/curl/lib/file.c:351,1
    - Dst: failf
      Src: /src/curl/lib/file.c:354,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/file.c:360,1
    - Dst: fstat
      Src: /src/curl/lib/file.c:364,1
    - Dst: close
      Src: /src/curl/lib/file.c:365,1
    - Dst: failf
      Src: /src/curl/lib/file.c:366,1
    - Dst: Curl_multi_xfer_ulbuf_borrow
      Src: /src/curl/lib/file.c:372,1
    - Dst: Curl_client_read
      Src: /src/curl/lib/file.c:381,1
    - Dst: write
      Src: /src/curl/lib/file.c:407,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/file.c:415,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/file.c:417,1
    - Dst: Curl_speedcheck
      Src: /src/curl/lib/file.c:420,1
    - Dst: curlx_now
      Src: /src/curl/lib/file.c:420,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/file.c:422,1
    - Dst: close
      Src: /src/curl/lib/file.c:426,1
    - Dst: Curl_multi_xfer_ulbuf_release
      Src: /src/curl/lib/file.c:427,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 2
    argNames:
    - data
    - file
    argTypes:
    - struct Curl_easy*
    - struct FILEPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 430
    functionName: file_upload
    functionSourceFile: /src/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsSetUploadCounter
    - write
    - fstat
    - failf
    - curlx_open
    - Curl_pgrsSetUploadSize
    - Curl_multi_xfer_ulbuf_release
    - strchr
    - curlx_now
    - Curl_multi_xfer_ulbuf_borrow
    - Curl_pgrsUpdate
    - Curl_speedcheck
    - Curl_client_read
    - close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode file_upload(struct Curl_easy *data,\n                            struct
      FILEPROTO *file)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/file.c:447,1
    - Dst: file_upload
      Src: /src/curl/lib/file.c:464,1
    - Dst: fstat
      Src: /src/curl/lib/file.c:470,1
    - Dst: S_ISDIR
      Src: /src/curl/lib/file.c:471,1
    - Dst: Curl_meets_timecondition
      Src: /src/curl/lib/file.c:479,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/file.c:491,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/file.c:493,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/file.c:497,1
    - Dst: Curl_gmtime
      Src: /src/curl/lib/file.c:504,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/file.c:510,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/file.c:519,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/file.c:522,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/file.c:526,1
    - Dst: Curl_range
      Src: /src/curl/lib/file.c:532,1
    - Dst: failf
      Src: /src/curl/lib/file.c:540,1
    - Dst: failf
      Src: /src/curl/lib/file.c:553,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/file.c:572,1
    - Dst: S_ISDIR
      Src: /src/curl/lib/file.c:575,1
    - Dst: lseek
      Src: /src/curl/lib/file.c:578,1
    - Dst: lseek
      Src: /src/curl/lib/file.c:581,1
    - Dst: Curl_multi_xfer_buf_borrow
      Src: /src/curl/lib/file.c:590,1
    - Dst: S_ISDIR
      Src: /src/curl/lib/file.c:594,1
    - Dst: curlx_sotouz
      Src: /src/curl/lib/file.c:602,1
    - Dst: read
      Src: /src/curl/lib/file.c:607,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/file.c:618,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/file.c:622,1
    - Dst: Curl_speedcheck
      Src: /src/curl/lib/file.c:625,1
    - Dst: curlx_now
      Src: /src/curl/lib/file.c:625,1
    - Dst: opendir
      Src: /src/curl/lib/file.c:632,1
    - Dst: readdir
      Src: /src/curl/lib/file.c:640,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/file.c:642,1
    - Dst: strlen
      Src: /src/curl/lib/file.c:643,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/file.c:646,1
    - Dst: closedir
      Src: /src/curl/lib/file.c:651,1
    - Dst: failf
      Src: /src/curl/lib/file.c:654,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/file.c:659,1
    - Dst: Curl_multi_xfer_buf_release
      Src: /src/curl/lib/file.c:663,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 128
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 665
    functionName: file_do
    functionSourceFile: /src/curl/lib/file.c
    functionUses: 0
    functionsReached:
    - lseek
    - Curl_pgrsUpdate
    - fstat
    - failf
    - Curl_client_write
    - Curl_multi_xfer_buf_release
    - curlx_now
    - Curl_multi_xfer_buf_borrow
    - opendir
    - Curl_speedcheck
    - Curl_gmtime
    - strlen
    - curl_msnprintf
    - file_upload
    - Curl_meta_get
    - Curl_range
    - Curl_meets_timecondition
    - read
    - Curl_pgrsSetDownloadSize
    - curlx_sotouz
    - S_ISDIR
    - readdir
    - closedir
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode file_do(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/fileinfo.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Curl_fileinfo_alloc
    functionSourceFile: /src/curl/lib/fileinfo.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct fileinfo
    signature: struct fileinfo *Curl_fileinfo_alloc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/fileinfo.c:45,1
    - Dst: free
      Src: /src/curl/lib/fileinfo.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - finfo
    argTypes:
    - struct fileinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: Curl_fileinfo_cleanup
    functionSourceFile: /src/curl/lib/fileinfo.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - free
    linkageType: ''
    returnType: void
    signature: void Curl_fileinfo_cleanup(struct fileinfo *finfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/noproxy.c:57,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/noproxy.c:59,1
    - Dst: htonl
      Src: /src/curl/lib/noproxy.c:64,1
    - Dst: htonl
      Src: /src/curl/lib/noproxy.c:65,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/noproxy.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ipv4
    - network
    - bits
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: Curl_cidr4_match
    functionSourceFile: /src/curl/lib/noproxy.c
    functionUses: 1
    functionsReached:
    - curl_mfprintf
    - curlx_inet_pton
    - htonl
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST Curl_cidr4_match(const char *ipv4,    /* 1.2.3.4 address
      */\n                               const char *network, /* 1.2.3.4 address */\n
      \                              unsigned int bits)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/noproxy.c:96,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/noproxy.c:98,1
    - Dst: memcmp
      Src: /src/curl/lib/noproxy.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ipv6
    - network
    - bits
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 112
    functionName: Curl_cidr6_match
    functionSourceFile: /src/curl/lib/noproxy.c
    functionUses: 1
    functionsReached:
    - curlx_inet_pton
    - memcmp
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST Curl_cidr6_match(const char *ipv6,\n                               const
      char *network,\n                               unsigned int bits)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/lib/noproxy.c:144,1
    - Dst: strchr
      Src: /src/curl/lib/noproxy.c:152,1
    - Dst: memcpy
      Src: /src/curl/lib/noproxy.c:159,1
    - Dst: strlen
      Src: /src/curl/lib/noproxy.c:166,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/noproxy.c:167,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/noproxy.c:182,1
    - Dst: ISBLANK
      Src: /src/curl/lib/noproxy.c:186,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/noproxy.c:209,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/noproxy.c:213,1
    - Dst: memcpy
      Src: /src/curl/lib/noproxy.c:228,1
    - Dst: strchr
      Src: /src/curl/lib/noproxy.c:232,1
    - Dst: atoi
      Src: /src/curl/lib/noproxy.c:237,1
    - Dst: Curl_cidr6_match
      Src: /src/curl/lib/noproxy.c:241,1
    - Dst: Curl_cidr4_match
      Src: /src/curl/lib/noproxy.c:243,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/noproxy.c:251,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 2
    argNames:
    - name
    - no_proxy
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 262
    functionName: Curl_check_noproxy
    functionSourceFile: /src/curl/lib/noproxy.c
    functionUses: 1
    functionsReached:
    - strlen
    - curlx_str_passblanks
    - curl_strnequal
    - Curl_cidr6_match
    - strchr
    - Curl_cidr4_match
    - curlx_inet_pton
    - memcpy
    - strcmp
    - atoi
    - ISBLANK
    linkageType: ''
    returnType: bool
    signature: bool Curl_check_noproxy(const char *name, const char *no_proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: CURLM_NTFY
    functionSourceFile: /src/curl/lib/multi_ntfy.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLM_NTFY(d,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - host
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: IDN2_LOOKUP
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDN2_LOOKUP(name, host, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - host
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: IDN2_LOOKUP
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDN2_LOOKUP(name, host, flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/curl/lib/idn.c:63,1
    - Dst: nl_langinfo
      Src: /src/curl/lib/idn.c:63,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/idn.c:66,1
    - Dst: iconv
      Src: /src/curl/lib/idn.c:68,1
    - Dst: iconv_close
      Src: /src/curl/lib/idn.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: iconv_to_utf8
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - iconv_open
    - iconv
    - CURL_UNCONST
    - iconv_close
    - nl_langinfo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode iconv_to_utf8(const char *in, size_t inlen,\n                              char
      **out, size_t *outlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/idn.c:93,1
    - Dst: iconv_to_utf8
      Src: /src/curl/lib/idn.c:98,1
    - Dst: uidna_openUTS46
      Src: /src/curl/lib/idn.c:102,1
    - Dst: U_FAILURE
      Src: /src/curl/lib/idn.c:104,1
    - Dst: uidna_nameToASCII_UTF8
      Src: /src/curl/lib/idn.c:107,1
    - Dst: uidna_close
      Src: /src/curl/lib/idn.c:109,1
    - Dst: U_FAILURE
      Src: /src/curl/lib/idn.c:110,1
    - Dst: strdup
      Src: /src/curl/lib/idn.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 123
    functionName: mac_idn_to_ascii
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - uidna_nameToASCII_UTF8
    - iconv_to_utf8
    - strlen
    - strdup
    - uidna_close
    - uidna_openUTS46
    - U_FAILURE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mac_idn_to_ascii(const char *in, char **out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/idn.c:127,1
    - Dst: uidna_openUTS46
      Src: /src/curl/lib/idn.c:130,1
    - Dst: U_FAILURE
      Src: /src/curl/lib/idn.c:132,1
    - Dst: uidna_nameToUnicodeUTF8
      Src: /src/curl/lib/idn.c:135,1
    - Dst: uidna_close
      Src: /src/curl/lib/idn.c:137,1
    - Dst: U_FAILURE
      Src: /src/curl/lib/idn.c:138,1
    - Dst: strdup
      Src: /src/curl/lib/idn.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 148
    functionName: mac_ascii_to_idn
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - strlen
    - strdup
    - uidna_close
    - uidna_nameToUnicodeUTF8
    - uidna_openUTS46
    - U_FAILURE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mac_ascii_to_idn(const char *in, char **out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/curl/lib/idn.c:172,1
    - Dst: IdnToAscii
      Src: /src/curl/lib/idn.c:176,1
    - Dst: wcslen
      Src: /src/curl/lib/idn.c:176,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/idn.c:178,1
    - Dst: curlx_convert_wchar_to_UTF8
      Src: /src/curl/lib/idn.c:180,1
    - Dst: strdup
      Src: /src/curl/lib/idn.c:182,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/idn.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: win32_idn_to_ascii
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - strdup
    - wcslen
    - curlx_convert_wchar_to_UTF8
    - curlx_convert_UTF8_to_wchar
    - curlx_unicodefree
    - IdnToAscii
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode win32_idn_to_ascii(const char *in, char **out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/curl/lib/idn.c:203,1
    - Dst: IdnToUnicode
      Src: /src/curl/lib/idn.c:206,1
    - Dst: wcslen
      Src: /src/curl/lib/idn.c:206,1
    - Dst: curlx_convert_wchar_to_UTF8
      Src: /src/curl/lib/idn.c:210,1
    - Dst: strdup
      Src: /src/curl/lib/idn.c:212,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/idn.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - in
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 225
    functionName: win32_ascii_to_idn
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - strdup
    - wcslen
    - curlx_convert_wchar_to_UTF8
    - curlx_convert_UTF8_to_wchar
    - curlx_unicodefree
    - IdnToUnicode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode win32_ascii_to_idn(const char *in, char **output)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: Curl_is_ASCII_name
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_is_ASCII_name(const char *hostname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idn2_check_version
      Src: /src/curl/lib/idn.c:261,1
    - Dst: IDN2_LOOKUP
      Src: /src/curl/lib/idn.c:270,1
    - Dst: IDN2_LOOKUP
      Src: /src/curl/lib/idn.c:274,1
    - Dst: win32_idn_to_ascii
      Src: /src/curl/lib/idn.c:282,1
    - Dst: mac_idn_to_ascii
      Src: /src/curl/lib/idn.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 289
    functionName: idn_decode
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - IDN2_LOOKUP
    - win32_idn_to_ascii
    - mac_idn_to_ascii
    - idn2_check_version
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode idn_decode(const char *input, char **output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idn2_to_unicode_8z8z
      Src: /src/curl/lib/idn.c:295,1
    - Dst: win32_ascii_to_idn
      Src: /src/curl/lib/idn.c:299,1
    - Dst: mac_ascii_to_idn
      Src: /src/curl/lib/idn.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - puny
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 309
    functionName: idn_encode
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - mac_ascii_to_idn
    - idn2_to_unicode_8z8z
    - win32_ascii_to_idn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode idn_encode(const char *puny, char **output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idn_decode
      Src: /src/curl/lib/idn.c:314,1
    - Dst: strdup
      Src: /src/curl/lib/idn.c:317,1
    - Dst: idn2_free
      Src: /src/curl/lib/idn.c:318,1
    - Dst: free
      Src: /src/curl/lib/idn.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 334
    functionName: Curl_idn_decode
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - idn_decode
    - free
    - idn2_free
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_idn_decode(const char *input, char **output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idn_encode
      Src: /src/curl/lib/idn.c:339,1
    - Dst: strdup
      Src: /src/curl/lib/idn.c:342,1
    - Dst: idn2_free
      Src: /src/curl/lib/idn.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - puny
    - output
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: Curl_idn_encode
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - idn_encode
    - idn2_free
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_idn_encode(const char *puny, char **output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/idn.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host
    argTypes:
    - struct hostname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: Curl_free_idnconverted_hostname
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_free_idnconverted_hostname(struct hostname *host)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/idn.c:375,1
    - Dst: Curl_idn_decode
      Src: /src/curl/lib/idn.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - host
    argTypes:
    - struct hostname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 385
    functionName: Curl_idnconvert_hostname
    functionSourceFile: /src/curl/lib/idn.c
    functionUses: 0
    functionsReached:
    - Curl_idn_decode
    - Curl_is_ASCII_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_idnconvert_hostname(struct hostname *host)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/http.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - data
    - neg
    argTypes:
    - struct Curl_easy*
    - struct http_negotiation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 216
    functionName: Curl_http_neg_init
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_http_neg_init(struct Curl_easy *data, struct http_negotiation
      *neg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: connkeep
      Src: /src/curl/lib/http.c:223,1
    - Dst: Curl_conn_may_http3
      Src: /src/curl/lib/http.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: Curl_http_setup_conn
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_conn_may_http3
    - connkeep
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_setup_conn(struct Curl_easy *data,\n                              struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/http.c:253,1
    - Dst: Curl_headersep
      Src: /src/curl/lib/http.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - data
    - conn
    - thisheader
    - thislen
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: Curl_checkProxyheaders
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_headersep
    - curl_strnequal
    linkageType: ''
    returnType: char
    signature: "char *Curl_checkProxyheaders(struct Curl_easy *data,\n                             const
      struct connectdata *conn,\n                             const char *thisheader,\n
      \                            const size_t thislen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: Curl_checkProxyheaders
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_checkProxyheaders(x,y,z,a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_cspn
      Src: /src/curl/lib/http.c:269,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http.c:270,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http.c:270,1
    - Dst: curlx_str_untilnl
      Src: /src/curl/lib/http.c:271,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/http.c:272,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - header
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: http_header_is_empty
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_trimblanks
    - curlx_str_untilnl
    - curlx_strlen
    - curlx_str_single
    - curlx_str_cspn
    linkageType: ''
    returnType: bool
    signature: bool http_header_is_empty(const char *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_cspn
      Src: /src/curl/lib/http.c:292,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http.c:293,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http.c:293,1
    - Dst: curlx_str_untilnl
      Src: /src/curl/lib/http.c:294,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/http.c:295,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/http.c:297,1
    - Dst: curlx_str
      Src: /src/curl/lib/http.c:297,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - header
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 301
    functionName: Curl_copy_header_value
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_trimblanks
    - curlx_str_untilnl
    - curlx_strlen
    - curlx_str_single
    - curlx_str_cspn
    - Curl_memdup0
    - curlx_str
    linkageType: ''
    returnType: char
    signature: char *Curl_copy_header_value(const char *header)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:339,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/http.c:343,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:343,1
    - Dst: free
      Src: /src/curl/lib/http.c:352,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:353,1
    - Dst: free
      Src: /src/curl/lib/http.c:356,1
    - Dst: free
      Src: /src/curl/lib/http.c:363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - data
    - proxy
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 365
    functionName: http_output_basic
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - strlen
    - curl_maprintf
    - curlx_base64_encode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_output_basic(struct Curl_easy *data, bool proxy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/http.c:382,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: http_output_bearer
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_output_bearer(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pick
    - mask
    argTypes:
    - struct auth*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 436
    functionName: pickoneauth
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pickoneauth(struct auth *pick, unsigned long mask)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_total_length
      Src: /src/curl/lib/http.c:454,1
    - Dst: Curl_creader_needs_rewind
      Src: /src/curl/lib/http.c:457,1
    - Dst: infof
      Src: /src/curl/lib/http.c:471,1
    - Dst: Curl_creader_set_rewind
      Src: /src/curl/lib/http.c:472,1
    - Dst: infof
      Src: /src/curl/lib/http.c:510,1
    - Dst: infof
      Src: /src/curl/lib/http.c:515,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:520,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 525
    functionName: http_perhapsrewind
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_creader_total_length
    - streamclose
    - Curl_creader_needs_rewind
    - infof
    - Curl_creader_set_rewind
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_perhapsrewind(struct Curl_easy *data,\n                                   struct
      connectdata *conn)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pickoneauth
      Src: /src/curl/lib/http.c:555,1
    - Dst: infof
      Src: /src/curl/lib/http.c:562,1
    - Dst: connclose
      Src: /src/curl/lib/http.c:563,1
    - Dst: pickoneauth
      Src: /src/curl/lib/http.c:572,1
    - Dst: http_perhapsrewind
      Src: /src/curl/lib/http.c:583,1
    - Dst: free
      Src: /src/curl/lib/http.c:590,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:591,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:604,1
    - Dst: http_should_fail
      Src: /src/curl/lib/http.c:610,1
    - Dst: failf
      Src: /src/curl/lib/http.c:611,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 617
    functionName: Curl_http_auth_act
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    - strdup
    - http_perhapsrewind
    - free
    - connclose
    - pickoneauth
    - http_should_fail
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http_auth_act(struct Curl_easy *data)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Curl_output_aws_sigv4
      Src: /src/curl/lib/http.c:644,1
    - Dst: Curl_output_negotiate
      Src: /src/curl/lib/http.c:653,1
    - Dst: Curl_output_ntlm
      Src: /src/curl/lib/http.c:662,1
    - Dst: Curl_output_digest
      Src: /src/curl/lib/http.c:671,1
    - Dst: CURL_DISABLE_PROXY
      Src: /src/curl/lib/http.c:684,1
    - Dst: Curl_checkProxyheaders
      Src: /src/curl/lib/http.c:686,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:686,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:689,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:689,1
    - Dst: http_output_basic
      Src: /src/curl/lib/http.c:691,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:705,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:705,1
    - Dst: http_output_bearer
      Src: /src/curl/lib/http.c:707,1
    - Dst: infof
      Src: /src/curl/lib/http.c:720,1
    - Dst: infof
      Src: /src/curl/lib/http.c:728,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 6
    argNames:
    - data
    - conn
    - authstatus
    - request
    - path
    - proxy
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct auth*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 738
    functionName: output_auth_headers
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - STRCONST
    - http_output_basic
    - Curl_output_ntlm
    - Curl_output_negotiate
    - Curl_checkheaders
    - Curl_checkProxyheaders
    - Curl_output_aws_sigv4
    - CURL_DISABLE_PROXY
    - infof
    - http_output_bearer
    - Curl_output_digest
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode output_auth_headers(struct Curl_easy *data,\n                    struct
      connectdata *conn,\n                    struct auth *authstatus,\n                    const
      char *request,\n                    const char *path,\n                    bool
      proxy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - data
    - conn
    - request
    - httpreq
    - path
    - proxytunnel
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - Curl_HttpReq
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 859
    functionName: Curl_http_output_auth
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_output_auth(struct Curl_easy *data,\n                      struct
      connectdata *conn,\n                      const char *request,\n                      Curl_HttpReq
      httpreq,\n                      const char *path,\n                      bool
      proxytunnel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/http.c:869,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/http.c:870,1
    - Dst: ISALNUM
      Src: /src/curl/lib/http.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - auth
    - line
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 871
    functionName: authcmp
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_strnequal
    - ISALNUM
    linkageType: ''
    returnType: bool
    signature: bool authcmp(const char *auth, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_spnego_supported
      Src: /src/curl/lib/http.c:881,1
    - Dst: Curl_input_negotiate
      Src: /src/curl/lib/http.c:887,1
    - Dst: free
      Src: /src/curl/lib/http.c:891,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - data
    - proxy
    - auth
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 904
    functionName: auth_spnego
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_auth_is_spnego_supported
    - Curl_input_negotiate
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_spnego(struct Curl_easy *data,\n                            bool
      proxy,\n                            const char *auth,\n                            struct
      auth *authp,\n                            unsigned long *availp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_ntlm_supported
      Src: /src/curl/lib/http.c:915,1
    - Dst: Curl_input_ntlm
      Src: /src/curl/lib/http.c:921,1
    - Dst: infof
      Src: /src/curl/lib/http.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - data
    - proxy
    - auth
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 931
    functionName: auth_ntlm
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_input_ntlm
    - Curl_auth_is_ntlm_supported
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_ntlm(struct Curl_easy *data,\n                          bool
      proxy,\n                          const char *auth,\n                          struct
      auth *authp,\n                          unsigned long *availp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/http.c:942,1
    - Dst: Curl_auth_is_digest_supported
      Src: /src/curl/lib/http.c:943,1
    - Dst: Curl_input_digest
      Src: /src/curl/lib/http.c:953,1
    - Dst: infof
      Src: /src/curl/lib/http.c:955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - proxy
    - auth
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 960
    functionName: auth_digest
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_input_digest
    - Curl_auth_is_digest_supported
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_digest(struct Curl_easy *data,\n                            bool
      proxy,\n                            const char *auth,\n                            struct
      auth *authp,\n                            unsigned long *availp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/http.c:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 979
    functionName: auth_basic
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_basic(struct Curl_easy *data,\n                           struct
      auth *authp,\n                           unsigned long *availp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/http.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - authp
    - availp
    argTypes:
    - struct Curl_easy*
    - struct auth*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 997
    functionName: auth_bearer
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_bearer(struct Curl_easy *data,\n                            struct
      auth *authp,\n                            unsigned long *availp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1022,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1023,1
    - Dst: authcmp
      Src: /src/curl/lib/http.c:1052,1
    - Dst: auth_spnego
      Src: /src/curl/lib/http.c:1053,1
    - Dst: authcmp
      Src: /src/curl/lib/http.c:1056,1
    - Dst: auth_ntlm
      Src: /src/curl/lib/http.c:1057,1
    - Dst: authcmp
      Src: /src/curl/lib/http.c:1060,1
    - Dst: auth_digest
      Src: /src/curl/lib/http.c:1061,1
    - Dst: authcmp
      Src: /src/curl/lib/http.c:1064,1
    - Dst: auth_basic
      Src: /src/curl/lib/http.c:1065,1
    - Dst: authcmp
      Src: /src/curl/lib/http.c:1068,1
    - Dst: auth_bearer
      Src: /src/curl/lib/http.c:1069,1
    - Dst: strchr
      Src: /src/curl/lib/http.c:1076,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http.c:1081,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 3
    argNames:
    - data
    - proxy
    - auth
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1091
    functionName: Curl_http_input_auth
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_passblanks
    - auth_ntlm
    - strchr
    - authcmp
    - auth_basic
    - auth_digest
    - auth_bearer
    - DEBUGASSERT
    - auth_spnego
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_input_auth(struct Curl_easy *data, bool proxy,\n
      \                             const char *auth)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1103,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1104,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1137,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - data
    - httpcode
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1162
    functionName: http_should_fail
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool http_should_fail(struct Curl_easy *data, int httpcode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/http.c:1169,1
    - Dst: infof
      Src: /src/curl/lib/http.c:1173,1
    - Dst: Curl_creader_set_rewind
      Src: /src/curl/lib/http.c:1176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - data
    - code
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1177
    functionName: http_switch_to_get
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_creader_set_rewind
    linkageType: ''
    returnType: void
    signature: void http_switch_to_get(struct Curl_easy *data, int code)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1189,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:1213,1
    - Dst: curl_url
      Src: /src/curl/lib/http.c:1218,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http.c:1222,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http.c:1224,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http.c:1226,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http.c:1228,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:1230,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/http.c:1232,1
    - Dst: Curl_is_absolute_url
      Src: /src/curl/lib/http.c:1245,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1251,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http.c:1252,1
    - Dst: failf
      Src: /src/curl/lib/http.c:1259,1
    - Dst: curl_url_strerror
      Src: /src/curl/lib/http.c:1260,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/http.c:1261,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:1266,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:1271,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/http.c:1273,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:1286,1
    - Dst: free
      Src: /src/curl/lib/http.c:1289,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/http.c:1290,1
    - Dst: atoi
      Src: /src/curl/lib/http.c:1292,1
    - Dst: free
      Src: /src/curl/lib/http.c:1293,1
    - Dst: infof
      Src: /src/curl/lib/http.c:1296,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:1303,1
    - Dst: free
      Src: /src/curl/lib/http.c:1305,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/http.c:1306,1
    - Dst: Curl_get_scheme_handler
      Src: /src/curl/lib/http.c:1309,1
    - Dst: infof
      Src: /src/curl/lib/http.c:1311,1
    - Dst: free
      Src: /src/curl/lib/http.c:1315,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:1318,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:1319,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1323,1
    - Dst: failf
      Src: /src/curl/lib/http.c:1331,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:1341,1
    - Dst: Curl_req_soft_reset
      Src: /src/curl/lib/http.c:1345,1
    - Dst: infof
      Src: /src/curl/lib/http.c:1346,1
    - Dst: infof
      Src: /src/curl/lib/http.c:1351,1
    - Dst: http_switch_to_get
      Src: /src/curl/lib/http.c:1395,1
    - Dst: http_switch_to_get
      Src: /src/curl/lib/http.c:1420,1
    - Dst: http_switch_to_get
      Src: /src/curl/lib/http.c:1436,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/http.c:1461,1
    - Dst: Curl_pgrsResetTransferSizes
      Src: /src/curl/lib/http.c:1462,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 137
    argCount: 3
    argNames:
    - data
    - newurl
    - type
    argTypes:
    - struct Curl_easy*
    - char*
    - followtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1465
    functionName: Curl_http_follow
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_is_absolute_url
    - failf
    - Curl_uc_to_curlcode
    - strdup
    - Curl_req_soft_reset
    - curl_url_get
    - curl_url
    - curl_url_cleanup
    - curl_url_strerror
    - Curl_get_scheme_handler
    - Curl_pgrsTime
    - free
    - atoi
    - DEBUGASSERT
    - curl_url_set
    - Curl_safefree
    - http_switch_to_get
    - Curl_pgrsResetTransferSizes
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_follow(struct Curl_easy *data, const char *newurl,\n
      \                         followtype type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1487,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1488,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1489,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1490,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/http.c:1492,1
    - Dst: curlx_str_untilnl
      Src: /src/curl/lib/http.c:1498,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/http.c:1500,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http.c:1503,1
    - Dst: curlx_str
      Src: /src/curl/lib/http.c:1505,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http.c:1506,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http.c:1506,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/http.c:1507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - headerline
    - header
    - hlen
    - content
    - clen
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1512
    functionName: Curl_compareheader
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_trimblanks
    - curl_strnequal
    - curlx_str_untilnl
    - curlx_strlen
    - DEBUGASSERT
    - curlx_str
    linkageType: ''
    returnType: bool
    signature: "bool Curl_compareheader(const char *headerline, /* line to check */\n
      \                  const char *header,  /* header keyword _with_ colon */\n
      \                  const size_t hlen,   /* len of the keyword in bytes */\n
      \                  const char *content, /* content string to find */\n                   const
      size_t clen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connkeep
      Src: /src/curl/lib/http.c:1524,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/http.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1527
    functionName: Curl_http_connect
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - connkeep
    - Curl_conn_connect
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http_connect(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_out
      Src: /src/curl/lib/http.c:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1537
    functionName: Curl_http_do_pollset
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_out
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_do_pollset(struct Curl_easy *data,\n                              struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http.c:1554,1
    - Dst: failf
      Src: /src/curl/lib/http.c:1569,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:1571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1576
    functionName: Curl_http_done
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - streamclose
    - failf
    - curlx_dyn_reset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_done(struct Curl_easy *data,\n                        CURLcode
      status, bool premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1596
    functionName: http_may_use_1_1
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool http_may_use_1_1(const struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/http.c:1600,1
    - Dst: http_may_use_1_1
      Src: /src/curl/lib/http.c:1603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1606
    functionName: http_request_version
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - http_may_use_1_1
    - Curl_conn_http_version
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char http_request_version(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - httpversion
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1620
    functionName: get_http_string
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_http_string(int httpversion)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/curl/lib/http.c:1675,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http.c:1676,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http.c:1677,1
    - Dst: memchr
      Src: /src/curl/lib/http.c:1678,1
    - Dst: curlx_str
      Src: /src/curl/lib/http.c:1678,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http.c:1678,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/http.c:1682,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http.c:1683,1
    - Dst: curlx_str_untilnl
      Src: /src/curl/lib/http.c:1685,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/http.c:1686,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http.c:1687,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http.c:1702,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http.c:1706,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http.c:1710,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http.c:1715,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http.c:1717,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http.c:1721,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http.c:1724,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http.c:1725,1
    - Dst: Curl_auth_allowed_to_host
      Src: /src/curl/lib/http.c:1728,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:1731,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http.c:1731,1
    - Dst: curlx_str
      Src: /src/curl/lib/http.c:1732,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:1734,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 58
    argCount: 4
    argNames:
    - data
    - is_connect
    - httpversion
    - req
    argTypes:
    - struct Curl_easy*
    - bool
    - int
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1622
    functionDepth: 1
    functionLinenumber: 1622
    functionLinenumberEnd: 1742
    functionName: Curl_add_custom_headers
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_trimblanks
    - curlx_str_casecompare
    - Curl_auth_allowed_to_host
    - curlx_strlen
    - curlx_str_untilnl
    - memchr
    - curlx_str_single
    - curlx_str_until
    - curlx_dyn_addf
    - curlx_str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_add_custom_headers(struct Curl_easy *data,\n                                 bool
      is_connect, int httpversion,\n                                 struct dynbuf
      *req)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gmtime
      Src: /src/curl/lib/http.c:1759,1
    - Dst: failf
      Src: /src/curl/lib/http.c:1761,1
    - Dst: DEBUGF
      Src: /src/curl/lib/http.c:1768,1
    - Dst: infof
      Src: /src/curl/lib/http.c:1768,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:1785,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http.c:1798,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:1809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - data
    - req
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1811
    functionName: Curl_add_timecondition
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - failf
    - DEBUGF
    - curl_msnprintf
    - Curl_checkheaders
    - infof
    - Curl_gmtime
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_add_timecondition(struct Curl_easy *data,\n                                struct
      dynbuf *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - req
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1820
    functionName: Curl_add_timecondition
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_add_timecondition(struct Curl_easy *data,\n                                struct
      dynbuf *req)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:1843,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - data
    - method
    - reqp
    argTypes:
    - struct Curl_easy*
    - char**
    - Curl_HttpReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1865
    functionName: Curl_http_method
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_http_method(struct Curl_easy *data,\n                      const
      char **method, Curl_HttpReq *reqp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:1873,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:1873,1
    - Dst: free
      Src: /src/curl/lib/http.c:1874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1878
    functionName: http_useragent
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_checkheaders
    - free
    - STRCONST
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_useragent(struct Curl_easy *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/http.c:1889,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:1891,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:1898,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:1900,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:1900,1
    - Dst: curl_strequal
      Src: /src/curl/lib/http.c:1902,1
    - Dst: Curl_copy_header_value
      Src: /src/curl/lib/http.c:1909,1
    - Dst: free
      Src: /src/curl/lib/http.c:1914,1
    - Dst: memmove
      Src: /src/curl/lib/http.c:1922,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:1922,1
    - Dst: strchr
      Src: /src/curl/lib/http.c:1923,1
    - Dst: strchr
      Src: /src/curl/lib/http.c:1929,1
    - Dst: free
      Src: /src/curl/lib/http.c:1933,1
    - Dst: curl_strequal
      Src: /src/curl/lib/http.c:1938,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:1939,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:1955,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:1959,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1881
    functionDepth: 2
    functionLinenumber: 1881
    functionLinenumberEnd: 1969
    functionName: http_set_aptr_host
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - memmove
    - Curl_copy_header_value
    - strlen
    - strdup
    - Curl_checkheaders
    - curl_strequal
    - strchr
    - free
    - STRCONST
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_set_aptr_host(struct Curl_easy *data)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: curl_url_dup
      Src: /src/curl/lib/http.c:2000,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http.c:2005,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/http.c:2007,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http.c:2011,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/http.c:2013,1
    - Dst: curl_strequal
      Src: /src/curl/lib/http.c:2017,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http.c:2019,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/http.c:2021,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http.c:2024,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/http.c:2026,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:2031,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/http.c:2033,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/http.c:2037,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2040,1
    - Dst: free
      Src: /src/curl/lib/http.c:2042,1
    - Dst: curl_strequal
      Src: /src/curl/lib/http.c:2046,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:2049,1
    - Dst: memcmp
      Src: /src/curl/lib/http.c:2051,1
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/http.c:2052,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2061,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2072,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2076,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 2
    argNames:
    - data
    - r
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 1974
    functionDepth: 1
    functionLinenumber: 1974
    functionLinenumberEnd: 2080
    functionName: http_target
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curlx_dyn_add
    - strlen
    - curl_strequal
    - Curl_raw_toupper
    - curl_url_get
    - free
    - memcmp
    - curl_url_cleanup
    - curlx_dyn_addf
    - curl_url_dup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_target(struct Curl_easy *data,\n                            struct
      dynbuf *r)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/http.c:2098,1
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/http.c:2101,1
    - Dst: Curl_getformdata
      Src: /src/curl/lib/http.c:2102,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:2105,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2123,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2123,1
    - Dst: curl_mime_headers
      Src: /src/curl/lib/http.c:2136,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/curl/lib/http.c:2137,1
    - Dst: curl_mime_headers
      Src: /src/curl/lib/http.c:2141,1
    - Dst: Curl_creader_set_mime
      Src: /src/curl/lib/http.c:2142,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/http.c:2149,1
    - Dst: Curl_creader_total_length
      Src: /src/curl/lib/http.c:2151,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/http.c:2155,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - data
    - httpreq
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2158
    functionName: set_post_reader
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_creader_total_length
    - Curl_safefree
    - calloc
    - curl_mime_headers
    - Curl_getformdata
    - Curl_checkheaders
    - Curl_mime_prepare_headers
    - Curl_creader_set_null
    - Curl_mime_cleanpart
    - STRCONST
    - Curl_creader_set_mime
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_post_reader(struct Curl_easy *data, Curl_HttpReq httpreq)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:2166,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/http.c:2169,1
    - Dst: Curl_creader_set_fread
      Src: /src/curl/lib/http.c:2174,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/http.c:2175,1
    - Dst: set_post_reader
      Src: /src/curl/lib/http.c:2180,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/http.c:2187,1
    - Dst: Curl_creader_set_buf
      Src: /src/curl/lib/http.c:2191,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/http.c:2194,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2202,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2202,1
    - Dst: Curl_compareheader
      Src: /src/curl/lib/http.c:2205,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2205,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2206,1
    - Dst: Curl_creader_set_fread
      Src: /src/curl/lib/http.c:2208,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/http.c:2215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - data
    - httpreq
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2161
    functionDepth: 2
    functionLinenumber: 2161
    functionLinenumberEnd: 2218
    functionName: set_reader
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - STRCONST
    - Curl_creader_set_fread
    - Curl_creader_set_buf
    - Curl_checkheaders
    - Curl_compareheader
    - set_post_reader
    - Curl_creader_set_null
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode set_reader(struct Curl_easy *data, Curl_HttpReq httpreq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_resume_from
      Src: /src/curl/lib/http.c:2244,1
    - Dst: failf
      Src: /src/curl/lib/http.c:2246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - data
    - httpreq
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2253
    functionName: http_resume
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_creader_resume_from
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_resume(struct Curl_easy *data, Curl_HttpReq httpreq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2262,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2262,1
    - Dst: Curl_compareheader
      Src: /src/curl/lib/http.c:2266,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2267,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2267,1
    - Dst: infof
      Src: /src/curl/lib/http.c:2269,1
    - Dst: Curl_creader_total_length
      Src: /src/curl/lib/http.c:2275,1
    - Dst: failf
      Src: /src/curl/lib/http.c:2285,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - data
    - req
    - httpversion
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2255
    functionDepth: 2
    functionLinenumber: 2255
    functionLinenumberEnd: 2298
    functionName: http_req_set_TE
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_creader_total_length
    - curlx_dyn_add
    - failf
    - Curl_checkheaders
    - Curl_compareheader
    - infof
    - STRCONST
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_req_set_TE(struct Curl_easy *data,\n                                struct
      dynbuf *req,\n                                int httpversion)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2315,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2315,1
    - Dst: Curl_compareheader
      Src: /src/curl/lib/http.c:2318,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2318,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2318,1
    - Dst: Curl_creader_client_length
      Src: /src/curl/lib/http.c:2324,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:2326,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - data
    - r
    - httpversion
    - announced_exp100
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2300
    functionDepth: 2
    functionLinenumber: 2300
    functionLinenumberEnd: 2333
    functionName: addexpect
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_checkheaders
    - curlx_dyn_addn
    - Curl_compareheader
    - Curl_creader_client_length
    - STRCONST
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode addexpect(struct Curl_easy *data, struct dynbuf *r,\n                          int
      httpversion, bool *announced_exp100)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:2344,1
    - Dst: Curl_httpchunk_add_reader
      Src: /src/curl/lib/http.c:2346,1
    - Dst: Curl_creader_total_length
      Src: /src/curl/lib/http.c:2352,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2368,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2368,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2371,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2384,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2391,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2391,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:2392,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2392,1
    - Dst: addexpect
      Src: /src/curl/lib/http.c:2398,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/http.c:2406,1
    - Dst: http_exp100_add_reader
      Src: /src/curl/lib/http.c:2408,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - data
    - r
    - httpversion
    - httpreq
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - int
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2335
    functionDepth: 3
    functionLinenumber: 2335
    functionLinenumberEnd: 2412
    functionName: http_add_content_hds
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_creader_total_length
    - Curl_pgrsSetUploadSize
    - Curl_checkheaders
    - Curl_httpchunk_add_reader
    - curlx_dyn_addn
    - http_exp100_add_reader
    - STRCONST
    - curlx_dyn_addf
    - addexpect
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_add_content_hds(struct Curl_easy *data,\n                                     struct
      dynbuf *r,\n                                     int httpversion,\n                                     Curl_HttpReq
      httpreq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2423,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2423,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/http.c:2433,1
    - Dst: Curl_cookie_getlist
      Src: /src/curl/lib/http.c:2434,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/http.c:2439,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/http.c:2439,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/http.c:2440,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:2444,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2444,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:2448,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:2448,1
    - Dst: infof
      Src: /src/curl/lib/http.c:2450,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2455,1
    - Dst: Curl_llist_destroy
      Src: /src/curl/lib/http.c:2463,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/http.c:2465,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:2469,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2469,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2471,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:2476,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2476,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 2
    argNames:
    - data
    - r
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2416
    functionDepth: 1
    functionLinenumber: 2416
    functionLinenumberEnd: 2482
    functionName: http_cookies
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - Curl_checkheaders
    - Curl_node_elem
    - curlx_dyn_addn
    - Curl_share_lock
    - Curl_llist_destroy
    - Curl_cookie_getlist
    - Curl_share_unlock
    - Curl_node_next
    - infof
    - STRCONST
    - curlx_dyn_addf
    - Curl_llist_head
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_cookies(struct Curl_easy *data,\n                             struct
      dynbuf *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2485
    functionName: http_cookies
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_cookies(a,b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2497,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2497,1
    - Dst: free
      Src: /src/curl/lib/http.c:2499,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:2500,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2504,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2504,1
    - Dst: Curl_creader_total_length
      Src: /src/curl/lib/http.c:2505,1
    - Dst: free
      Src: /src/curl/lib/http.c:2507,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:2514,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:2527,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:2535,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - data
    - httpreq
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2487
    functionDepth: 1
    functionLinenumber: 2487
    functionLinenumberEnd: 2543
    functionName: http_range
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_creader_total_length
    - Curl_checkheaders
    - free
    - STRCONST
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_range(struct Curl_easy *data,\n                           Curl_HttpReq
      httpreq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/http.c:2561,1
    - Dst: infof
      Src: /src/curl/lib/http.c:2570,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:2571,1
    - Dst: failf
      Src: /src/curl/lib/http.c:2581,1
    - Dst: Curl_meets_timecondition
      Src: /src/curl/lib/http.c:2591,1
    - Dst: infof
      Src: /src/curl/lib/http.c:2596,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:2599,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2545
    functionDepth: 1
    functionLinenumber: 2545
    functionLinenumberEnd: 2605
    functionName: http_firstwrite
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_meets_timecondition
    - failf
    - streamclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_firstwrite(struct Curl_easy *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_get_alpn_negotiated
      Src: /src/curl/lib/http.c:2614,1
    - Dst: strcmp
      Src: /src/curl/lib/http.c:2615,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:2616,1
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/http.c:2616,1
    - Dst: strcmp
      Src: /src/curl/lib/http.c:2619,1
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/http.c:2621,1
    - Dst: Curl_http2_switch
      Src: /src/curl/lib/http.c:2623,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:2629,1
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/http.c:2629,1
    - Dst: Curl_http2_may_switch
      Src: /src/curl/lib/http.c:2634,1
    - Dst: DEBUGF
      Src: /src/curl/lib/http.c:2635,1
    - Dst: infof
      Src: /src/curl/lib/http.c:2635,1
    - Dst: Curl_http2_switch
      Src: /src/curl/lib/http.c:2636,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/curl/lib/http.c:2642,1
    - Dst: infof
      Src: /src/curl/lib/http.c:2649,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2607
    functionDepth: 1
    functionLinenumber: 2607
    functionLinenumberEnd: 2651
    functionName: http_check_new_conn
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - Curl_conn_set_multiplex
    - Curl_conn_http_version
    - Curl_conn_get_alpn_negotiated
    - strcmp
    - Curl_http2_switch
    - Curl_http2_may_switch
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_check_new_conn(struct Curl_easy *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http.c:2659,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/http.c:2665,1
    - Dst: Curl_headersep
      Src: /src/curl/lib/http.c:2666,1
    - Dst: http_header_is_empty
      Src: /src/curl/lib/http.c:2667,1
    - Dst: Curl_copy_header_value
      Src: /src/curl/lib/http.c:2668,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2671,1
    - Dst: free
      Src: /src/curl/lib/http.c:2673,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2680,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2684,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2688,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http.c:2690,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:2691,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2691,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/http.c:2698,1
    - Dst: Curl_headersep
      Src: /src/curl/lib/http.c:2699,1
    - Dst: http_header_is_empty
      Src: /src/curl/lib/http.c:2700,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2705,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 2
    argNames:
    - data
    - req
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2653
    functionDepth: 2
    functionLinenumber: 2653
    functionLinenumberEnd: 2712
    functionName: http_add_connection_hd
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_headersep
    - http_header_is_empty
    - curl_strnequal
    - Curl_copy_header_value
    - free
    - curlx_dyn_addn
    - curlx_dyn_len
    - STRCONST
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_add_connection_hd(struct Curl_easy *data,\n                                       struct
      dynbuf *req)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2757,1
    - Dst: http_target
      Src: /src/curl/lib/http.c:2759,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2761,1
    - Dst: get_http_string
      Src: /src/curl/lib/http.c:2762,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2767,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2773,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2779,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2784,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2791,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2795,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2795,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2796,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2801,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2801,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2804,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:2810,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2811,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2811,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2813,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:2818,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2819,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2819,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2820,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2827,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2827,1
    - Dst: Curl_checkProxyheaders
      Src: /src/curl/lib/http.c:2828,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2828,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:2829,1
    - Dst: http_req_set_TE
      Src: /src/curl/lib/http.c:2834,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:2839,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2839,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:2840,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/http.c:2847,1
    - Dst: Curl_http2_request_upgrade
      Src: /src/curl/lib/http.c:2852,1
    - Dst: Curl_ws_request
      Src: /src/curl/lib/http.c:2856,1
    - Dst: http_cookies
      Src: /src/curl/lib/http.c:2861,1
    - Dst: Curl_add_timecondition
      Src: /src/curl/lib/http.c:2865,1
    - Dst: Curl_add_custom_headers
      Src: /src/curl/lib/http.c:2869,1
    - Dst: http_add_content_hds
      Src: /src/curl/lib/http.c:2873,1
    - Dst: http_add_connection_hd
      Src: /src/curl/lib/http.c:2877,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:2882,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:2882,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 88
    argCount: 6
    argNames:
    - data
    - req
    - id
    - httpversion
    - method
    - httpreq
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - http_hd_t
    - unsigned char
    - char*
    - Curl_HttpReq
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2886
      start: 2744
    functionDepth: 4
    functionLinenumber: 2744
    functionLinenumberEnd: 2886
    functionName: http_add_hd
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_ws_request
    - curlx_dyn_add
    - Curl_safefree
    - Curl_http2_request_upgrade
    - Curl_add_custom_headers
    - Curl_checkheaders
    - Curl_conn_is_ssl
    - http_req_set_TE
    - http_target
    - Curl_checkProxyheaders
    - curlx_dyn_addn
    - http_add_content_hds
    - http_cookies
    - get_http_string
    - http_add_connection_hd
    - Curl_add_timecondition
    - STRCONST
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_add_hd(struct Curl_easy *data,\n                            struct
      dynbuf *req,\n                            http_hd_t id,\n                            unsigned
      char httpversion,\n                            const char *method,\n                            Curl_HttpReq
      httpreq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http.c:2907,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http.c:2910,1
    - Dst: http_check_new_conn
      Src: /src/curl/lib/http.c:2913,1
    - Dst: Curl_headers_init
      Src: /src/curl/lib/http.c:2921,1
    - Dst: Curl_http_method
      Src: /src/curl/lib/http.c:2930,1
    - Dst: http_set_aptr_host
      Src: /src/curl/lib/http.c:2933,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http.c:2938,1
    - Dst: Curl_http_output_auth
      Src: /src/curl/lib/http.c:2942,1
    - Dst: free
      Src: /src/curl/lib/http.c:2944,1
    - Dst: http_useragent
      Src: /src/curl/lib/http.c:2949,1
    - Dst: set_reader
      Src: /src/curl/lib/http.c:2954,1
    - Dst: http_resume
      Src: /src/curl/lib/http.c:2956,1
    - Dst: http_range
      Src: /src/curl/lib/http.c:2958,1
    - Dst: http_request_version
      Src: /src/curl/lib/http.c:2962,1
    - Dst: http_add_hd
      Src: /src/curl/lib/http.c:2965,1
    - Dst: Curl_xfer_setup_sendrecv
      Src: /src/curl/lib/http.c:2972,1
    - Dst: Curl_req_send
      Src: /src/curl/lib/http.c:2973,1
    - Dst: failf
      Src: /src/curl/lib/http.c:2983,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:2987,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http.c:2989,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http.c:2991,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2893
    functionDepth: 5
    functionLinenumber: 2893
    functionLinenumberEnd: 2993
    functionName: Curl_http
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - set_reader
    - http_request_version
    - failf
    - http_check_new_conn
    - curlx_dyn_reset
    - curl_maprintf
    - http_useragent
    - http_resume
    - Curl_headers_init
    - http_set_aptr_host
    - free
    - curlx_dyn_free
    - curlx_dyn_init
    - http_add_hd
    - Curl_xfer_setup_sendrecv
    - Curl_safefree
    - http_range
    - Curl_http_output_auth
    - Curl_http_method
    - Curl_req_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/curl/lib/http.c:3005,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:3005,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/http.c:3006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prefix
    - buffer
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3007
      start: 3003
    functionDepth: 1
    functionLinenumber: 3003
    functionLinenumberEnd: 3007
    functionName: checkprefixmax
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - strlen
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: bool checkprefixmax(const char *prefix, const char *buffer, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkprefixmax
      Src: /src/curl/lib/http.c:3023,1
    - Dst: checkprefixmax
      Src: /src/curl/lib/http.c:3030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - data
    - s
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3034
      start: 3014
    functionDepth: 2
    functionLinenumber: 3014
    functionLinenumberEnd: 3034
    functionName: checkhttpprefix
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - checkprefixmax
    linkageType: ''
    returnType: statusline
    signature: "statusline checkhttpprefix(struct Curl_easy *data,\n                const
      char *s, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkprefixmax
      Src: /src/curl/lib/http.c:3044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - s
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3048
      start: 3037
    functionDepth: 2
    functionLinenumber: 3037
    functionLinenumberEnd: 3048
    functionName: checkrtspprefix
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - checkprefixmax
    linkageType: ''
    returnType: statusline
    signature: "statusline checkrtspprefix(struct Curl_easy *data,\n                const
      char *s, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkrtspprefix
      Src: /src/curl/lib/http.c:3057,1
    - Dst: checkhttpprefix
      Src: /src/curl/lib/http.c:3062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - data
    - conn
    - s
    - len
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3063
      start: 3051
    functionDepth: 3
    functionLinenumber: 3051
    functionLinenumberEnd: 3063
    functionName: checkprotoprefix
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - checkrtspprefix
    - checkhttpprefix
    linkageType: ''
    returnType: statusline
    signature: "statusline checkprotoprefix(struct Curl_easy *data, struct connectdata
      *conn,\n                 const char *s, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hd
    - ','
    - hdlen
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3068
    functionName: HD_IS
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HD_IS(hd, hdlen, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hd
    - ','
    - hdlen
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3069
    functionDepth: 0
    functionLinenumber: 3069
    functionLinenumberEnd: 3072
    functionName: HD_VAL
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HD_VAL(hd, hdlen, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hd
    - ','
    - hdlen
    - ','
    - n
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3079
    functionName: HD_IS_AND_SAYS
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HD_IS_AND_SAYS(hd, hdlen, n, v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/http.c:3090,1
    - Dst: getenv
      Src: /src/curl/lib/http.c:3093,1
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3097,1
    - Dst: Curl_altsvc_parse
      Src: /src/curl/lib/http.c:3103,1
    - Dst: curlx_uitous
      Src: /src/curl/lib/http.c:3104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3112
      start: 3083
    functionDepth: 1
    functionLinenumber: 3083
    functionLinenumberEnd: 3112
    functionName: http_header_a
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - getenv
    - Curl_conn_is_ssl
    - Curl_altsvc_parse
    - HD_VAL
    - curlx_uitous
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_a(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3130,1
    - Dst: curlx_str_numblanks
      Src: /src/curl/lib/http.c:3134,1
    - Dst: failf
      Src: /src/curl/lib/http.c:3139,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:3142,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3143,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http.c:3152,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http.c:3155,1
    - Dst: curlx_str_newline
      Src: /src/curl/lib/http.c:3158,1
    - Dst: failf
      Src: /src/curl/lib/http.c:3164,1
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3170,1
    - Dst: Curl_build_unencoding_stack
      Src: /src/curl/lib/http.c:3179,1
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3182,1
    - Dst: Curl_copy_header_value
      Src: /src/curl/lib/http.c:3184,1
    - Dst: free
      Src: /src/curl/lib/http.c:3189,1
    - Dst: free
      Src: /src/curl/lib/http.c:3191,1
    - Dst: HD_IS_AND_SAYS
      Src: /src/curl/lib/http.c:3196,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:3203,1
    - Dst: HD_IS_AND_SAYS
      Src: /src/curl/lib/http.c:3207,1
    - Dst: connkeep
      Src: /src/curl/lib/http.c:3214,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3215,1
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3218,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/http.c:3234,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/http.c:3238,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/http.c:3239,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3117
    functionDepth: 2
    functionLinenumber: 3117
    functionLinenumberEnd: 3248
    functionName: http_header_c
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_build_unencoding_stack
    - curlx_str_passblanks
    - failf
    - curlx_str_newline
    - Curl_copy_header_value
    - connkeep
    - HD_VAL
    - free
    - HD_IS_AND_SAYS
    - curlx_str_number
    - curlx_str_single
    - streamclose
    - ISDIGIT
    - curlx_str_numblanks
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_c(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3260,1
    - Dst: Curl_getdate_capped
      Src: /src/curl/lib/http.c:3262,1
    - Dst: HD_IS
      Src: /src/curl/lib/http.c:3269,1
    - Dst: Curl_copy_header_value
      Src: /src/curl/lib/http.c:3272,1
    - Dst: free
      Src: /src/curl/lib/http.c:3277,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:3283,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:3284,1
    - Dst: http_perhapsrewind
      Src: /src/curl/lib/http.c:3290,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3253
    functionDepth: 2
    functionLinenumber: 3253
    functionLinenumberEnd: 3300
    functionName: http_header_l
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_copy_header_value
    - strdup
    - http_perhapsrewind
    - HD_VAL
    - free
    - HD_IS
    - Curl_getdate_capped
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_l(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3311,1
    - Dst: HD_IS_AND_SAYS
      Src: /src/curl/lib/http.c:3315,1
    - Dst: connkeep
      Src: /src/curl/lib/http.c:3322,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3323,1
    - Dst: HD_IS_AND_SAYS
      Src: /src/curl/lib/http.c:3326,1
    - Dst: connclose
      Src: /src/curl/lib/http.c:3331,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3332,1
    - Dst: HD_IS
      Src: /src/curl/lib/http.c:3337,1
    - Dst: Curl_copy_header_value
      Src: /src/curl/lib/http.c:3338,1
    - Dst: Curl_http_input_auth
      Src: /src/curl/lib/http.c:3342,1
    - Dst: free
      Src: /src/curl/lib/http.c:3343,1
    - Dst: HD_IS
      Src: /src/curl/lib/http.c:3347,1
    - Dst: Curl_auth_nego_get
      Src: /src/curl/lib/http.c:3349,1
    - Dst: Curl_copy_header_value
      Src: /src/curl/lib/http.c:3354,1
    - Dst: checkprefix
      Src: /src/curl/lib/http.c:3357,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3359,1
    - Dst: free
      Src: /src/curl/lib/http.c:3361,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3305
    functionDepth: 3
    functionLinenumber: 3305
    functionLinenumberEnd: 3366
    functionName: http_header_p
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_copy_header_value
    - Curl_auth_nego_get
    - connkeep
    - HD_VAL
    - HD_IS_AND_SAYS
    - free
    - connclose
    - checkprefix
    - HD_IS
    - infof
    - Curl_http_input_auth
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_p(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3374,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http.c:3379,1
    - Dst: Curl_getdate_capped
      Src: /src/curl/lib/http.c:3383,1
    - Dst: time
      Src: /src/curl/lib/http.c:3384,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/http.c:3391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3371
    functionDepth: 1
    functionLinenumber: 3371
    functionLinenumberEnd: 3399
    functionName: http_header_r
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_passblanks
    - HD_VAL
    - curlx_str_number
    - Curl_getdate_capped
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_r(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3418,1
    - Dst: Curl_secure_context
      Src: /src/curl/lib/http.c:3424,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/http.c:3425,1
    - Dst: Curl_cookie_add
      Src: /src/curl/lib/http.c:3426,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/http.c:3428,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/http.c:3435,1
    - Dst: getenv
      Src: /src/curl/lib/http.c:3438,1
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3443,1
    - Dst: Curl_hsts_parse
      Src: /src/curl/lib/http.c:3446,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3448,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/http.c:3452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3458
      start: 3404
    functionDepth: 1
    functionLinenumber: 3404
    functionLinenumberEnd: 3458
    functionName: http_header_s
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_secure_context
    - getenv
    - Curl_conn_is_ssl
    - HD_VAL
    - Curl_share_lock
    - Curl_share_unlock
    - Curl_hsts_parse
    - infof
    - Curl_llist_count
    - Curl_cookie_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_s(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3482,1
    - Dst: Curl_build_unencoding_stack
      Src: /src/curl/lib/http.c:3486,1
    - Dst: connclose
      Src: /src/curl/lib/http.c:3493,1
    - Dst: HD_VAL
      Src: /src/curl/lib/http.c:3498,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3463
    functionDepth: 1
    functionLinenumber: 3463
    functionLinenumberEnd: 3504
    functionName: http_header_t
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_build_unencoding_stack
    - connclose
    - HD_VAL
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_t(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HD_IS
      Src: /src/curl/lib/http.c:3515,1
    - Dst: Curl_copy_header_value
      Src: /src/curl/lib/http.c:3516,1
    - Dst: Curl_http_input_auth
      Src: /src/curl/lib/http.c:3519,1
    - Dst: free
      Src: /src/curl/lib/http.c:3520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3509
    functionDepth: 3
    functionLinenumber: 3509
    functionLinenumberEnd: 3523
    functionName: http_header_w
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_copy_header_value
    - Curl_http_input_auth
    - HD_IS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header_w(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: http_header_a
      Src: /src/curl/lib/http.c:3536,1
    - Dst: http_header_c
      Src: /src/curl/lib/http.c:3540,1
    - Dst: http_header_l
      Src: /src/curl/lib/http.c:3544,1
    - Dst: http_header_p
      Src: /src/curl/lib/http.c:3548,1
    - Dst: http_header_r
      Src: /src/curl/lib/http.c:3552,1
    - Dst: http_header_s
      Src: /src/curl/lib/http.c:3556,1
    - Dst: http_header_t
      Src: /src/curl/lib/http.c:3560,1
    - Dst: http_header_w
      Src: /src/curl/lib/http.c:3564,1
    - Dst: Curl_rtsp_parseheader
      Src: /src/curl/lib/http.c:3571,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3574
      start: 3528
    functionDepth: 4
    functionLinenumber: 3528
    functionLinenumberEnd: 3574
    functionName: http_header
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - http_header_t
    - http_header_s
    - http_header_c
    - http_header_p
    - http_header_a
    - Curl_rtsp_parseheader
    - http_header_w
    - http_header_l
    - http_header_r
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_header(struct Curl_easy *data,\n                            const
      char *hd, size_t hdlen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/http.c:3597,1
    - Dst: failf
      Src: /src/curl/lib/http.c:3603,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3636,1
    - Dst: connclose
      Src: /src/curl/lib/http.c:3637,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/http.c:3649,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3664
      start: 3580
    functionDepth: 1
    functionLinenumber: 3580
    functionLinenumberEnd: 3664
    functionName: http_statusline
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - FALLTHROUGH
    - connclose
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_statusline(struct Curl_easy *data,\n                                struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/http.c:3681,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3685,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/http.c:3686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3690
      start: 3671
    functionDepth: 1
    functionLinenumber: 3671
    functionLinenumberEnd: 3690
    functionName: http_size
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_pgrsSetDownloadSize
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_size(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/curl/lib/http.c:3696,1
    - Dst: failf
      Src: /src/curl/lib/http.c:3699,1
    - Dst: memchr
      Src: /src/curl/lib/http.c:3709,1
    - Dst: failf
      Src: /src/curl/lib/http.c:3712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3692
    functionDepth: 0
    functionLinenumber: 3692
    functionLinenumberEnd: 3717
    functionName: verify_header
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - memchr
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode verify_header(struct Curl_easy *data,\n                              const
      char *hd, size_t hdlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/http.c:3740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - data
    - delta
    - connect_only
    argTypes:
    - struct Curl_easy*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3719
    functionDepth: 0
    functionLinenumber: 3719
    functionLinenumberEnd: 3744
    functionName: Curl_bump_headersize
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bump_headersize(struct Curl_easy *data,\n                              size_t
      delta,\n                              bool connect_only)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_debug
      Src: /src/curl/lib/http.c:3754,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/http.c:3759,1
    - Dst: Curl_bump_headersize
      Src: /src/curl/lib/http.c:3763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - hd
    - hdlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3771
      start: 3746
    functionDepth: 1
    functionLinenumber: 3746
    functionLinenumberEnd: 3771
    functionName: http_write_header
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_bump_headersize
    - Curl_client_write
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_write_header(struct Curl_easy *data,\n                                  const
      char *hd, size_t hdlen)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/http.c:3789,1
    - Dst: http_write_header
      Src: /src/curl/lib/http.c:3796,1
    - Dst: failf
      Src: /src/curl/lib/http.c:3803,1
    - Dst: http_exp100_got100
      Src: /src/curl/lib/http.c:3820,1
    - Dst: failf
      Src: /src/curl/lib/http.c:3827,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3843,1
    - Dst: Curl_http2_upgrade
      Src: /src/curl/lib/http.c:3844,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3853,1
    - Dst: Curl_ws_accept
      Src: /src/curl/lib/http.c:3854,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3896,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:3898,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3909,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3919,1
    - Dst: failf
      Src: /src/curl/lib/http.c:3935,1
    - Dst: http_should_fail
      Src: /src/curl/lib/http.c:3942,1
    - Dst: failf
      Src: /src/curl/lib/http.c:3943,1
    - Dst: Curl_http_auth_act
      Src: /src/curl/lib/http.c:3952,1
    - Dst: Curl_creader_will_rewind
      Src: /src/curl/lib/http.c:3958,1
    - Dst: Curl_req_done_sending
      Src: /src/curl/lib/http.c:3979,1
    - Dst: http_exp100_is_selected
      Src: /src/curl/lib/http.c:3980,1
    - Dst: http_exp100_is_waiting
      Src: /src/curl/lib/http.c:3983,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3984,1
    - Dst: infof
      Src: /src/curl/lib/http.c:3987,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:3988,1
    - Dst: http_perhapsrewind
      Src: /src/curl/lib/http.c:3990,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:3995,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:3996,1
    - Dst: Curl_req_abort_sending
      Src: /src/curl/lib/http.c:3997,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4000,1
    - Dst: http_exp100_send_anyway
      Src: /src/curl/lib/http.c:4001,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4004,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:4005,1
    - Dst: Curl_req_abort_sending
      Src: /src/curl/lib/http.c:4006,1
    - Dst: Curl_creader_will_rewind
      Src: /src/curl/lib/http.c:4018,1
    - Dst: Curl_req_done_sending
      Src: /src/curl/lib/http.c:4018,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4020,1
    - Dst: http_firstwrite
      Src: /src/curl/lib/http.c:4041,1
    - Dst: http_size
      Src: /src/curl/lib/http.c:4047,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/http.c:4052,1
    - Dst: http_write_header
      Src: /src/curl/lib/http.c:4053,1
    - Dst: Curl_multi_connchanged
      Src: /src/curl/lib/http.c:4057,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 167
    argCount: 6
    argNames:
    - data
    - last_hd
    - last_hd_len
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4060
      start: 3773
    functionDepth: 3
    functionLinenumber: 3773
    functionLinenumberEnd: 4060
    functionName: http_on_response
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_multi_connchanged
    - http_size
    - Curl_1st_err
    - failf
    - Curl_req_done_sending
    - strdup
    - http_write_header
    - Curl_http_auth_act
    - streamclose
    - Curl_creader_will_rewind
    - http_exp100_got100
    - Curl_ws_accept
    - http_perhapsrewind
    - http_exp100_is_waiting
    - http_should_fail
    - http_firstwrite
    - DEBUGASSERT
    - Curl_req_abort_sending
    - http_exp100_is_selected
    - infof
    - Curl_http2_upgrade
    - http_exp100_send_anyway
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_on_response(struct Curl_easy *data,\n                                 const
      char *last_hd, size_t last_hd_len,\n                                 const char
      *buf, size_t blen,\n                                 size_t *pconsumed)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http.c:4077,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:4078,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http.c:4086,1
    - Dst: http_on_response
      Src: /src/curl/lib/http.c:4087,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http.c:4087,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http.c:4088,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http.c:4091,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http.c:4116,1
    - Dst: strncmp
      Src: /src/curl/lib/http.c:4117,1
    - Dst: ISBLANK
      Src: /src/curl/lib/http.c:4123,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/http.c:4126,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/http.c:4126,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/http.c:4126,1
    - Dst: failf
      Src: /src/curl/lib/http.c:4136,1
    - Dst: ISBLANK
      Src: /src/curl/lib/http.c:4142,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/http.c:4146,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/http.c:4146,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/http.c:4146,1
    - Dst: ISBLANK
      Src: /src/curl/lib/http.c:4150,1
    - Dst: failf
      Src: /src/curl/lib/http.c:4156,1
    - Dst: checkhttpprefix
      Src: /src/curl/lib/http.c:4165,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/http.c:4179,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http.c:4180,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/http.c:4181,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/http.c:4182,1
    - Dst: curlx_str_cmp
      Src: /src/curl/lib/http.c:4183,1
    - Dst: http_statusline
      Src: /src/curl/lib/http.c:4194,1
    - Dst: verify_header
      Src: /src/curl/lib/http.c:4205,1
    - Dst: http_header
      Src: /src/curl/lib/http.c:4209,1
    - Dst: Curl_debug
      Src: /src/curl/lib/http.c:4216,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/http.c:4220,1
    - Dst: Curl_bump_headersize
      Src: /src/curl/lib/http.c:4224,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 103
    argCount: 6
    argNames:
    - data
    - hd
    - hdlen
    - buf_remain
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4229
      start: 4062
    functionDepth: 5
    functionLinenumber: 4062
    functionLinenumberEnd: 4229
    functionName: http_rw_hd
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_passblanks
    - Curl_bump_headersize
    - verify_header
    - curlx_str_single
    - http_on_response
    - failf
    - Curl_client_write
    - curlx_dyn_reset
    - curlx_dyn_addn
    - curlx_str_number
    - http_header
    - curlx_dyn_len
    - strncmp
    - curlx_str_until
    - curlx_dyn_ptr
    - curlx_dyn_free
    - http_statusline
    - curlx_dyn_init
    - curlx_str_cmp
    - checkhttpprefix
    - ISBLANK
    - Curl_debug
    - curlx_str_trimblanks
    - ISDIGIT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_rw_hd(struct Curl_easy *data,\n                           const
      char *hd, size_t hdlen,\n                           const char *buf_remain,
      size_t blen,\n                           size_t *pconsumed)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/curl/lib/http.c:4249,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:4253,1
    - Dst: checkprotoprefix
      Src: /src/curl/lib/http.c:4261,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http.c:4262,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http.c:4263,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:4269,1
    - Dst: failf
      Src: /src/curl/lib/http.c:4271,1
    - Dst: failf
      Src: /src/curl/lib/http.c:4275,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http.c:4287,1
    - Dst: checkprotoprefix
      Src: /src/curl/lib/http.c:4300,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http.c:4301,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http.c:4302,1
    - Dst: streamclose
      Src: /src/curl/lib/http.c:4304,1
    - Dst: failf
      Src: /src/curl/lib/http.c:4308,1
    - Dst: failf
      Src: /src/curl/lib/http.c:4312,1
    - Dst: http_rw_hd
      Src: /src/curl/lib/http.c:4321,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http.c:4321,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http.c:4322,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http.c:4327,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http.c:4342,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4345
      start: 4234
    functionDepth: 6
    functionLinenumber: 4234
    functionLinenumberEnd: 4345
    functionName: http_parse_headers
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - failf
    - http_rw_hd
    - checkprotoprefix
    - curlx_dyn_addn
    - curlx_dyn_reset
    - curlx_dyn_free
    - memchr
    - curlx_dyn_len
    - streamclose
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_parse_headers(struct Curl_easy *data,\n                                   const
      char *buf, size_t blen,\n                                   size_t *pconsumed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_rw_hd
      Src: /src/curl/lib/http.c:4355,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/http.c:4357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - data
    - hd
    - hdlen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4361
      start: 4347
    functionDepth: 6
    functionLinenumber: 4347
    functionLinenumberEnd: 4361
    functionName: Curl_http_write_resp_hd
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - http_rw_hd
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_write_resp_hd(struct Curl_easy *data,\n                                 const
      char *hd, size_t hdlen,\n                                 bool is_eos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_parse_headers
      Src: /src/curl/lib/http.c:4378,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http.c:4380,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/http.c:4384,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http.c:4385,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http.c:4386,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http.c:4388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4367
    functionDepth: 7
    functionLinenumber: 4367
    functionLinenumberEnd: 4392
    functionName: Curl_http_write_resp_hds
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_client_write
    - curlx_dyn_free
    - curlx_dyn_len
    - curlx_dyn_ptr
    - http_parse_headers
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_write_resp_hds(struct Curl_easy *data,\n                                  const
      char *buf, size_t blen,\n                                  size_t *pconsumed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_write_resp_hds
      Src: /src/curl/lib/http.c:4402,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:4406,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:4411,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/http.c:4417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4421
      start: 4394
    functionDepth: 8
    functionLinenumber: 4394
    functionLinenumberEnd: 4421
    functionName: Curl_http_write_resp
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_http_write_resp_hds
    - Curl_client_write
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_write_resp(struct Curl_easy *data,\n                              const
      char *buf, size_t blen,\n                              bool is_eos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pstatus
    - s
    - len
    argTypes:
    - int*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4446
      start: 4424
    functionDepth: 0
    functionLinenumber: 4424
    functionLinenumberEnd: 4446
    functionName: Curl_http_decode_status
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http_decode_status(int *pstatus, const char *s, size_t
      len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:4457,1
    - Dst: calloc
      Src: /src/curl/lib/http.c:4459,1
    - Dst: memcpy
      Src: /src/curl/lib/http.c:4469,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/http.c:4474,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/http.c:4479,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/http.c:4484,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/http.c:4488,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/http.c:4489,1
    - Dst: Curl_http_req_free
      Src: /src/curl/lib/http.c:4494,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 9
    argNames:
    - preq
    - method
    - m_len
    - scheme
    - s_len
    - authority
    - a_len
    - path
    - p_len
    argTypes:
    - struct httpreq**
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4497
      start: 4448
    functionDepth: 1
    functionLinenumber: 4448
    functionLinenumberEnd: 4497
    functionName: Curl_http_req_make
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - calloc
    - memcpy
    - Curl_http_req_free
    - Curl_memdup0
    - DEBUGASSERT
    - Curl_dynhds_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_req_make(struct httpreq **preq,\n                            const
      char *method, size_t m_len,\n                            const char *scheme,
      size_t s_len,\n                            const char *authority, size_t a_len,\n
      \                           const char *path, size_t p_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http.c:4507,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:4509,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:4518,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:4521,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:4525,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:4531,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:4535,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:4539,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:4543,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:4547,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:4551,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http.c:4551,1
    - Dst: free
      Src: /src/curl/lib/http.c:4557,1
    - Dst: free
      Src: /src/curl/lib/http.c:4558,1
    - Dst: free
      Src: /src/curl/lib/http.c:4559,1
    - Dst: free
      Src: /src/curl/lib/http.c:4560,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http.c:4561,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 2
    argNames:
    - req
    - url
    argTypes:
    - struct httpreq*
    - CURLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4563
      start: 4499
    functionDepth: 1
    functionLinenumber: 4499
    functionLinenumberEnd: 4563
    functionName: req_assign_url_authority
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - strdup
    - curl_url_get
    - free
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_ptr
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_assign_url_authority(struct httpreq *req, CURLU *url)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http.c:4573,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:4575,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:4578,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http.c:4591,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http.c:4596,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:4600,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http.c:4600,1
    - Dst: free
      Src: /src/curl/lib/http.c:4607,1
    - Dst: free
      Src: /src/curl/lib/http.c:4608,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http.c:4609,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - req
    - url
    argTypes:
    - struct httpreq*
    - CURLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4611
      start: 4565
    functionDepth: 1
    functionLinenumber: 4565
    functionLinenumberEnd: 4611
    functionName: req_assign_url_path
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - strdup
    - curl_url_get
    - free
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_ptr
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_assign_url_path(struct httpreq *req, CURLU *url)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:4621,1
    - Dst: calloc
      Src: /src/curl/lib/http.c:4623,1
    - Dst: memcpy
      Src: /src/curl/lib/http.c:4626,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http.c:4628,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:4632,1
    - Dst: req_assign_url_authority
      Src: /src/curl/lib/http.c:4637,1
    - Dst: req_assign_url_path
      Src: /src/curl/lib/http.c:4640,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/http.c:4644,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/http.c:4645,1
    - Dst: Curl_http_req_free
      Src: /src/curl/lib/http.c:4650,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 5
    argNames:
    - preq
    - method
    - m_len
    - url
    - scheme_default
    argTypes:
    - struct httpreq**
    - char*
    - size_t
    - CURLU*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4653
      start: 4613
    functionDepth: 2
    functionLinenumber: 4613
    functionLinenumberEnd: 4653
    functionName: Curl_http_req_make2
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - req_assign_url_path
    - calloc
    - strdup
    - req_assign_url_authority
    - curl_url_get
    - memcpy
    - Curl_http_req_free
    - DEBUGASSERT
    - Curl_dynhds_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_req_make2(struct httpreq **preq,\n                             const
      char *method, size_t m_len,\n                             CURLU *url, const
      char *scheme_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/http.c:4658,1
    - Dst: free
      Src: /src/curl/lib/http.c:4659,1
    - Dst: free
      Src: /src/curl/lib/http.c:4660,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/http.c:4661,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/http.c:4662,1
    - Dst: free
      Src: /src/curl/lib/http.c:4663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct httpreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4665
      start: 4655
    functionDepth: 1
    functionLinenumber: 4655
    functionLinenumberEnd: 4665
    functionName: Curl_http_req_free
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 2
    functionsReached:
    - free
    - Curl_dynhds_free
    linkageType: ''
    returnType: void
    signature: void Curl_http_req_free(struct httpreq *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/http.c:4685,1
    - Dst: curl_strequal
      Src: /src/curl/lib/http.c:4689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dynhds_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4693
      start: 4682
    functionDepth: 1
    functionLinenumber: 4682
    functionLinenumberEnd: 4693
    functionName: h2_permissible_field
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: bool h2_permissible_field(struct dynhds_entry *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/curl/lib/http.c:4701,1
    - Dst: curlx_str_cspn
      Src: /src/curl/lib/http.c:4703,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http.c:4705,1
    - Dst: curlx_str_quotedword
      Src: /src/curl/lib/http.c:4714,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - fvalue
    - token
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4722
      start: 4695
    functionDepth: 1
    functionLinenumber: 4695
    functionLinenumberEnd: 4722
    functionName: http_TE_has_token
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_casecompare
    - curlx_str_cspn
    - curlx_str_quotedword
    - ISBLANK
    linkageType: ''
    returnType: bool
    signature: bool http_TE_has_token(const char *fvalue, const char *token)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:4732,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http.c:4733,1
    - Dst: strcmp
      Src: /src/curl/lib/http.c:4738,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http.c:4739,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:4739,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http.c:4742,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4743,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/http.c:4746,1
    - Dst: Curl_dynhds_get
      Src: /src/curl/lib/http.c:4755,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:4755,1
    - Dst: Curl_dynhds_reset
      Src: /src/curl/lib/http.c:4760,1
    - Dst: Curl_dynhds_set_opts
      Src: /src/curl/lib/http.c:4761,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/http.c:4762,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:4762,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:4763,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/http.c:4765,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:4765,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:4766,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/http.c:4769,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:4769,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:4770,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/http.c:4773,1
    - Dst: STRCONST
      Src: /src/curl/lib/http.c:4773,1
    - Dst: strlen
      Src: /src/curl/lib/http.c:4774,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/lib/http.c:4776,1
    - Dst: Curl_dynhds_getn
      Src: /src/curl/lib/http.c:4777,1
    - Dst: curl_strequal
      Src: /src/curl/lib/http.c:4780,1
    - Dst: http_TE_has_token
      Src: /src/curl/lib/http.c:4781,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/http.c:4782,1
    - Dst: h2_permissible_field
      Src: /src/curl/lib/http.c:4785,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/http.c:4786,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - h2_headers
    - req
    - data
    argTypes:
    - struct dynhds*
    - struct httpreq*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4792
      start: 4724
    functionDepth: 2
    functionLinenumber: 4724
    functionLinenumberEnd: 4792
    functionName: Curl_http_req_to_h2
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - curlx_str_passblanks
    - strlen
    - Curl_dynhds_count
    - curl_strequal
    - Curl_checkheaders
    - Curl_conn_is_ssl
    - Curl_dynhds_reset
    - Curl_dynhds_getn
    - http_TE_has_token
    - Curl_dynhds_set_opts
    - Curl_dynhds_get
    - strcmp
    - h2_permissible_field
    - Curl_dynhds_add
    - infof
    - STRCONST
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_req_to_h2(struct dynhds *h2_headers,\n                             struct
      httpreq *req, struct Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/http.c:4801,1
    - Dst: strdup
      Src: /src/curl/lib/http.c:4807,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/http.c:4811,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/http.c:4812,1
    - Dst: Curl_http_resp_free
      Src: /src/curl/lib/http.c:4817,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - presp
    - status
    - description
    argTypes:
    - struct http_resp**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4820
      start: 4794
    functionDepth: 1
    functionLinenumber: 4794
    functionLinenumberEnd: 4820
    functionName: Curl_http_resp_make
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - calloc
    - Curl_http_resp_free
    - Curl_dynhds_init
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_resp_make(struct http_resp **presp,\n                             int
      status,\n                             const char *description)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/http.c:4825,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/http.c:4826,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/http.c:4827,1
    - Dst: Curl_http_resp_free
      Src: /src/curl/lib/http.c:4829,1
    - Dst: free
      Src: /src/curl/lib/http.c:4830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - resp
    argTypes:
    - struct http_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4832
      start: 4822
    functionDepth: 1
    functionLinenumber: 4822
    functionLinenumberEnd: 4832
    functionName: Curl_http_resp_free
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 2
    functionsReached:
    - free
    - Curl_http_resp_free
    - Curl_dynhds_free
    linkageType: ''
    returnType: void
    signature: void Curl_http_resp_free(struct http_resp *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_expire_done
      Src: /src/curl/lib/http.c:4850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4852
      start: 4842
    functionDepth: 1
    functionLinenumber: 4842
    functionLinenumberEnd: 4852
    functionName: http_exp100_continue
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_expire_done
    linkageType: ''
    returnType: void
    signature: "void http_exp100_continue(struct Curl_easy *data,\n                                 struct
      Curl_creader *reader)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_sendbuf_empty
      Src: /src/curl/lib/http.c:4864,1
    - Dst: DEBUGF
      Src: /src/curl/lib/http.c:4867,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4867,1
    - Dst: DEBUGF
      Src: /src/curl/lib/http.c:4874,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4874,1
    - Dst: curlx_now
      Src: /src/curl/lib/http.c:4877,1
    - Dst: Curl_expire
      Src: /src/curl/lib/http.c:4878,1
    - Dst: DEBUGF
      Src: /src/curl/lib/http.c:4885,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4885,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/http.c:4890,1
    - Dst: curlx_now
      Src: /src/curl/lib/http.c:4890,1
    - Dst: DEBUGF
      Src: /src/curl/lib/http.c:4892,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4892,1
    - Dst: http_exp100_continue
      Src: /src/curl/lib/http.c:4900,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4901,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/http.c:4902,1
    - Dst: DEBUGF
      Src: /src/curl/lib/http.c:4904,1
    - Dst: infof
      Src: /src/curl/lib/http.c:4904,1
    - Dst: Curl_creader_read
      Src: /src/curl/lib/http.c:4905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - nread
    - eos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4907
      start: 4854
    functionDepth: 2
    functionLinenumber: 4854
    functionLinenumberEnd: 4907
    functionName: cr_exp100_read
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - FALLTHROUGH
    - http_exp100_continue
    - DEBUGF
    - curlx_now
    - curlx_timediff
    - Curl_creader_read
    - infof
    - Curl_req_sendbuf_empty
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_exp100_read(struct Curl_easy *data,\n                               struct
      Curl_creader *reader,\n                               char *buf, size_t blen,\n
      \                              size_t *nread, bool *eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_expire_done
      Src: /src/curl/lib/http.c:4915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - reader
    - premature
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4916
      start: 4909
    functionDepth: 1
    functionLinenumber: 4909
    functionLinenumberEnd: 4916
    functionName: cr_exp100_done
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 0
    functionsReached:
    - Curl_expire_done
    linkageType: ''
    returnType: void
    signature: "void cr_exp100_done(struct Curl_easy *data,\n                           struct
      Curl_creader *reader, int premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/curl/lib/http.c:4937,1
    - Dst: Curl_creader_add
      Src: /src/curl/lib/http.c:4940,1
    - Dst: Curl_creader_free
      Src: /src/curl/lib/http.c:4947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4949
      start: 4932
    functionDepth: 1
    functionLinenumber: 4932
    functionLinenumberEnd: 4949
    functionName: http_exp100_add_reader
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - Curl_creader_free
    - Curl_creader_create
    - Curl_creader_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode http_exp100_add_reader(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_get_by_type
      Src: /src/curl/lib/http.c:4953,1
    - Dst: http_exp100_continue
      Src: /src/curl/lib/http.c:4955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4956
      start: 4951
    functionDepth: 2
    functionLinenumber: 4951
    functionLinenumberEnd: 4956
    functionName: http_exp100_got100
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - http_exp100_continue
    - Curl_creader_get_by_type
    linkageType: ''
    returnType: void
    signature: void http_exp100_got100(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_get_by_type
      Src: /src/curl/lib/http.c:4960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4966
      start: 4958
    functionDepth: 1
    functionLinenumber: 4958
    functionLinenumberEnd: 4966
    functionName: http_exp100_is_waiting
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - Curl_creader_get_by_type
    linkageType: ''
    returnType: bool
    signature: bool http_exp100_is_waiting(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_get_by_type
      Src: /src/curl/lib/http.c:4970,1
    - Dst: http_exp100_continue
      Src: /src/curl/lib/http.c:4972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4973
      start: 4968
    functionDepth: 2
    functionLinenumber: 4968
    functionLinenumberEnd: 4973
    functionName: http_exp100_send_anyway
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - http_exp100_continue
    - Curl_creader_get_by_type
    linkageType: ''
    returnType: void
    signature: void http_exp100_send_anyway(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_get_by_type
      Src: /src/curl/lib/http.c:4977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4979
      start: 4975
    functionDepth: 1
    functionLinenumber: 4975
    functionLinenumberEnd: 4979
    functionName: http_exp100_is_selected
    functionSourceFile: /src/curl/lib/http.c
    functionUses: 1
    functionsReached:
    - Curl_creader_get_by_type
    linkageType: ''
    returnType: bool
    signature: bool http_exp100_is_selected(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: GOOD_EASY_HANDLE
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_EASY_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: GOOD_EASY_HANDLE
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_EASY_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: CONN_IS_PROXIED
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_IS_PROXIED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: CONN_IS_PROXIED
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_IS_PROXIED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: CURL_WANT_SEND
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_WANT_SEND(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: CURL_WANT_RECV
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_WANT_RECV(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: CONN_INUSE
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_INUSE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: CONN_ATTACHED
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_ATTACHED(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: CONN_SOCK_IDX_VALID
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_SOCK_IDX_VALID(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 755
    functionName: CURL_CONN_HOST_DISPNAME
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CONN_HOST_DISPNAME(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: CURL_CONN_HOST_DISPNAME
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CONN_HOST_DISPNAME(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1619
    functionName: IS_MIME_POST
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_MIME_POST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1621
    functionName: IS_MIME_POST
    functionSourceFile: /src/curl/lib/urldata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_MIME_POST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ISLOWHEXALHA
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWHEXALHA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ISUPHEXALHA
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISUPHEXALHA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ISLOWCNTRL
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWCNTRL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: IS7F
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS7F(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: ISLOWPRINT
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWPRINT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ISPRINT
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISPRINT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: ISGRAPH
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISGRAPH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ISCNTRL
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISCNTRL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: ISALPHA
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISALPHA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: ISXDIGIT
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISXDIGIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: ISODIGIT
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISODIGIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ISALNUM
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISALNUM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ISUPPER
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISUPPER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ISLOWER
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISLOWER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: ISDIGIT
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISDIGIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: ISBLANK
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISBLANK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ISSPACE
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISSPACE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ISURLPUNTCS
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISURLPUNTCS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ISUNRESERVED
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISUNRESERVED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: ISNEWLINE
    functionSourceFile: /src/curl/lib/curl_ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISNEWLINE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: VERIFYNODE
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFYNODE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: verifynode
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *verifynode(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: VERIFYNODE
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFYNODE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - l
    - dtor
    argTypes:
    - struct Curl_llist*
    - Curl_llist_dtor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: Curl_llist_init
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_llist_init(struct Curl_llist *l, Curl_llist_dtor dtor)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:81,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:82,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:83,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/llist.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - list
    - e
    - p
    - ne
    argTypes:
    - struct Curl_llist*
    - struct Curl_llist_node*
    - void*
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 115
    functionName: Curl_llist_insert_next
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: "void Curl_llist_insert_next(struct Curl_llist *list,\n                       struct
      Curl_llist_node *e, /* may be NULL */\n                       const void *p,\n
      \                      struct Curl_llist_node *ne)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:130,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:131,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:132,1
    - Dst: Curl_llist_insert_next
      Src: /src/curl/lib/llist.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - list
    - p
    - ne
    argTypes:
    - struct Curl_llist*
    - void*
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: Curl_llist_append
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - Curl_llist_insert_next
    linkageType: ''
    returnType: void
    signature: "void Curl_llist_append(struct Curl_llist *list, const void *p,\n                  struct
      Curl_llist_node *ne)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:144,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:145,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:146,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 179
    functionName: Curl_node_take_elem
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void *Curl_node_take_elem(struct Curl_llist_node *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:194,1
    - Dst: Curl_node_take_elem
      Src: /src/curl/lib/llist.c:196,1
    - Dst: struct Curl_llist*::_dtor
      Src: /src/curl/lib/llist.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - e
    - user
    argTypes:
    - struct Curl_llist_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: Curl_node_uremove
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - Curl_node_take_elem
    - struct Curl_llist*::_dtor
    - DEBUGASSERT
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST Curl_node_uremove(struct Curl_llist_node *e, void *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_node_uremove
      Src: /src/curl/lib/llist.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: Curl_node_remove
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - Curl_node_uremove
    linkageType: ''
    returnType: void
    signature: void Curl_node_remove(struct Curl_llist_node *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:211,1
    - Dst: Curl_node_uremove
      Src: /src/curl/lib/llist.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - list
    - user
    argTypes:
    - struct Curl_llist*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: Curl_llist_destroy
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - Curl_node_uremove
    linkageType: ''
    returnType: void
    signature: void Curl_llist_destroy(struct Curl_llist *list, void *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:221,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:222,1
    - Dst: VERIFYNODE
      Src: /src/curl/lib/llist.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct Curl_llist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: Curl_llist_head
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 2
    functionsReached:
    - VERIFYNODE
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *Curl_llist_head(struct Curl_llist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:231,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:232,1
    - Dst: VERIFYNODE
      Src: /src/curl/lib/llist.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct Curl_llist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: Curl_llist_tail
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - VERIFYNODE
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *Curl_llist_tail(struct Curl_llist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:240,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct Curl_llist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: Curl_llist_count
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 4
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_llist_count(struct Curl_llist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:248,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: Curl_node_elem
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void *Curl_node_elem(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:257,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:258,1
    - Dst: VERIFYNODE
      Src: /src/curl/lib/llist.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: Curl_node_next
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 2
    functionsReached:
    - VERIFYNODE
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *Curl_node_next(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:268,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:269,1
    - Dst: VERIFYNODE
      Src: /src/curl/lib/llist.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: Curl_node_prev
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 1
    functionsReached:
    - VERIFYNODE
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_llist_node
    signature: struct Curl_llist_node *Curl_node_prev(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:277,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/llist.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct Curl_llist_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: Curl_node_llist
    functionSourceFile: /src/curl/lib/llist.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_llist
    signature: struct Curl_llist *Curl_node_llist(struct Curl_llist_node *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: CURL_CONC_MACROS_
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CONC_MACROS_(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: CURL_CONC_MACROS
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_CONC_MACROS(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: CURL_PRINTF
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_PRINTF(fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: CURL_PRINTF
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_PRINTF(fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: select
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: select(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: select
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: select(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fdes
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: lseek
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fdes, offset, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fdes
    - ','
    - stp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: fstat
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fstat(fdes,stp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fdes
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: lseek
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fdes, offset, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fdes
    - ','
    - stp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: fstat
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fstat(fdes, stp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fdes
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 514
    functionName: lseek
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fdes,offset,whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: CURL_UINT64_C
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UINT64_C(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - n
    - ','
    - r
    - ','
    - w
    - ','
    - x
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 664
    functionName: select
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: select(n,r,w,x,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: ioctl
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ioctl(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 807
    functionName: FALLTHROUGH
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FALLTHROUGH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 809
    functionName: FALLTHROUGH
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FALLTHROUGH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    functionName: raise
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: raise(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 826
    functionName: CURL_SETERRNO
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SETERRNO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 835
    functionName: strerror
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 192
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 839
    functionName: CURL_SETERRNO
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SETERRNO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 878
    functionName: S_ISREG
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 883
    functionName: S_ISDIR
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 944
    functionName: CURLMAX
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLMAX(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 945
    functionName: CURLMIN
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLMIN(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 950
    functionName: STRCONST
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCONST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 952
    functionName: CURL_ARRAYSIZE
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_ARRAYSIZE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 985
    functionName: Curl_safefree
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_safefree(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 993
    functionName: ALLOC_SIZE
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_SIZE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 994
    functionName: ALLOC_SIZE2
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_SIZE2(n, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1001
    functionName: ALLOC_SIZE
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_SIZE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1002
    functionName: ALLOC_SIZE2
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_SIZE2(n, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sockfd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1075
    functionName: sclose
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclose(sockfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sockfd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1076
    functionName: fake_sclose
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fake_sclose(sockfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - host
    - ','
    - serv
    - ','
    - hint
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1079
    functionName: CURL_GETADDRINFO
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_GETADDRINFO(host,serv,hint,res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1081
    functionName: CURL_FREEADDRINFO
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_FREEADDRINFO(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - domain
    - ','
    - type
    - ','
    - protocol
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1083
    functionName: CURL_SOCKET
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SOCKET(domain,type,protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - domain
    - ','
    - type
    - ','
    - protocol
    - ','
    - socket_vector
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1087
    functionName: CURL_SOCKETPAIR
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SOCKETPAIR(domain,type,protocol,socket_vector)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sock
    - ','
    - addr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1090
    functionName: CURL_ACCEPT
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_ACCEPT(sock,addr,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - sock
    - ','
    - addr
    - ','
    - len
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1093
    functionName: CURL_ACCEPT4
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_ACCEPT4(sock,addr,len,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1095
    functionName: CURL_SEND
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SEND(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1096
    functionName: CURL_RECV
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_RECV(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1100
    functionName: sclose
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclose(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1101
    functionName: fake_sclose
    functionSourceFile: /src/curl/lib/curl_setup.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fake_sclose(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/curl_addrinfo.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cahead
    argTypes:
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: Curl_freeaddrinfo
    functionSourceFile: /src/curl/lib/curl_addrinfo.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Curl_freeaddrinfo(struct Curl_addrinfo *cahead)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CURL_GETADDRINFO
      Src: /src/curl/lib/curl_addrinfo.c:122,1
    - Dst: strlen
      Src: /src/curl/lib/curl_addrinfo.c:129,1
    - Dst: malloc
      Src: /src/curl/lib/curl_addrinfo.c:149,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:168,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:172,1
    - Dst: CURL_FREEADDRINFO
      Src: /src/curl/lib/curl_addrinfo.c:188,1
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:192,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/lib/curl_addrinfo.c:204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 4
    argNames:
    - nodename
    - servname
    - hints
    - result
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct Curl_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 212
    functionName: Curl_getaddrinfo_ex
    functionSourceFile: /src/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - SET_SOCKERRNO
    - CURL_GETADDRINFO
    - memcpy
    - CURL_FREEADDRINFO
    - Curl_freeaddrinfo
    linkageType: ''
    returnType: int
    signature: "int Curl_getaddrinfo_ex(const char *nodename,\n                    const
      char *servname,\n                    const struct addrinfo *hints,\n                    struct
      Curl_addrinfo **result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_addrinfo.c:275,1
    - Dst: strlen
      Src: /src/curl/lib/curl_addrinfo.c:279,1
    - Dst: calloc
      Src: /src/curl/lib/curl_addrinfo.c:288,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:297,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:321,1
    - Dst: htons
      Src: /src/curl/lib/curl_addrinfo.c:323,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:330,1
    - Dst: htons
      Src: /src/curl/lib/curl_addrinfo.c:332,1
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:341,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - he
    - port
    argTypes:
    - struct hostent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 346
    functionName: Curl_he2ai
    functionSourceFile: /src/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    - memcpy
    - Curl_freeaddrinfo
    - htons
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: 'struct Curl_addrinfo *

      Curl_he2ai(const struct hostent *he, int port)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_addrinfo.c:369,1
    - Dst: strlen
      Src: /src/curl/lib/curl_addrinfo.c:371,1
    - Dst: calloc
      Src: /src/curl/lib/curl_addrinfo.c:383,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:390,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:400,1
    - Dst: htons
      Src: /src/curl/lib/curl_addrinfo.c:402,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:409,1
    - Dst: htons
      Src: /src/curl/lib/curl_addrinfo.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - af
    - inaddr
    - hostname
    - port
    argTypes:
    - int
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 417
    functionName: Curl_ip2addr
    functionSourceFile: /src/curl/lib/curl_addrinfo.c
    functionUses: 1
    functionsReached:
    - calloc
    - strlen
    - memcpy
    - htons
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: 'struct Curl_addrinfo *

      Curl_ip2addr(int af, const void *inaddr, const char *hostname, int port)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/curl_addrinfo.c:426,1
    - Dst: Curl_ip2addr
      Src: /src/curl/lib/curl_addrinfo.c:428,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/curl_addrinfo.c:432,1
    - Dst: Curl_ip2addr
      Src: /src/curl/lib/curl_addrinfo.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 438
    functionName: Curl_str2addr
    functionSourceFile: /src/curl/lib/curl_addrinfo.c
    functionUses: 1
    functionsReached:
    - curlx_inet_pton
    - Curl_ip2addr
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *Curl_str2addr(char *address, int port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/curl_addrinfo.c:455,1
    - Dst: strlen
      Src: /src/curl/lib/curl_addrinfo.c:464,1
    - Dst: free
      Src: /src/curl/lib/curl_addrinfo.c:466,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:478,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_addrinfo.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - path
    - longpath
    - abstract
    argTypes:
    - char*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 483
    functionName: Curl_unix2addr
    functionSourceFile: /src/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_unix2addr(const char *path, bool *longpath,\n
      \                                    bool abstract)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_dbg_log
      Src: /src/curl/lib/curl_addrinfo.c:500,1
    - Dst: lwip_freeaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:503,1
    - Dst: getenv
      Src: /src/curl/lib/curl_addrinfo.c:506,1
    - Dst: r_freeaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:508,1
    - Dst: freeaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:511,1
    - Dst: freeaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - freethis
    - line
    - source
    argTypes:
    - struct addrinfo*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 517
    functionName: curl_dbg_freeaddrinfo
    functionSourceFile: /src/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - getenv
    - curl_dbg_log
    - freeaddrinfo
    - lwip_freeaddrinfo
    - r_freeaddrinfo
    linkageType: ''
    returnType: void
    signature: "void curl_dbg_freeaddrinfo(struct addrinfo *freethis,\n                      int
      line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwip_getaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:538,1
    - Dst: getenv
      Src: /src/curl/lib/curl_addrinfo.c:541,1
    - Dst: r_getaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:543,1
    - Dst: getaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:546,1
    - Dst: getaddrinfo
      Src: /src/curl/lib/curl_addrinfo.c:549,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/curl_addrinfo.c:553,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/curl_addrinfo.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - hostname
    - service
    - hints
    - result
    - line
    - source
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct addrinfo**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 559
    functionName: curl_dbg_getaddrinfo
    functionSourceFile: /src/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - lwip_getaddrinfo
    - getenv
    - getaddrinfo
    - curl_dbg_log
    - r_getaddrinfo
    linkageType: ''
    returnType: int
    signature: "int curl_dbg_getaddrinfo(const char *hostname,\n                     const
      char *service,\n                     const struct addrinfo *hints,\n                     struct
      addrinfo **result,\n                     int line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/curl/lib/curl_addrinfo.c:578,1
    - Dst: htons
      Src: /src/curl/lib/curl_addrinfo.c:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - addrinfo
    - port
    argTypes:
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 589
    functionName: Curl_addrinfo_set_port
    functionSourceFile: /src/curl/lib/curl_addrinfo.c
    functionUses: 0
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: void Curl_addrinfo_set_port(struct Curl_addrinfo *addrinfo, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: CURL_TRC_M_is_verbose
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_M_is_verbose(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: CURL_TRC_DNS_is_verbose
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_DNS_is_verbose(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: CURL_TRC_TIMER_is_verbose
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_TIMER_is_verbose(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: infof
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: infof(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: CURL_TRC_M
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_M(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - cf
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: CURL_TRC_CF
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_CF(data, cf, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: CURL_TRC_WRITE
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_WRITE(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: CURL_TRC_READ
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_READ(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: CURL_TRC_DNS
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_DNS(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - tid
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: CURL_TRC_TIMER
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_TIMER(data, tid, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: CURL_TRC_FTP
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_FTP(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: CURL_TRC_SMTP
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_SMTP(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: CURL_TRC_SSLS
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_SSLS(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: CURL_TRC_WS
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_WS(data, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: Curl_trc_is_verbose
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_is_verbose(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cf
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: Curl_trc_cf_is_verbose
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_cf_is_verbose(cf, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - ft
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: Curl_trc_ft_is_verbose
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_ft_is_verbose(data, ft)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: CURL_MSTATE_NAME
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_MSTATE_NAME(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: CURL_TRC_EASY_TIMERS
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_EASY_TIMERS(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: Curl_trc_is_verbose
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_is_verbose(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: Curl_trc_cf_is_verbose
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_cf_is_verbose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: Curl_trc_ft_is_verbose
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_trc_ft_is_verbose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: CURL_MSTATE_NAME
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_MSTATE_NAME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: CURL_TRC_EASY_TIMERS
    functionSourceFile: /src/curl/lib/curl_trc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_EASY_TIMERS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: Curl_headersep
    functionSourceFile: /src/curl/lib/transfer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_headersep(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: Curl_rand
    functionSourceFile: /src/curl/lib/rand.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_rand(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: Curl_rand
    functionSourceFile: /src/curl/lib/rand.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_rand(a,b,c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/curl/lib/getenv.c:48,1
    - Dst: free
      Src: /src/curl/lib/getenv.c:50,1
    - Dst: GetEnvironmentVariableA
      Src: /src/curl/lib/getenv.c:59,1
    - Dst: free
      Src: /src/curl/lib/getenv.c:61,1
    - Dst: getenv
      Src: /src/curl/lib/getenv.c:72,1
    - Dst: strdup
      Src: /src/curl/lib/getenv.c:73,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - variable
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 75
    functionName: GetEnv
    functionSourceFile: /src/curl/lib/getenv.c
    functionUses: 0
    functionsReached:
    - getenv
    - strdup
    - GetEnvironmentVariableA
    - free
    - realloc
    linkageType: ''
    returnType: char
    signature: char *GetEnv(const char *variable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEnv
      Src: /src/curl/lib/getenv.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: curl_getenv
    functionSourceFile: /src/curl/lib/getenv.c
    functionUses: 6
    functionsReached:
    - GetEnv
    linkageType: ''
    returnType: char
    signature: char *curl_getenv(const char *v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/curl/lib/system_win32.c:62,1
    - Dst: WSAStartup
      Src: /src/curl/lib/system_win32.c:63,1
    - Dst: LOBYTE
      Src: /src/curl/lib/system_win32.c:76,1
    - Dst: LOBYTE
      Src: /src/curl/lib/system_win32.c:76,1
    - Dst: HIBYTE
      Src: /src/curl/lib/system_win32.c:77,1
    - Dst: HIBYTE
      Src: /src/curl/lib/system_win32.c:77,1
    - Dst: WSACleanup
      Src: /src/curl/lib/system_win32.c:81,1
    - Dst: lwip_init
      Src: /src/curl/lib/system_win32.c:86,1
    - Dst: Curl_sspi_global_init
      Src: /src/curl/lib/system_win32.c:92,1
    - Dst: curl_load_library
      Src: /src/curl/lib/system_win32.c:99,1
    - Dst: TEXT
      Src: /src/curl/lib/system_win32.c:99,1
    - Dst: CURLX_FUNCTION_CAST
      Src: /src/curl/lib/system_win32.c:108,1
    - Dst: GetProcAddress
      Src: /src/curl/lib/system_win32.c:109,1
    - Dst: CURL_TEXT
      Src: /src/curl/lib/system_win32.c:110,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/system_win32.c:119,1
    - Dst: QueryPerformanceFrequency
      Src: /src/curl/lib/system_win32.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - flags
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 128
    functionName: Curl_win32_init
    functionSourceFile: /src/curl/lib/system_win32.c
    functionUses: 0
    functionsReached:
    - curlx_verify_windows_version
    - curl_load_library
    - WSAStartup
    - QueryPerformanceFrequency
    - TEXT
    - WSACleanup
    - HIBYTE
    - CURLX_FUNCTION_CAST
    - GetProcAddress
    - Curl_sspi_global_init
    - lwip_init
    - CURL_TEXT
    - LOBYTE
    - MAKEWORD
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_win32_init(long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: CURL_TEXT
    functionSourceFile: /src/curl/lib/system_win32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TEXT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: CURL_TEXT
    functionSourceFile: /src/curl/lib/system_win32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TEXT(n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/curl/lib/system_win32.c:135,1
    - Dst: Curl_sspi_global_cleanup
      Src: /src/curl/lib/system_win32.c:142,1
    - Dst: WSACleanup
      Src: /src/curl/lib/system_win32.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - init_flags
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: Curl_win32_cleanup
    functionSourceFile: /src/curl/lib/system_win32.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    - Curl_sspi_global_cleanup
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void Curl_win32_cleanup(long init_flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/curl/lib/system_win32.c:197,1
    - Dst: TEXT
      Src: /src/curl/lib/system_win32.c:197,1
    - Dst: CURLX_FUNCTION_CAST
      Src: /src/curl/lib/system_win32.c:204,1
    - Dst: GetProcAddress
      Src: /src/curl/lib/system_win32.c:205,1
    - Dst: _tcspbrk
      Src: /src/curl/lib/system_win32.c:211,1
    - Dst: TEXT
      Src: /src/curl/lib/system_win32.c:211,1
    - Dst: pLoadLibraryEx
      Src: /src/curl/lib/system_win32.c:214,1
    - Dst: LoadLibrary
      Src: /src/curl/lib/system_win32.c:215,1
    - Dst: GetProcAddress
      Src: /src/curl/lib/system_win32.c:220,1
    - Dst: pLoadLibraryEx
      Src: /src/curl/lib/system_win32.c:222,1
    - Dst: GetSystemDirectory
      Src: /src/curl/lib/system_win32.c:226,1
    - Dst: _tcslen
      Src: /src/curl/lib/system_win32.c:230,1
    - Dst: malloc
      Src: /src/curl/lib/system_win32.c:231,1
    - Dst: GetSystemDirectory
      Src: /src/curl/lib/system_win32.c:232,1
    - Dst: _tcscpy
      Src: /src/curl/lib/system_win32.c:234,1
    - Dst: _tcslen
      Src: /src/curl/lib/system_win32.c:234,1
    - Dst: TEXT
      Src: /src/curl/lib/system_win32.c:234,1
    - Dst: _tcscpy
      Src: /src/curl/lib/system_win32.c:235,1
    - Dst: _tcslen
      Src: /src/curl/lib/system_win32.c:235,1
    - Dst: pLoadLibraryEx
      Src: /src/curl/lib/system_win32.c:240,1
    - Dst: LoadLibrary
      Src: /src/curl/lib/system_win32.c:241,1
    - Dst: free
      Src: /src/curl/lib/system_win32.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - filename
    argTypes:
    - LPCTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 252
    functionName: curl_load_library
    functionSourceFile: /src/curl/lib/system_win32.c
    functionUses: 1
    functionsReached:
    - malloc
    - TEXT
    - GetProcAddress
    - CURLX_FUNCTION_CAST
    - _tcslen
    - free
    - LoadLibrary
    - _tcspbrk
    - pLoadLibraryEx
    - GetSystemDirectory
    - _tcscpy
    - GetModuleHandle
    linkageType: ''
    returnType: HMODULE
    signature: HMODULE curl_load_library(LPCTSTR filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/uint-table.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tbl
    - entry_dtor
    argTypes:
    - struct uint_tbl*
    - Curl_uint_tbl_entry_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: Curl_uint_tbl_init
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void Curl_uint_tbl_init(struct uint_tbl *tbl,\n                        Curl_uint_tbl_entry_dtor
      *entry_dtor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/curl/lib/uint-table.c:57,1
    - Dst: struct uint_tbl*::entry_dtor
      Src: /src/curl/lib/uint-table.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - tbl
    - from
    - upto_excluding
    argTypes:
    - struct uint_tbl*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: uint_tbl_clear_rows
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - struct uint_tbl*::entry_dtor
    linkageType: ''
    returnType: void
    signature: "void uint_tbl_clear_rows(struct uint_tbl *tbl,\n                                unsigned
      int from,\n                                unsigned int upto_excluding)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-table.c:72,1
    - Dst: calloc
      Src: /src/curl/lib/uint-table.c:76,1
    - Dst: memcpy
      Src: /src/curl/lib/uint-table.c:80,1
    - Dst: CURLMIN
      Src: /src/curl/lib/uint-table.c:80,1
    - Dst: uint_tbl_clear_rows
      Src: /src/curl/lib/uint-table.c:82,1
    - Dst: free
      Src: /src/curl/lib/uint-table.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - tbl
    - nrows
    argTypes:
    - struct uint_tbl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: Curl_uint_tbl_resize
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 2
    functionsReached:
    - uint_tbl_clear_rows
    - calloc
    - CURLMIN
    - memcpy
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_uint_tbl_resize(struct uint_tbl *tbl, unsigned int nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-table.c:94,1
    - Dst: Curl_uint_tbl_clear
      Src: /src/curl/lib/uint-table.c:95,1
    - Dst: free
      Src: /src/curl/lib/uint-table.c:96,1
    - Dst: memset
      Src: /src/curl/lib/uint-table.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: Curl_uint_tbl_destroy
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - free
    - Curl_uint_tbl_clear
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_uint_tbl_destroy(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-table.c:102,1
    - Dst: uint_tbl_clear_rows
      Src: /src/curl/lib/uint-table.c:103,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-table.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: Curl_uint_tbl_clear
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 2
    functionsReached:
    - uint_tbl_clear_rows
    - DEBUGASSERT
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST Curl_uint_tbl_clear(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Curl_uint_tbl_capacity
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_tbl_capacity(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct uint_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: Curl_uint_tbl_count
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_tbl_count(struct uint_tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tbl
    - key
    argTypes:
    - struct uint_tbl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: Curl_uint_tbl_get
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *Curl_uint_tbl_get(struct uint_tbl *tbl, unsigned int key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-table.c:131,1
    - Dst: CURLMIN
      Src: /src/curl/lib/uint-table.c:138,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-table.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - tbl
    - entry
    - pkey
    argTypes:
    - struct uint_tbl*
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 161
    functionName: Curl_uint_tbl_add
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - CURLMIN
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_tbl_add(struct uint_tbl *tbl, void *entry, unsigned
      int *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint_tbl_clear_rows
      Src: /src/curl/lib/uint-table.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tbl
    - key
    argTypes:
    - struct uint_tbl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: Curl_uint_tbl_remove
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - uint_tbl_clear_rows
    linkageType: ''
    returnType: void
    signature: void Curl_uint_tbl_remove(struct uint_tbl *tbl, unsigned int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tbl
    - key
    argTypes:
    - struct uint_tbl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: Curl_uint_tbl_contains
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_tbl_contains(struct uint_tbl *tbl, unsigned int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - tbl
    - key
    - pkey
    - pentry
    argTypes:
    - struct uint_tbl*
    - unsigned int
    - unsigned int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: uint_tbl_next_at
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool uint_tbl_next_at(struct uint_tbl *tbl, unsigned int key,\n                             unsigned
      int *pkey, void **pentry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint_tbl_next_at
      Src: /src/curl/lib/uint-table.c:196,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-table.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - tbl
    - pkey
    - pentry
    argTypes:
    - struct uint_tbl*
    - unsigned int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: Curl_uint_tbl_first
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - uint_tbl_next_at
    linkageType: ''
    returnType: bool
    signature: "bool Curl_uint_tbl_first(struct uint_tbl *tbl,\n                         unsigned
      int *pkey, void **pentry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint_tbl_next_at
      Src: /src/curl/lib/uint-table.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - tbl
    - last_key
    - pkey
    - pentry
    argTypes:
    - struct uint_tbl*
    - unsigned int
    - unsigned int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: Curl_uint_tbl_next
    functionSourceFile: /src/curl/lib/uint-table.c
    functionUses: 1
    functionsReached:
    - uint_tbl_next_at
    linkageType: ''
    returnType: bool
    signature: "bool Curl_uint_tbl_next(struct uint_tbl *tbl, unsigned int last_key,\n
      \                       unsigned int *pkey, void **pentry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/easygetopt.c:33,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/easygetopt.c:34,1
    - Dst: Curl_easyopts_check
      Src: /src/curl/lib/easygetopt.c:34,1
    - Dst: curl_strequal
      Src: /src/curl/lib/easygetopt.c:39,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - name
    - id
    argTypes:
    - char*
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: lookup
    functionSourceFile: /src/curl/lib/easygetopt.c
    functionUses: 0
    functionsReached:
    - Curl_easyopts_check
    - DEBUGASSERT
    - curl_strequal
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *lookup(const char *name, CURLoption id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/curl/lib/easygetopt.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: curl_easy_option_by_name
    functionSourceFile: /src/curl/lib/easygetopt.c
    functionUses: 2
    functionsReached:
    - lookup
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *curl_easy_option_by_name(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/curl/lib/easygetopt.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: curl_easy_option_by_id
    functionSourceFile: /src/curl/lib/easygetopt.c
    functionUses: 1
    functionsReached:
    - lookup
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *curl_easy_option_by_id(CURLoption id)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - prev
    argTypes:
    - struct curl_easyoption*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: curl_easy_option_next
    functionSourceFile: /src/curl/lib/easygetopt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct curl_easyoption
    signature: 'struct curl_easyoption *

      curl_easy_option_next(const struct curl_easyoption *prev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: curl_easy_option_by_name
    functionSourceFile: /src/curl/lib/easygetopt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *curl_easy_option_by_name(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: curl_easy_option_by_id
    functionSourceFile: /src/curl/lib/easygetopt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct curl_easyoption
    signature: struct curl_easyoption *curl_easy_option_by_id(CURLoption id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prev
    argTypes:
    - struct curl_easyoption*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: curl_easy_option_next
    functionSourceFile: /src/curl/lib/easygetopt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct curl_easyoption
    signature: 'struct curl_easyoption *

      curl_easy_option_next(const struct curl_easyoption *prev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:103,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:104,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/transfer.c:107,1
    - Dst: Curl_headersep
      Src: /src/curl/lib/transfer.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - thisheader
    - thislen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: Curl_checkheaders
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 13
    functionsReached:
    - Curl_headersep
    - curl_strnequal
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: "char *Curl_checkheaders(const struct Curl_easy *data,\n                        const
      char *thisheader,\n                        const size_t thislen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_data_pending
      Src: /src/curl/lib/transfer.c:121,1
    - Dst: Curl_conn_data_pending
      Src: /src/curl/lib/transfer.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rcvd_eagain
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: data_pending
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 2
    functionsReached:
    - Curl_conn_data_pending
    linkageType: ''
    returnType: int
    signature: int data_pending(struct Curl_easy *data, bool rcvd_eagain)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/transfer.c:143,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - data
    - timeofdoc
    argTypes:
    - struct Curl_easy*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 160
    functionName: Curl_meets_timecondition
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 2
    functionsReached:
    - infof
    linkageType: ''
    returnType: bool
    signature: bool Curl_meets_timecondition(struct Curl_easy *data, time_t timeofdoc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_shutdown
      Src: /src/curl/lib/transfer.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: xfer_recv_shutdown
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_shutdown
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode xfer_recv_shutdown(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_shutdown_started
      Src: /src/curl/lib/transfer.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: xfer_recv_shutdown_started
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_shutdown_started
    linkageType: ''
    returnType: bool
    signature: bool xfer_recv_shutdown_started(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_shutdown
      Src: /src/curl/lib/transfer.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: Curl_xfer_send_shutdown
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_shutdown
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_send_shutdown(struct Curl_easy *data, bool *done)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:199,1
    - Dst: xfer_recv_shutdown_started
      Src: /src/curl/lib/transfer.c:209,1
    - Dst: Curl_xfer_recv
      Src: /src/curl/lib/transfer.c:220,1
    - Dst: xfer_recv_shutdown
      Src: /src/curl/lib/transfer.c:228,1
    - Dst: DEBUGF
      Src: /src/curl/lib/transfer.c:236,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:236,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - data
    - buf
    - blen
    - eos_reliable
    - err
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 239
    functionName: xfer_recv_resp
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_recv
    - DEBUGF
    - xfer_recv_shutdown_started
    - xfer_recv_shutdown
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t xfer_recv_resp(struct Curl_easy *data,\n                              char
      *buf, size_t blen,\n                              bool eos_reliable,\n                              CURLcode
      *err)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_xfer_buf_borrow
      Src: /src/curl/lib/transfer.c:258,1
    - Dst: Curl_conn_is_multiplex
      Src: /src/curl/lib/transfer.c:273,1
    - Dst: xfer_recv_resp
      Src: /src/curl/lib/transfer.c:291,1
    - Dst: DEBUGF
      Src: /src/curl/lib/transfer.c:299,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:299,1
    - Dst: DEBUGF
      Src: /src/curl/lib/transfer.c:316,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:316,1
    - Dst: DEBUGF
      Src: /src/curl/lib/transfer.c:318,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:318,1
    - Dst: Curl_req_stop_send_recv
      Src: /src/curl/lib/transfer.c:319,1
    - Dst: Curl_xfer_write_resp
      Src: /src/curl/lib/transfer.c:327,1
    - Dst: Curl_xfer_is_blocked
      Src: /src/curl/lib/transfer.c:343,1
    - Dst: data_pending
      Src: /src/curl/lib/transfer.c:344,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/transfer.c:347,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/transfer.c:348,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:356,1
    - Dst: Curl_req_abort_sending
      Src: /src/curl/lib/transfer.c:357,1
    - Dst: Curl_multi_xfer_buf_release
      Src: /src/curl/lib/transfer.c:361,1
    - Dst: DEBUGF
      Src: /src/curl/lib/transfer.c:363,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:363,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 69
    argCount: 2
    argNames:
    - data
    - k
    argTypes:
    - struct Curl_easy*
    - struct SingleRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 365
    functionName: sendrecv_dl
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - data_pending
    - DEBUGF
    - xfer_recv_resp
    - Curl_xfer_is_blocked
    - CURL_TRC_M
    - Curl_multi_xfer_buf_release
    - Curl_req_abort_sending
    - Curl_conn_is_multiplex
    - Curl_multi_xfer_buf_borrow
    - Curl_xfer_write_resp
    - infof
    - Curl_req_stop_send_recv
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sendrecv_dl(struct Curl_easy *data,\n                            struct
      SingleRequest *k)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:375,1
    - Dst: Curl_req_done_sending
      Src: /src/curl/lib/transfer.c:375,1
    - Dst: Curl_req_done_sending
      Src: /src/curl/lib/transfer.c:377,1
    - Dst: Curl_req_send_more
      Src: /src/curl/lib/transfer.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: sendrecv_ul
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_req_done_sending
    - Curl_req_send_more
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sendrecv_ul(struct Curl_easy *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:391,1
    - Dst: Curl_xfer_is_blocked
      Src: /src/curl/lib/transfer.c:392,1
    - Dst: sendrecv_dl
      Src: /src/curl/lib/transfer.c:400,1
    - Dst: Curl_req_want_send
      Src: /src/curl/lib/transfer.c:406,1
    - Dst: sendrecv_ul
      Src: /src/curl/lib/transfer.c:407,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/transfer.c:412,1
    - Dst: Curl_speedcheck
      Src: /src/curl/lib/transfer.c:415,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/transfer.c:420,1
    - Dst: failf
      Src: /src/curl/lib/transfer.c:422,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/transfer.c:425,1
    - Dst: failf
      Src: /src/curl/lib/transfer.c:429,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/transfer.c:431,1
    - Dst: failf
      Src: /src/curl/lib/transfer.c:445,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/transfer.c:450,1
    - Dst: DEBUGF
      Src: /src/curl/lib/transfer.c:462,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:462,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 2
    argNames:
    - data
    - nowp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 464
    functionName: Curl_sendrecv
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - sendrecv_dl
    - infof
    - Curl_timeleft
    - failf
    - Curl_xfer_is_blocked
    - DEBUGF
    - Curl_req_want_send
    - Curl_pgrsUpdate
    - curlx_timediff
    - Curl_speedcheck
    - sendrecv_ul
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sendrecv(struct Curl_easy *data, struct curltime *nowp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: Curl_init_CONNECT
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_init_CONNECT(struct Curl_easy *data)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/transfer.c:494,1
    - Dst: free
      Src: /src/curl/lib/transfer.c:502,1
    - Dst: curl_url_get
      Src: /src/curl/lib/transfer.c:503,1
    - Dst: failf
      Src: /src/curl/lib/transfer.c:506,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/transfer.c:513,1
    - Dst: failf
      Src: /src/curl/lib/transfer.c:521,1
    - Dst: Curl_http_neg_init
      Src: /src/curl/lib/transfer.c:536,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/transfer.c:541,1
    - Dst: Curl_data_priority_clear_state
      Src: /src/curl/lib/transfer.c:542,1
    - Dst: strlen
      Src: /src/curl/lib/transfer.c:550,1
    - Dst: Curl_cookie_loadfiles
      Src: /src/curl/lib/transfer.c:556,1
    - Dst: Curl_loadhostpairs
      Src: /src/curl/lib/transfer.c:560,1
    - Dst: Curl_hsts_loadfiles
      Src: /src/curl/lib/transfer.c:563,1
    - Dst: signal
      Src: /src/curl/lib/transfer.c:576,1
    - Dst: Curl_initinfo
      Src: /src/curl/lib/transfer.c:579,1
    - Dst: Curl_pgrsResetTransferSizes
      Src: /src/curl/lib/transfer.c:580,1
    - Dst: Curl_pgrsStartNow
      Src: /src/curl/lib/transfer.c:581,1
    - Dst: calloc
      Src: /src/curl/lib/transfer.c:594,1
    - Dst: struct WildcardData*::dtor
      Src: /src/curl/lib/transfer.c:601,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/transfer.c:602,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/transfer.c:603,1
    - Dst: Curl_wildcard_init
      Src: /src/curl/lib/transfer.c:604,1
    - Dst: Curl_hsts_loadcb
      Src: /src/curl/lib/transfer.c:610,1
    - Dst: free
      Src: /src/curl/lib/transfer.c:619,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/transfer.c:621,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/transfer.c:630,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/transfer.c:633,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/transfer.c:637,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/transfer.c:640,1
    - Dst: Curl_headers_cleanup
      Src: /src/curl/lib/transfer.c:645,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 480
    functionDepth: 5
    functionLinenumber: 480
    functionLinenumberEnd: 647
    functionName: Curl_pretransfer
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_headers_cleanup
    - Curl_loadhostpairs
    - signal
    - calloc
    - failf
    - Curl_http_neg_init
    - curl_url_get
    - Curl_cookie_loadfiles
    - curl_maprintf
    - Curl_data_priority_clear_state
    - strlen
    - free
    - Curl_hsts_loadcb
    - Curl_setstropt
    - Curl_safefree
    - struct WildcardData*::dtor
    - Curl_hsts_loadfiles
    - Curl_pgrsResetTransferSizes
    - Curl_pgrsStartNow
    - Curl_initinfo
    - Curl_wildcard_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_pretransfer(struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/transfer.c:687,1
    - Dst: failf
      Src: /src/curl/lib/transfer.c:694,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:699,1
    - Dst: strdup
      Src: /src/curl/lib/transfer.c:701,1
    - Dst: connclose
      Src: /src/curl/lib/transfer.c:705,1
    - Dst: Curl_creader_set_rewind
      Src: /src/curl/lib/transfer.c:711,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - data
    - url
    argTypes:
    - struct Curl_easy*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 714
    functionName: Curl_retry_request
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - failf
    - strdup
    - connclose
    - infof
    - Curl_creader_set_rewind
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_retry_request(struct Curl_easy *data, char **url)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:726,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:728,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:729,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:731,1
    - Dst: Curl_req_want_send
      Src: /src/curl/lib/transfer.c:731,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:737,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/transfer.c:748,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/transfer.c:760,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - data
    - send_idx
    - recv_idx
    - recv_size
    argTypes:
    - struct Curl_easy*
    - int
    - int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 762
    functionName: xfer_setup
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsSetDownloadSize
    - DEBUGASSERT
    - CURL_TRC_M
    - Curl_req_want_send
    linkageType: ''
    returnType: void
    signature: "void xfer_setup(\n  struct Curl_easy *data,   /* transfer */\n  int
      send_idx,             /* sockindex to send on or -1 */\n  int recv_idx,             /*
      sockindex to receive on or -1 */\n  curl_off_t recv_size      /* how much to
      receive, -1 if unknown */\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfer_setup
      Src: /src/curl/lib/transfer.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: Curl_xfer_setup_nop
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - xfer_setup
    linkageType: ''
    returnType: void
    signature: void Curl_xfer_setup_nop(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfer_setup
      Src: /src/curl/lib/transfer.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - sockindex
    - recv_size
    argTypes:
    - struct Curl_easy*
    - int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: Curl_xfer_setup_sendrecv
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 1
    functionsReached:
    - xfer_setup
    linkageType: ''
    returnType: void
    signature: "void Curl_xfer_setup_sendrecv(struct Curl_easy *data,\n                              int
      sockindex,\n                              curl_off_t recv_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfer_setup
      Src: /src/curl/lib/transfer.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 780
    functionName: Curl_xfer_setup_send
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - xfer_setup
    linkageType: ''
    returnType: void
    signature: "void Curl_xfer_setup_send(struct Curl_easy *data,\n                          int
      sockindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfer_setup
      Src: /src/curl/lib/transfer.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - sockindex
    - recv_size
    argTypes:
    - struct Curl_easy*
    - int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 787
    functionName: Curl_xfer_setup_recv
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - xfer_setup
    linkageType: ''
    returnType: void
    signature: "void Curl_xfer_setup_recv(struct Curl_easy *data,\n                          int
      sockindex,\n                          curl_off_t recv_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - data
    - shutdown
    - ignore_errors
    argTypes:
    - struct Curl_easy*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 798
    functionName: Curl_xfer_set_shutdown
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_xfer_set_shutdown(struct Curl_easy *data,\n                            bool
      shutdown,\n                            bool ignore_errors)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_easy*::conn::handler::write_resp
      Src: /src/curl/lib/transfer.c:809,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/transfer.c:818,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/transfer.c:827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 830
    functionName: Curl_xfer_write_resp
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 1
    functionsReached:
    - struct Curl_easy*::conn::handler::write_resp
    - CURL_TRC_WRITE
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_xfer_write_resp(struct Curl_easy *data,\n                              const
      char *buf, size_t blen,\n                              bool is_eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_is_paused
      Src: /src/curl/lib/transfer.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 835
    functionName: Curl_xfer_write_is_paused
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_is_paused
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_write_is_paused(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_easy*::conn::handler::write_resp_hd
      Src: /src/curl/lib/transfer.c:843,1
    - Dst: Curl_xfer_write_resp
      Src: /src/curl/lib/transfer.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - data
    - hd0
    - hdlen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 837
    functionDepth: 2
    functionLinenumber: 837
    functionLinenumberEnd: 847
    functionName: Curl_xfer_write_resp_hd
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_write_resp
    - struct Curl_easy*::conn::handler::write_resp_hd
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_xfer_write_resp_hd(struct Curl_easy *data,\n                                 const
      char *hd0, size_t hdlen, bool is_eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cw_out_done
      Src: /src/curl/lib/transfer.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - premature
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 7
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: Curl_xfer_write_done
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_cw_out_done
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_write_done(struct Curl_easy *data, bool premature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_needs_flush
      Src: /src/curl/lib/transfer.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: Curl_xfer_needs_flush
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_needs_flush
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_needs_flush(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_flush
      Src: /src/curl/lib/transfer.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: Curl_xfer_flush
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_flush
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_flush(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:871,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:872,1
    - Dst: Curl_conn_send
      Src: /src/curl/lib/transfer.c:874,1
    - Dst: DEBUGF
      Src: /src/curl/lib/transfer.c:883,1
    - Dst: infof
      Src: /src/curl/lib/transfer.c:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - data
    - buf
    - blen
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 886
    functionName: Curl_xfer_send
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - DEBUGASSERT
    - Curl_conn_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_xfer_send(struct Curl_easy *data,\n                        const
      void *buf, size_t blen, bool eos,\n                        size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:892,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:893,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/transfer.c:894,1
    - Dst: Curl_conn_recv
      Src: /src/curl/lib/transfer.c:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - pnrcvd
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 899
    functionName: Curl_xfer_recv
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - Curl_conn_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_xfer_recv(struct Curl_easy *data,\n                        char
      *buf, size_t blen,\n                        size_t *pnrcvd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_ev_data_done_send
      Src: /src/curl/lib/transfer.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: Curl_xfer_send_close
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_conn_ev_data_done_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_send_close(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/curl/lib/transfer.c:912,1
    - Dst: Curl_xfer_send_is_paused
      Src: /src/curl/lib/transfer.c:914,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/curl/lib/transfer.c:916,1
    - Dst: Curl_xfer_send_is_paused
      Src: /src/curl/lib/transfer.c:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 917
    functionName: Curl_xfer_is_blocked
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 2
    functionsReached:
    - Curl_xfer_recv_is_paused
    - Curl_xfer_send_is_paused
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_is_blocked(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: Curl_xfer_send_is_paused
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_send_is_paused(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 927
    functionName: Curl_xfer_recv_is_paused
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_recv_is_paused(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_is_paused
      Src: /src/curl/lib/transfer.c:937,1
    - Dst: Curl_creader_unpause
      Src: /src/curl/lib/transfer.c:938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - enable
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 941
    functionName: Curl_xfer_pause_send
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_creader_is_paused
    - Curl_creader_unpause
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_pause_send(struct Curl_easy *data, bool enable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_is_paused
      Src: /src/curl/lib/transfer.c:951,1
    - Dst: Curl_cwriter_unpause
      Src: /src/curl/lib/transfer.c:952,1
    - Dst: Curl_conn_ev_data_pause
      Src: /src/curl/lib/transfer.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - enable
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 956
    functionName: Curl_xfer_pause_recv
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 1
    functionsReached:
    - Curl_cwriter_is_paused
    - Curl_cwriter_unpause
    - Curl_conn_ev_data_pause
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_xfer_pause_recv(struct Curl_easy *data, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/transfer.c:960,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/transfer.c:962,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/transfer.c:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 968
    functionName: Curl_xfer_is_too_fast
    functionSourceFile: /src/curl/lib/transfer.c
    functionUses: 0
    functionsReached:
    - Curl_node_elem
    - Curl_llist_head
    - Curl_node_next
    linkageType: ''
    returnType: bool
    signature: bool Curl_xfer_is_too_fast(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:46,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:47,1
    - Dst: calloc
      Src: /src/curl/lib/dynhds.c:48,1
    - Dst: memcpy
      Src: /src/curl/lib/dynhds.c:52,1
    - Dst: memcpy
      Src: /src/curl/lib/dynhds.c:55,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/dynhds.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - name
    - namelen
    - value
    - valuelen
    - opts
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: entry_new
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - Curl_strntolower
    - DEBUGASSERT
    linkageType: ''
    returnType: struct dynhds_entry
    signature: "struct dynhds_entry *\nentry_new(const char *name, size_t namelen,\n
      \         const char *value, size_t valuelen, int opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:70,1
    - Dst: calloc
      Src: /src/curl/lib/dynhds.c:71,1
    - Dst: memcpy
      Src: /src/curl/lib/dynhds.c:75,1
    - Dst: memcpy
      Src: /src/curl/lib/dynhds.c:78,1
    - Dst: memcpy
      Src: /src/curl/lib/dynhds.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - e
    - value
    - valuelen
    argTypes:
    - struct dynhds_entry*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: entry_append
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: struct dynhds_entry
    signature: "struct dynhds_entry *\nentry_append(struct dynhds_entry *e,\n             const
      char *value, size_t valuelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/dynhds.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dynhds_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: entry_free
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void entry_free(struct dynhds_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:94,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - dynhds
    - max_entries
    - max_strs_size
    argTypes:
    - struct dynhds*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: Curl_dynhds_init
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 4
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_dynhds_init(struct dynhds *dynhds, size_t max_entries,\n
      \                     size_t max_strs_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:105,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:108,1
    - Dst: entry_free
      Src: /src/curl/lib/dynhds.c:110,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/dynhds.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dynhds
    argTypes:
    - struct dynhds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: Curl_dynhds_free
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 3
    functionsReached:
    - entry_free
    - Curl_safefree
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_dynhds_free(struct dynhds *dynhds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:119,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:122,1
    - Dst: entry_free
      Src: /src/curl/lib/dynhds.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dynhds
    argTypes:
    - struct dynhds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: Curl_dynhds_reset
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 2
    functionsReached:
    - entry_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_dynhds_reset(struct dynhds *dynhds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dynhds
    argTypes:
    - struct dynhds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: Curl_dynhds_count
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_dynhds_count(struct dynhds *dynhds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - opts
    argTypes:
    - struct dynhds*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: Curl_dynhds_set_opts
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_dynhds_set_opts(struct dynhds *dynhds, int opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dynhds
    - n
    argTypes:
    - struct dynhds*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: Curl_dynhds_getn
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: struct dynhds_entry
    signature: struct dynhds_entry *Curl_dynhds_getn(struct dynhds *dynhds, size_t
      n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/dynhds.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - dynhds
    - name
    - namelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: Curl_dynhds_get
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 2
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: struct dynhds_entry
    signature: "struct dynhds_entry *Curl_dynhds_get(struct dynhds *dynhds, const
      char *name,\n                                     size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_get
      Src: /src/curl/lib/dynhds.c:162,1
    - Dst: strlen
      Src: /src/curl/lib/dynhds.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - name
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: Curl_dynhds_cget
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_get
    - strlen
    linkageType: ''
    returnType: struct dynhds_entry
    signature: struct dynhds_entry *Curl_dynhds_cget(struct dynhds *dynhds, const
      char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:172,1
    - Dst: entry_new
      Src: /src/curl/lib/dynhds.c:178,1
    - Dst: calloc
      Src: /src/curl/lib/dynhds.c:189,1
    - Dst: memcpy
      Src: /src/curl/lib/dynhds.c:193,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/dynhds.c:195,1
    - Dst: entry_free
      Src: /src/curl/lib/dynhds.c:207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 5
    argNames:
    - dynhds
    - name
    - namelen
    - value
    - valuelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 209
    functionName: Curl_dynhds_add
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 2
    functionsReached:
    - Curl_safefree
    - calloc
    - entry_free
    - memcpy
    - DEBUGASSERT
    - entry_new
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dynhds_add(struct dynhds *dynhds,\n                         const
      char *name, size_t namelen,\n                         const char *value, size_t
      valuelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/dynhds.c:214,1
    - Dst: strlen
      Src: /src/curl/lib/dynhds.c:214,1
    - Dst: strlen
      Src: /src/curl/lib/dynhds.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dynhds
    - name
    - value
    argTypes:
    - struct dynhds*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: Curl_dynhds_cadd
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - strlen
    - Curl_dynhds_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dynhds_cadd(struct dynhds *dynhds,\n                          const
      char *name, const char *value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/curl/lib/dynhds.c:235,1
    - Dst: entry_append
      Src: /src/curl/lib/dynhds.c:242,1
    - Dst: entry_free
      Src: /src/curl/lib/dynhds.c:246,1
    - Dst: memchr
      Src: /src/curl/lib/dynhds.c:250,1
    - Dst: ISBLANK
      Src: /src/curl/lib/dynhds.c:257,1
    - Dst: memchr
      Src: /src/curl/lib/dynhds.c:263,1
    - Dst: memchr
      Src: /src/curl/lib/dynhds.c:265,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/dynhds.c:269,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - dynhds
    - line
    - line_len
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 271
    functionName: Curl_dynhds_h1_add_line
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 0
    functionsReached:
    - entry_free
    - memchr
    - Curl_dynhds_add
    - entry_append
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dynhds_h1_add_line(struct dynhds *dynhds,\n                                 const
      char *line, size_t line_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_h1_add_line
      Src: /src/curl/lib/dynhds.c:275,1
    - Dst: strlen
      Src: /src/curl/lib/dynhds.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - line
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: Curl_dynhds_h1_cadd_line
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - strlen
    - Curl_dynhds_h1_add_line
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_dynhds_h1_cadd_line(struct dynhds *dynhds, const char
      *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_get
      Src: /src/curl/lib/dynhds.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dynhds
    - name
    - namelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: Curl_dynhds_contains
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_get
    linkageType: ''
    returnType: bool
    signature: "bool Curl_dynhds_contains(struct dynhds *dynhds,\n                          const
      char *name, size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_contains
      Src: /src/curl/lib/dynhds.c:289,1
    - Dst: strlen
      Src: /src/curl/lib/dynhds.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - name
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: Curl_dynhds_ccontains
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_contains
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool Curl_dynhds_ccontains(struct dynhds *dynhds, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/dynhds.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - dynhds
    - name
    - namelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: Curl_dynhds_count_name
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_dynhds_count_name(struct dynhds *dynhds,\n                              const
      char *name, size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_count_name
      Src: /src/curl/lib/dynhds.c:309,1
    - Dst: strlen
      Src: /src/curl/lib/dynhds.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - name
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: Curl_dynhds_ccount_name
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_count_name
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_dynhds_ccount_name(struct dynhds *dynhds, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_remove
      Src: /src/curl/lib/dynhds.c:316,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/dynhds.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - dynhds
    - name
    - namelen
    - value
    - valuelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: Curl_dynhds_set
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_remove
    - Curl_dynhds_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_dynhds_set(struct dynhds *dynhds,\n                         const
      char *name, size_t namelen,\n                         const char *value, size_t
      valuelen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/dynhds.c:328,1
    - Dst: entry_free
      Src: /src/curl/lib/dynhds.c:333,1
    - Dst: memmove
      Src: /src/curl/lib/dynhds.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - dynhds
    - name
    - namelen
    argTypes:
    - struct dynhds*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 344
    functionName: Curl_dynhds_remove
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 2
    functionsReached:
    - memmove
    - entry_free
    - curl_strnequal
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_dynhds_remove(struct dynhds *dynhds,\n                          const
      char *name, size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_remove
      Src: /src/curl/lib/dynhds.c:348,1
    - Dst: strlen
      Src: /src/curl/lib/dynhds.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dynhds
    - name
    argTypes:
    - struct dynhds*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: Curl_dynhds_cremove
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - Curl_dynhds_remove
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_dynhds_cremove(struct dynhds *dynhds, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/dynhds.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - dynhds
    - dbuf
    argTypes:
    - struct dynhds*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 371
    functionName: Curl_dynhds_h1_dprint
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_dynhds_h1_dprint(struct dynhds *dynhds, struct dynbuf
      *dbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/dynhds.c:377,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/dynhds.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dynhds
    - pcount
    argTypes:
    - struct dynhds*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: Curl_dynhds_to_nva
    functionSourceFile: /src/curl/lib/dynhds.c
    functionUses: 0
    functionsReached:
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: nghttp2_nv
    signature: nghttp2_nv *Curl_dynhds_to_nva(struct dynhds *dynhds, size_t *pcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: OUTCHAR
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OUTCHAR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/curl/lib/mprintf.c:171,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/mprintf.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: dollarstring
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    - curlx_str_single
    linkageType: ''
    returnType: int
    signature: int dollarstring(const char *p, const char **end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: is_arg_used
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_arg_used(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: mark_arg_used
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mark_arg_used(x,y)
  - BBCount: 103
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/mprintf.c:220,1
    - Dst: dollarstring
      Src: /src/curl/lib/mprintf.c:251,1
    - Dst: dollarstring
      Src: /src/curl/lib/mprintf.c:288,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/mprintf.c:304,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/mprintf.c:370,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/mprintf.c:376,1
    - Dst: dollarstring
      Src: /src/curl/lib/mprintf.c:384,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/mprintf.c:403,1
    - Dst: is_arg_used
      Src: /src/curl/lib/mprintf.c:491,1
    - Dst: mark_arg_used
      Src: /src/curl/lib/mprintf.c:501,1
    - Dst: is_arg_used
      Src: /src/curl/lib/mprintf.c:509,1
    - Dst: mark_arg_used
      Src: /src/curl/lib/mprintf.c:518,1
    - Dst: mark_arg_used
      Src: /src/curl/lib/mprintf.c:533,1
    - Dst: is_arg_used
      Src: /src/curl/lib/mprintf.c:566,1
    - Dst: va_arg
      Src: /src/curl/lib/mprintf.c:573,1
    - Dst: va_arg
      Src: /src/curl/lib/mprintf.c:578,1
    - Dst: va_arg
      Src: /src/curl/lib/mprintf.c:582,1
    - Dst: va_arg
      Src: /src/curl/lib/mprintf.c:586,1
    - Dst: va_arg
      Src: /src/curl/lib/mprintf.c:590,1
    - Dst: va_arg
      Src: /src/curl/lib/mprintf.c:594,1
    - Dst: va_arg
      Src: /src/curl/lib/mprintf.c:598,1
    - Dst: va_arg
      Src: /src/curl/lib/mprintf.c:604,1
    - Dst: va_arg
      Src: /src/curl/lib/mprintf.c:608,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mprintf.c:612,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 319
    argCount: 6
    argNames:
    - format
    - out
    - in
    - opieces
    - ipieces
    - arglist
    argTypes:
    - char*
    - struct outsegment*
    - struct va_input*
    - int*
    - int*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 620
    functionName: parsefmt
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - curlx_str_number
    - mark_arg_used
    - dollarstring
    - is_arg_used
    - memset
    - DEBUGASSERT
    - va_arg
    linkageType: ''
    returnType: int
    signature: "int parsefmt(const char *format,\n                    struct outsegment
      *out,\n                    struct va_input *in,\n                    int *opieces,\n
      \                   int *ipieces, va_list arglist)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/mprintf.c:636,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/mprintf.c:657,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/mprintf.c:681,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mprintf.c:717,1
    - Dst: strlen
      Src: /src/curl/lib/mprintf.c:717,1
    - Dst: stream
      Src: /src/curl/lib/mprintf.c:719,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 5
    argNames:
    - userp
    - p
    - dnum
    - work
    - donep
    argTypes:
    - void*
    - struct mproperty*
    - double
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 724
    functionName: out_double
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - stream
    - strlen
    - DEBUGASSERT
    - curl_msnprintf
    linkageType: ''
    returnType: bool
    signature: "bool out_double(void *userp,\n                       int (*stream)(unsigned
      char, void *),\n                       struct mproperty *p,\n                       double
      dnum,\n                       char *work, int *donep)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:751,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:752,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:755,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mprintf.c:790,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:827,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:830,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:832,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:834,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:837,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:839,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:841,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:846,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:850,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:855,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 85
    argCount: 6
    argNames:
    - userp
    - p
    - num
    - nums
    - work
    - donep
    argTypes:
    - void*
    - struct mproperty*
    - mp_uintmax_t
    - mp_intmax_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 858
    functionName: out_number
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - OUTCHAR
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool out_number(void *userp,\n                       int (*stream)(unsigned
      char, void *),\n                       struct mproperty *p,\n                       mp_uintmax_t
      num,\n                       mp_intmax_t nums,\n                       char
      *work, int *donep)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/mprintf.c:891,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:896,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:900,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:903,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:906,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:909,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - userp
    - p
    - str
    - donep
    argTypes:
    - void*
    - struct mproperty*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 912
    functionName: out_string
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - OUTCHAR
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool out_string(void *userp,\n                       int (*stream)(unsigned
      char, void *),\n                       struct mproperty *p,\n                       const
      char *str,\n                       int *donep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: out_number
      Src: /src/curl/lib/mprintf.c:927,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:939,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:941,1
    - Dst: OUTCHAR
      Src: /src/curl/lib/mprintf.c:944,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - userp
    - p
    - ptr
    - work
    - donep
    argTypes:
    - void*
    - struct mproperty*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 947
    functionName: out_pointer
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - out_number
    - OUTCHAR
    linkageType: ''
    returnType: bool
    signature: "bool out_pointer(void *userp,\n                        int (*stream)(unsigned
      char, void *),\n                        struct mproperty *p,\n                        const
      char *ptr,\n                        char *work,\n                        int
      *donep)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: parsefmt
      Src: /src/curl/lib/mprintf.c:983,1
    - Dst: stream
      Src: /src/curl/lib/mprintf.c:995,1
    - Dst: out_number
      Src: /src/curl/lib/mprintf.c:1041,1
    - Dst: out_number
      Src: /src/curl/lib/mprintf.c:1048,1
    - Dst: out_string
      Src: /src/curl/lib/mprintf.c:1054,1
    - Dst: out_pointer
      Src: /src/curl/lib/mprintf.c:1059,1
    - Dst: out_double
      Src: /src/curl/lib/mprintf.c:1064,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 3
    argNames:
    - userp
    - format
    - ap_save
    argTypes:
    - void*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 1088
    functionName: formatf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - stream
    - out_string
    - out_pointer
    - out_number
    - parsefmt
    - out_double
    linkageType: ''
    returnType: int
    signature: "int formatf(\n  void *userp, /* untouched by format(), just sent to
      the stream() function in\n                  the second argument */\n  /* function
      pointer called for each output character */\n  int (*stream)(unsigned char,
      void *),\n  const char *format,    /* %-formatted string */\n  va_list ap_save)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - outc
    - f
    argTypes:
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1101
    functionName: addbyter
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int addbyter(unsigned char outc, void *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/curl/lib/mprintf.c:1113,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mprintf.c:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - buffer
    - maxlength
    - format
    - ap_save
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1103
    functionDepth: 4
    functionLinenumber: 1103
    functionLinenumberEnd: 1126
    functionName: curl_mvsnprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - formatf
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int curl_mvsnprintf(char *buffer, size_t maxlength, const char *format,\n
      \                   va_list ap_save)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/mprintf.c:1132,1
    - Dst: curl_mvsnprintf
      Src: /src/curl/lib/mprintf.c:1133,1
    - Dst: va_end
      Src: /src/curl/lib/mprintf.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - maxlength
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1128
    functionDepth: 5
    functionLinenumber: 1128
    functionLinenumberEnd: 1136
    functionName: curl_msnprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 73
    functionsReached:
    - va_start
    - curl_mvsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int curl_msnprintf(char *buffer, size_t maxlength, const char *format,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/mprintf.c:1142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - outc
    - f
    argTypes:
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1148
    functionName: alloc_addbyter
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: int
    signature: int alloc_addbyter(unsigned char outc, void *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/curl/lib/mprintf.c:1157,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/mprintf.c:1159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - dyn
    - format
    - ap_save
    argTypes:
    - struct dynbuf*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1151
    functionDepth: 4
    functionLinenumber: 1151
    functionLinenumberEnd: 1163
    functionName: curlx_dyn_vprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - formatf
    linkageType: ''
    returnType: int
    signature: int curlx_dyn_vprintf(struct dynbuf *dyn, const char *format, va_list
      ap_save)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/mprintf.c:1170,1
    - Dst: formatf
      Src: /src/curl/lib/mprintf.c:1173,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/mprintf.c:1175,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mprintf.c:1178,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/mprintf.c:1179,1
    - Dst: strdup
      Src: /src/curl/lib/mprintf.c:1180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - format
    - ap_save
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1165
    functionDepth: 4
    functionLinenumber: 1165
    functionLinenumberEnd: 1181
    functionName: curl_mvaprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 2
    functionsReached:
    - strdup
    - curlx_dyn_free
    - curlx_dyn_init
    - formatf
    - curlx_dyn_len
    - curlx_dyn_ptr
    linkageType: ''
    returnType: char
    signature: char *curl_mvaprintf(const char *format, va_list ap_save)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/mprintf.c:1187,1
    - Dst: curl_mvaprintf
      Src: /src/curl/lib/mprintf.c:1188,1
    - Dst: va_end
      Src: /src/curl/lib/mprintf.c:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1183
    functionDepth: 5
    functionLinenumber: 1183
    functionLinenumberEnd: 1191
    functionName: curl_maprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 20
    functionsReached:
    - va_start
    - curl_mvaprintf
    - va_end
    linkageType: ''
    returnType: char
    signature: char *curl_maprintf(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - outc
    - f
    argTypes:
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1199
    functionName: storebuffer
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int storebuffer(unsigned char outc, void *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/mprintf.c:1205,1
    - Dst: formatf
      Src: /src/curl/lib/mprintf.c:1206,1
    - Dst: va_end
      Src: /src/curl/lib/mprintf.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - format
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1201
    functionDepth: 4
    functionLinenumber: 1201
    functionLinenumberEnd: 1210
    functionName: curl_msprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 10
    functionsReached:
    - va_start
    - formatf
    - va_end
    linkageType: ''
    returnType: int
    signature: int curl_msprintf(char *buffer, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/curl/lib/mprintf.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - outc
    - f
    argTypes:
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1218
    functionName: fputc_wrapper
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - fputc
    linkageType: ''
    returnType: int
    signature: int fputc_wrapper(unsigned char outc, void *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/mprintf.c:1224,1
    - Dst: formatf
      Src: /src/curl/lib/mprintf.c:1225,1
    - Dst: va_end
      Src: /src/curl/lib/mprintf.c:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1220
    functionDepth: 4
    functionLinenumber: 1220
    functionLinenumberEnd: 1228
    functionName: curl_mprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 124
    functionsReached:
    - va_start
    - formatf
    - va_end
    linkageType: ''
    returnType: int
    signature: int curl_mprintf(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/mprintf.c:1234,1
    - Dst: formatf
      Src: /src/curl/lib/mprintf.c:1235,1
    - Dst: va_end
      Src: /src/curl/lib/mprintf.c:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - whereto
    - format
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1230
    functionDepth: 4
    functionLinenumber: 1230
    functionLinenumberEnd: 1238
    functionName: curl_mfprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 343
    functionsReached:
    - va_start
    - formatf
    - va_end
    linkageType: ''
    returnType: int
    signature: int curl_mfprintf(FILE *whereto, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/curl/lib/mprintf.c:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - format
    - ap_save
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1240
    functionDepth: 4
    functionLinenumber: 1240
    functionLinenumberEnd: 1245
    functionName: curl_mvsprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - formatf
    linkageType: ''
    returnType: int
    signature: int curl_mvsprintf(char *buffer, const char *format, va_list ap_save)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/curl/lib/mprintf.c:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - format
    - ap_save
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1247
    functionDepth: 4
    functionLinenumber: 1247
    functionLinenumberEnd: 1250
    functionName: curl_mvprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 0
    functionsReached:
    - formatf
    linkageType: ''
    returnType: int
    signature: int curl_mvprintf(const char *format, va_list ap_save)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatf
      Src: /src/curl/lib/mprintf.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - whereto
    - format
    - ap_save
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1252
    functionDepth: 4
    functionLinenumber: 1252
    functionLinenumberEnd: 1255
    functionName: curl_mvfprintf
    functionSourceFile: /src/curl/lib/mprintf.c
    functionUses: 1
    functionsReached:
    - formatf
    linkageType: ''
    returnType: int
    signature: int curl_mvfprintf(FILE *whereto, const char *format, va_list ap_save)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptimeout_ms
    - secs
    argTypes:
    - timediff_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: setopt_set_timeout_sec
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setopt_set_timeout_sec(timediff_t *ptimeout_ms, long secs)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ptimeout_ms
    - ms
    argTypes:
    - timediff_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: setopt_set_timeout_ms
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setopt_set_timeout_ms(timediff_t *ptimeout_ms, long ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:95,1
    - Dst: strlen
      Src: /src/curl/lib/setopt.c:98,1
    - Dst: strdup
      Src: /src/curl/lib/setopt.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - charp
    - s
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: Curl_setstropt
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 1
    functionsReached:
    - Curl_safefree
    - strlen
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_setstropt(char **charp, const char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:115,1
    - Dst: malloc
      Src: /src/curl/lib/setopt.c:122,1
    - Dst: memcpy
      Src: /src/curl/lib/setopt.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - blobp
    - blob
    argTypes:
    - struct curl_blob**
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: Curl_setblobopt
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - memcpy
    - Curl_safefree
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_setblobopt(struct curl_blob **blobp,\n                         const
      struct curl_blob *blob)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/setopt.c:145,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/setopt.c:146,1
    - Dst: strlen
      Src: /src/curl/lib/setopt.c:151,1
    - Dst: Curl_parse_login_details
      Src: /src/curl/lib/setopt.c:156,1
    - Dst: free
      Src: /src/curl/lib/setopt.c:161,1
    - Dst: free
      Src: /src/curl/lib/setopt.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - option
    - userp
    - passwdp
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 168
    functionName: setstropt_userpwd
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - free
    - strlen
    - DEBUGASSERT
    - Curl_parse_login_details
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setstropt_userpwd(char *option, char **userp, char **passwdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/setopt.c:178,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/setopt.c:179,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/setopt.c:180,1
    - Dst: Curl_parse_interface
      Src: /src/curl/lib/setopt.c:184,1
    - Dst: free
      Src: /src/curl/lib/setopt.c:188,1
    - Dst: free
      Src: /src/curl/lib/setopt.c:191,1
    - Dst: free
      Src: /src/curl/lib/setopt.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - option
    - devp
    - ifacep
    - hostp
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 198
    functionName: setstropt_interface
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - Curl_parse_interface
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setstropt_interface(char *option, char **devp,\n                                    char
      **ifacep, char **hostp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: C_SSLVERSION_VALUE
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_SSLVERSION_VALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: C_SSLVERSION_MAX_VALUE
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_SSLVERSION_MAX_VALUE(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/setopt.c:214,1
    - Dst: strchr
      Src: /src/curl/lib/setopt.c:223,1
    - Dst: strlen
      Src: /src/curl/lib/setopt.c:224,1
    - Dst: Curl_getn_scheme_handler
      Src: /src/curl/lib/setopt.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - curl_prot_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 239
    functionName: protocol2num
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - strchr
    - Curl_getn_scheme_handler
    - strlen
    - curl_strequal
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode protocol2num(const char *str, curl_prot_t *val)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - data
    - proxy
    - auth
    argTypes:
    - struct Curl_easy*
    - bool
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 285
    functionName: httpauth
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode httpauth(struct Curl_easy *data, bool proxy,\n                         unsigned
      long auth)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - data
    - arg
    argTypes:
    - struct Curl_easy*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 324
    functionName: setopt_HTTP_VERSION
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setopt_HTTP_VERSION(struct Curl_easy *data, long arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: C_SSLVERSION_VALUE
      Src: /src/curl/lib/setopt.c:344,1
    - Dst: C_SSLVERSION_MAX_VALUE
      Src: /src/curl/lib/setopt.c:345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - data
    - option
    - arg
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 361
    functionName: Curl_setopt_SSLVERSION
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - C_SSLVERSION_MAX_VALUE
    - C_SSLVERSION_VALUE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_setopt_SSLVERSION(struct Curl_easy *data, CURLoption
      option,\n                                long arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - data
    - arg
    argTypes:
    - struct Curl_easy*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 422
    functionName: setopt_RTSP_REQUEST
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setopt_RTSP_REQUEST(struct Curl_easy *data, long arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - config
    - arg
    argTypes:
    - struct ssl_config_data*
    - struct ssl_primary_config*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: set_ssl_options
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_ssl_options(struct ssl_config_data *ssl,\n                            struct
      ssl_primary_config *config,\n                            long arg)"
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_conn_config_update
      Src: /src/curl/lib/setopt.c:615,1
    - Dst: Curl_ssl_conn_config_update
      Src: /src/curl/lib/setopt.c:624,1
    - Dst: Curl_ssl_conn_config_update
      Src: /src/curl/lib/setopt.c:712,1
    - Dst: Curl_ssl_cert_status_request
      Src: /src/curl/lib/setopt.c:732,1
    - Dst: Curl_ssl_conn_config_update
      Src: /src/curl/lib/setopt.c:751,1
    - Dst: Curl_ssl_cert_status_request
      Src: /src/curl/lib/setopt.c:757,1
    - Dst: Curl_ssl_conn_config_update
      Src: /src/curl/lib/setopt.c:763,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:767,1
    - Dst: infof
      Src: /src/curl/lib/setopt.c:852,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 216
    argCount: 4
    argNames:
    - data
    - option
    - arg
    - set
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - long
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 857
    functionName: setopt_bool
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_supports
    - infof
    - Curl_ssl_cert_status_request
    - Curl_ssl_conn_config_update
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_bool(struct Curl_easy *data, CURLoption option,\n
      \                           long arg, bool *set)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - value
    - below_error
    - min
    - max
    argTypes:
    - long*
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 868
    functionName: value_range
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode value_range(long *value, long below_error, long min, long
      max)
  - BBCount: 124
    BranchProfiles: []
    Callsites:
    - Dst: setopt_bool
      Src: /src/curl/lib/setopt.c:875,1
    - Dst: setopt_set_timeout_sec
      Src: /src/curl/lib/setopt.c:883,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:888,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:889,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:899,1
    - Dst: setopt_set_timeout_sec
      Src: /src/curl/lib/setopt.c:905,1
    - Dst: setopt_set_timeout_ms
      Src: /src/curl/lib/setopt.c:908,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:912,1
    - Dst: Curl_setopt_SSLVERSION
      Src: /src/curl/lib/setopt.c:937,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:946,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:960,1
    - Dst: httpauth
      Src: /src/curl/lib/setopt.c:978,1
    - Dst: setopt_HTTP_VERSION
      Src: /src/curl/lib/setopt.c:981,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:984,1
    - Dst: httpauth
      Src: /src/curl/lib/setopt.c:1005,1
    - Dst: setopt_set_timeout_ms
      Src: /src/curl/lib/setopt.c:1038,1
    - Dst: setopt_set_timeout_sec
      Src: /src/curl/lib/setopt.c:1068,1
    - Dst: setopt_set_timeout_ms
      Src: /src/curl/lib/setopt.c:1071,1
    - Dst: setopt_set_timeout_sec
      Src: /src/curl/lib/setopt.c:1074,1
    - Dst: setopt_set_timeout_ms
      Src: /src/curl/lib/setopt.c:1077,1
    - Dst: curlx_sltous
      Src: /src/curl/lib/setopt.c:1089,1
    - Dst: curlx_sltous
      Src: /src/curl/lib/setopt.c:1094,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:1108,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:1115,1
    - Dst: set_ssl_options
      Src: /src/curl/lib/setopt.c:1134,1
    - Dst: set_ssl_options
      Src: /src/curl/lib/setopt.c:1139,1
    - Dst: setopt_RTSP_REQUEST
      Src: /src/curl/lib/setopt.c:1197,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:1209,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:1215,1
    - Dst: value_range
      Src: /src/curl/lib/setopt.c:1221,1
    - Dst: setopt_set_timeout_ms
      Src: /src/curl/lib/setopt.c:1237,1
    - Dst: setopt_set_timeout_sec
      Src: /src/curl/lib/setopt.c:1245,1
    - Dst: setopt_set_timeout_sec
      Src: /src/curl/lib/setopt.c:1248,1
    - Dst: Curl_hsts_init
      Src: /src/curl/lib/setopt.c:1254,1
    - Dst: Curl_hsts_cleanup
      Src: /src/curl/lib/setopt.c:1260,1
    - Dst: DEBUGF
      Src: /src/curl/lib/setopt.c:1266,1
    - Dst: infof
      Src: /src/curl/lib/setopt.c:1266,1
    - Dst: Curl_altsvc_init
      Src: /src/curl/lib/setopt.c:1270,1
    - Dst: Curl_altsvc_ctrl
      Src: /src/curl/lib/setopt.c:1274,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:1286,1
    - Dst: Curl_ssl_set_engine_default
      Src: /src/curl/lib/setopt.c:1287,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 322
    argCount: 3
    argNames:
    - data
    - option
    - arg
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 1295
    functionName: setopt_long
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 11
    functionsReached:
    - curlx_sltous
    - Curl_altsvc_ctrl
    - Curl_setopt_SSLVERSION
    - Curl_ssl_supports
    - DEBUGF
    - setopt_set_timeout_sec
    - setopt_bool
    - setopt_HTTP_VERSION
    - value_range
    - httpauth
    - Curl_ssl_set_engine_default
    - setopt_set_timeout_ms
    - setopt_RTSP_REQUEST
    - Curl_hsts_init
    - Curl_hsts_cleanup
    - Curl_safefree
    - set_ssl_options
    - Curl_altsvc_init
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_long(struct Curl_easy *data, CURLoption option,\n
      \                           long arg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - data
    - option
    - slist
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1392
    functionName: setopt_slist
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_slist(struct Curl_easy *data, CURLoption option,\n
      \                            struct curl_slist *slist)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:1407,1
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/setopt.c:1410,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:1411,1
    - Dst: Curl_mime_set_subparts
      Src: /src/curl/lib/setopt.c:1423,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:1424,1
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/setopt.c:1430,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:1431,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:1443,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:1449,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/setopt.c:1453,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/setopt.c:1469,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/setopt.c:1470,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/setopt.c:1475,1
    - Dst: GOOD_SHARE_HANDLE
      Src: /src/curl/lib/setopt.c:1479,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/setopt.c:1484,1
    - Dst: Curl_cookie_cleanup
      Src: /src/curl/lib/setopt.c:1491,1
    - Dst: Curl_hsts_cleanup
      Src: /src/curl/lib/setopt.c:1499,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/setopt.c:1508,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:1518,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/setopt.c:1519,1
    - Dst: Curl_data_priority_add_child
      Src: /src/curl/lib/setopt.c:1520,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 3
    argNames:
    - data
    - option
    - param
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1530
    functionName: setopt_pointers
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - GOOD_EASY_HANDLE
    - Curl_resolv_unlink
    - Curl_mime_set_subparts
    - GOOD_SHARE_HANDLE
    - Curl_share_lock
    - Curl_cookie_cleanup
    - Curl_data_priority_add_child
    - Curl_share_unlock
    - Curl_mime_cleanpart
    - Curl_hsts_cleanup
    - va_arg
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_pointers(struct Curl_easy *data, CURLoption option,\n
      \                               va_list param)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/setopt.c:1539,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/setopt.c:1541,1
    - Dst: Curl_cookie_clearall
      Src: /src/curl/lib/setopt.c:1542,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/setopt.c:1543,1
    - Dst: curl_strequal
      Src: /src/curl/lib/setopt.c:1545,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/setopt.c:1547,1
    - Dst: Curl_cookie_clearsess
      Src: /src/curl/lib/setopt.c:1548,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/setopt.c:1549,1
    - Dst: curl_strequal
      Src: /src/curl/lib/setopt.c:1551,1
    - Dst: Curl_flush_cookies
      Src: /src/curl/lib/setopt.c:1553,1
    - Dst: curl_strequal
      Src: /src/curl/lib/setopt.c:1555,1
    - Dst: Curl_cookie_loadfiles
      Src: /src/curl/lib/setopt.c:1557,1
    - Dst: Curl_cookie_init
      Src: /src/curl/lib/setopt.c:1562,1
    - Dst: strlen
      Src: /src/curl/lib/setopt.c:1568,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/setopt.c:1571,1
    - Dst: checkprefix
      Src: /src/curl/lib/setopt.c:1572,1
    - Dst: Curl_cookie_add
      Src: /src/curl/lib/setopt.c:1574,1
    - Dst: Curl_cookie_add
      Src: /src/curl/lib/setopt.c:1578,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/setopt.c:1580,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - data
    - ptr
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1583
    functionName: cookielist
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_flush_cookies
    - Curl_cookie_init
    - strlen
    - curl_strequal
    - Curl_cookie_clearsess
    - Curl_share_lock
    - Curl_cookie_loadfiles
    - Curl_share_unlock
    - Curl_cookie_clearall
    - checkprefix
    - Curl_cookie_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cookielist(struct Curl_easy *data,\n                           const
      char *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/setopt.c:1594,1
    - Dst: curl_slist_append
      Src: /src/curl/lib/setopt.c:1598,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/setopt.c:1600,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/setopt.c:1608,1
    - Dst: Curl_cookie_clearall
      Src: /src/curl/lib/setopt.c:1614,1
    - Dst: Curl_cookie_cleanup
      Src: /src/curl/lib/setopt.c:1615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - data
    - ptr
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1621
    functionName: cookiefile
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_slist_free_all
    - curl_slist_append
    - Curl_cookie_cleanup
    - Curl_cookie_clearall
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cookiefile(struct Curl_easy *data,\n                           const
      char *ptr)"
  - BBCount: 172
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:1631,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1633,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:1638,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1640,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:1647,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1649,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:1655,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1657,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1667,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1673,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1684,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/setopt.c:1701,1
    - Dst: free
      Src: /src/curl/lib/setopt.c:1705,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:1721,1
    - Dst: Curl_all_content_encodings
      Src: /src/curl/lib/setopt.c:1739,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1740,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1742,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1750,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:1763,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1766,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1774,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1781,1
    - Dst: cookiefile
      Src: /src/curl/lib/setopt.c:1784,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1790,1
    - Dst: Curl_cookie_init
      Src: /src/curl/lib/setopt.c:1797,1
    - Dst: cookielist
      Src: /src/curl/lib/setopt.c:1805,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1814,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1833,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1842,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1851,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1857,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:1909,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1962,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1967,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1970,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:1980,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1983,1
    - Dst: setstropt_userpwd
      Src: /src/curl/lib/setopt.c:1991,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:1998,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2004,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2010,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2016,1
    - Dst: setstropt_userpwd
      Src: /src/curl/lib/setopt.c:2025,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:2029,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/setopt.c:2030,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:2034,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/setopt.c:2035,1
    - Dst: free
      Src: /src/curl/lib/setopt.c:2038,1
    - Dst: free
      Src: /src/curl/lib/setopt.c:2039,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2046,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2052,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2058,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2065,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:2072,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:2077,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2084,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2091,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2098,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2105,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2112,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2119,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2126,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2133,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2140,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2147,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2155,1
    - Dst: Curl_ssl_set_engine
      Src: /src/curl/lib/setopt.c:2157,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2167,1
    - Dst: setstropt_interface
      Src: /src/curl/lib/setopt.c:2178,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:2189,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2190,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:2201,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2202,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2212,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2221,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:2230,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2233,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:2244,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2247,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2257,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2265,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2273,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2281,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2297,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:2304,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2305,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2314,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2320,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2328,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2334,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2348,1
    - Dst: protocol2num
      Src: /src/curl/lib/setopt.c:2361,1
    - Dst: protocol2num
      Src: /src/curl/lib/setopt.c:2368,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2375,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2380,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2384,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2388,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2396,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2403,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2409,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2425,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2429,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2433,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2437,1
    - Dst: curl_strequal
      Src: /src/curl/lib/setopt.c:2440,1
    - Dst: curl_strequal
      Src: /src/curl/lib/setopt.c:2445,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2452,1
    - Dst: Curl_async_ares_set_dns_servers
      Src: /src/curl/lib/setopt.c:2455,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2458,1
    - Dst: Curl_async_ares_set_dns_interface
      Src: /src/curl/lib/setopt.c:2461,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2464,1
    - Dst: Curl_async_ares_set_dns_local_ip4
      Src: /src/curl/lib/setopt.c:2467,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2470,1
    - Dst: Curl_async_ares_set_dns_local_ip6
      Src: /src/curl/lib/setopt.c:2473,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2479,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2483,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2489,1
    - Dst: Curl_hsts_init
      Src: /src/curl/lib/setopt.c:2503,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2508,1
    - Dst: curl_slist_append
      Src: /src/curl/lib/setopt.c:2514,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/setopt.c:2516,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/setopt.c:2524,1
    - Dst: Curl_hsts_cleanup
      Src: /src/curl/lib/setopt.c:2528,1
    - Dst: Curl_altsvc_init
      Src: /src/curl/lib/setopt.c:2536,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2540,1
    - Dst: Curl_altsvc_load
      Src: /src/curl/lib/setopt.c:2544,1
    - Dst: strlen
      Src: /src/curl/lib/setopt.c:2555,1
    - Dst: strcmp
      Src: /src/curl/lib/setopt.c:2561,1
    - Dst: strcmp
      Src: /src/curl/lib/setopt.c:2564,1
    - Dst: strcmp
      Src: /src/curl/lib/setopt.c:2567,1
    - Dst: strcmp
      Src: /src/curl/lib/setopt.c:2570,1
    - Dst: strncmp
      Src: /src/curl/lib/setopt.c:2573,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2574,1
    - Dst: strncmp
      Src: /src/curl/lib/setopt.c:2579,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/setopt.c:2580,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 452
    argCount: 3
    argNames:
    - data
    - option
    - ptr
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 2591
    functionName: setopt_cptr
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - curl_slist_free_all
    - Curl_async_ares_set_dns_local_ip6
    - Curl_ssl_supports
    - Curl_async_ares_set_dns_local_ip4
    - curl_strequal
    - curl_slist_append
    - Curl_all_content_encodings
    - cookiefile
    - strncmp
    - Curl_urldecode
    - Curl_async_ares_set_dns_interface
    - Curl_async_ares_set_dns_servers
    - Curl_cookie_init
    - strlen
    - Curl_altsvc_load
    - free
    - strcmp
    - Curl_hsts_init
    - cookielist
    - Curl_memdup0
    - Curl_setstropt
    - Curl_hsts_cleanup
    - Curl_safefree
    - setstropt_interface
    - setstropt_userpwd
    - Curl_altsvc_init
    - protocol2num
    - Curl_ssl_set_engine
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_cptr(struct Curl_easy *data, CURLoption option,\n
      \                           char *ptr)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2602,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2613,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2624,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2633,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2639,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2655,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2675,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2681,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:2688,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2689,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2700,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2708,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2716,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2724,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2731,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2738,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2746,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2751,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2754,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2757,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2762,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2767,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2770,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2774,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 3
    argNames:
    - data
    - option
    - param
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2780
    functionName: setopt_func
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - va_arg
    - Curl_ssl_supports
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_func(struct Curl_easy *data, CURLoption option,\n
      \                           va_list param)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/setopt.c:2807,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - data
    - option
    - offt
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2860
      start: 2782
    functionDepth: 1
    functionLinenumber: 2782
    functionLinenumberEnd: 2860
    functionName: setopt_offt
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 2
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_offt(struct Curl_easy *data, CURLoption option,\n
      \                           curl_off_t offt)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_setblobopt
      Src: /src/curl/lib/setopt.c:2871,1
    - Dst: Curl_setblobopt
      Src: /src/curl/lib/setopt.c:2877,1
    - Dst: Curl_setblobopt
      Src: /src/curl/lib/setopt.c:2882,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:2889,1
    - Dst: Curl_setblobopt
      Src: /src/curl/lib/setopt.c:2890,1
    - Dst: Curl_setblobopt
      Src: /src/curl/lib/setopt.c:2897,1
    - Dst: Curl_setblobopt
      Src: /src/curl/lib/setopt.c:2904,1
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/setopt.c:2911,1
    - Dst: Curl_setblobopt
      Src: /src/curl/lib/setopt.c:2913,1
    - Dst: Curl_setblobopt
      Src: /src/curl/lib/setopt.c:2921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - data
    - option
    - blob
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2862
    functionDepth: 2
    functionLinenumber: 2862
    functionLinenumberEnd: 2927
    functionName: setopt_blob
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 0
    functionsReached:
    - Curl_setblobopt
    - Curl_ssl_supports
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setopt_blob(struct Curl_easy *data, CURLoption option,\n
      \                           struct curl_blob *blob)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: setopt_long
      Src: /src/curl/lib/setopt.c:2936,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2936,1
    - Dst: setopt_slist
      Src: /src/curl/lib/setopt.c:2951,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2951,1
    - Dst: setopt_pointers
      Src: /src/curl/lib/setopt.c:2958,1
    - Dst: setopt_cptr
      Src: /src/curl/lib/setopt.c:2963,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2963,1
    - Dst: setopt_func
      Src: /src/curl/lib/setopt.c:2966,1
    - Dst: setopt_offt
      Src: /src/curl/lib/setopt.c:2968,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2968,1
    - Dst: setopt_blob
      Src: /src/curl/lib/setopt.c:2969,1
    - Dst: va_arg
      Src: /src/curl/lib/setopt.c:2969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - data
    - option
    - param
    argTypes:
    - struct Curl_easy*
    - CURLoption
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2933
    functionDepth: 4
    functionLinenumber: 2933
    functionLinenumberEnd: 2970
    functionName: Curl_vsetopt
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 1
    functionsReached:
    - setopt_blob
    - setopt_offt
    - setopt_pointers
    - setopt_func
    - setopt_cptr
    - setopt_long
    - setopt_slist
    - va_arg
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list
      param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/setopt.c:2990,1
    - Dst: Curl_vsetopt
      Src: /src/curl/lib/setopt.c:2992,1
    - Dst: va_end
      Src: /src/curl/lib/setopt.c:2994,1
    - Dst: failf
      Src: /src/curl/lib/setopt.c:2996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - d
    - tag
    argTypes:
    - CURL*
    - CURLoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2981
    functionDepth: 5
    functionLinenumber: 2981
    functionLinenumberEnd: 2998
    functionName: curl_easy_setopt
    functionSourceFile: /src/curl/lib/setopt.c
    functionUses: 209
    functionsReached:
    - va_start
    - failf
    - Curl_vsetopt
    - va_end
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_setopt(CURL *d, CURLoption tag, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - k
    - ','
    - kl
    - ','
    - d
    - ','
    - dl
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: HMAC_SHA256
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HMAC_SHA256(k, kl, d, dl, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hexencode
      Src: /src/curl/lib/http_aws_sigv4.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - sha
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: sha256_to_hex
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - Curl_hexencode
    linkageType: ''
    returnType: void
    signature: void sha256_to_hex(char *dst, unsigned char *sha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http_aws_sigv4.c:94,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:94,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http_aws_sigv4.c:98,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_aws_sigv4.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sig_hdr
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: find_date_hdr
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - Curl_checkheaders
    - strlen
    - STRCONST
    linkageType: ''
    returnType: char
    signature: char *find_date_hdr(struct Curl_easy *data, const char *sig_hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/curl/lib/http_aws_sigv4.c:108,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/http_aws_sigv4.c:109,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/http_aws_sigv4.c:115,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http_aws_sigv4.c:118,1
    - Dst: ISBLANK
      Src: /src/curl/lib/http_aws_sigv4.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: trim_headers
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - curlx_str_passblanks
    - CURL_UNCONST
    - Curl_strntolower
    - strcspn
    - ISBLANK
    linkageType: ''
    returnType: void
    signature: void trim_headers(struct curl_slist *head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/lib/http_aws_sigv4.c:157,1
    - Dst: strchr
      Src: /src/curl/lib/http_aws_sigv4.c:158,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_aws_sigv4.c:160,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_aws_sigv4.c:161,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:163,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:164,1
    - Dst: strncmp
      Src: /src/curl/lib/http_aws_sigv4.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 175
    functionName: compare_header_names
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strchr
    - DEBUGASSERT
    - strlen
    linkageType: ''
    returnType: int
    signature: int compare_header_names(const char *a, const char *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compare_header_names
      Src: /src/curl/lib/http_aws_sigv4.c:190,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:195,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http_aws_sigv4.c:197,1
    - Dst: strchr
      Src: /src/curl/lib/http_aws_sigv4.c:201,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_aws_sigv4.c:202,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_aws_sigv4.c:205,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http_aws_sigv4.c:209,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:213,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:214,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:217,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 226
    functionName: merge_duplicate_headers
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - strchr
    - curlx_dyn_addn
    - free
    - curlx_dyn_init
    - DEBUGASSERT
    - curlx_dyn_ptr
    - compare_header_names
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode merge_duplicate_headers(struct curl_slist *head)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http_aws_sigv4.c:247,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/http_aws_sigv4.c:250,1
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/http_aws_sigv4.c:251,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http_aws_sigv4.c:253,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/http_aws_sigv4.c:256,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http_aws_sigv4.c:258,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_aws_sigv4.c:258,1
    - Dst: strcspn
      Src: /src/curl/lib/http_aws_sigv4.c:263,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/http_aws_sigv4.c:264,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_aws_sigv4.c:267,1
    - Dst: Curl_slist_append_nodup
      Src: /src/curl/lib/http_aws_sigv4.c:270,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:272,1
    - Dst: curl_slist_append
      Src: /src/curl/lib/http_aws_sigv4.c:279,1
    - Dst: strchr
      Src: /src/curl/lib/http_aws_sigv4.c:302,1
    - Dst: strchr
      Src: /src/curl/lib/http_aws_sigv4.c:304,1
    - Dst: ISBLANK
      Src: /src/curl/lib/http_aws_sigv4.c:307,1
    - Dst: strdup
      Src: /src/curl/lib/http_aws_sigv4.c:311,1
    - Dst: Curl_slist_append_nodup
      Src: /src/curl/lib/http_aws_sigv4.c:315,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:317,1
    - Dst: trim_headers
      Src: /src/curl/lib/http_aws_sigv4.c:323,1
    - Dst: find_date_hdr
      Src: /src/curl/lib/http_aws_sigv4.c:325,1
    - Dst: curl_slist_append
      Src: /src/curl/lib/http_aws_sigv4.c:327,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_aws_sigv4.c:331,1
    - Dst: strchr
      Src: /src/curl/lib/http_aws_sigv4.c:336,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http_aws_sigv4.c:342,1
    - Dst: ISALNUM
      Src: /src/curl/lib/http_aws_sigv4.c:344,1
    - Dst: memcpy
      Src: /src/curl/lib/http_aws_sigv4.c:348,1
    - Dst: compare_header_names
      Src: /src/curl/lib/http_aws_sigv4.c:363,1
    - Dst: merge_duplicate_headers
      Src: /src/curl/lib/http_aws_sigv4.c:373,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http_aws_sigv4.c:380,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http_aws_sigv4.c:382,1
    - Dst: strchr
      Src: /src/curl/lib/http_aws_sigv4.c:385,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http_aws_sigv4.c:390,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http_aws_sigv4.c:393,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/http_aws_sigv4.c:399,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 114
    argCount: 9
    argNames:
    - data
    - hostname
    - timestamp
    - provider1
    - plen
    - date_header
    - content_sha256_header
    - canonical_headers
    - signed_headers
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - size_t
    - char**
    - char*
    - struct dynbuf*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 229
    functionDepth: 6
    functionLinenumber: 229
    functionLinenumberEnd: 402
    functionName: make_headers
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - curlx_str_passblanks
    - curl_slist_free_all
    - merge_duplicate_headers
    - STRCONST
    - trim_headers
    - curlx_dyn_add
    - ISALNUM
    - strdup
    - strchr
    - curl_slist_append
    - Curl_strntolower
    - strcspn
    - curl_maprintf
    - compare_header_names
    - curl_msnprintf
    - Curl_checkheaders
    - free
    - memcpy
    - Curl_memdup0
    - ISBLANK
    - Curl_raw_toupper
    - Curl_slist_append_nodup
    - find_date_hdr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode make_headers(struct Curl_easy *data,\n                             const
      char *hostname,\n                             char *timestamp,\n                             const
      char *provider1,\n                             size_t plen, /* length of provider1
      */\n                             char **date_header,\n                             char
      *content_sha256_header,\n                             struct dynbuf *canonical_headers,\n
      \                            struct dynbuf *signed_headers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http_aws_sigv4.c:419,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http_aws_sigv4.c:422,1
    - Dst: strchr
      Src: /src/curl/lib/http_aws_sigv4.c:426,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http_aws_sigv4.c:431,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:433,1
    - Dst: ISBLANK
      Src: /src/curl/lib/http_aws_sigv4.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - data
    - provider1
    - plen
    - value_len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 439
    functionName: parse_content_sha_hdr
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - strlen
    - curlx_str_passblanks
    - curl_msnprintf
    - Curl_checkheaders
    - strchr
    - ISBLANK
    linkageType: ''
    returnType: char
    signature: "char *parse_content_sha_hdr(struct Curl_easy *data,\n                                         const
      char *provider1,\n                                         size_t plen,\n                                         size_t
      *value_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:450,1
    - Dst: Curl_sha256it
      Src: /src/curl/lib/http_aws_sigv4.c:454,1
    - Dst: sha256_to_hex
      Src: /src/curl/lib/http_aws_sigv4.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - sha_hash
    - sha_hex
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 459
    functionName: calc_payload_hash
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - Curl_sha256it
    - strlen
    - sha256_to_hex
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode calc_payload_hash(struct Curl_easy *data,\n                                  unsigned
      char *sha_hash, char *sha_hex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calc_payload_hash
      Src: /src/curl/lib/http_aws_sigv4.c:479,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_aws_sigv4.c:486,1
    - Dst: memcpy
      Src: /src/curl/lib/http_aws_sigv4.c:487,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http_aws_sigv4.c:492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 7
    argNames:
    - data
    - httpreq
    - provider1
    - plen
    - sha_hash
    - sha_hex
    - header
    argTypes:
    - struct Curl_easy*
    - Curl_HttpReq
    - char*
    - size_t
    - unsigned char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 463
    functionDepth: 6
    functionLinenumber: 463
    functionLinenumberEnd: 498
    functionName: calc_s3_payload_hash
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - calc_payload_hash
    - DEBUGASSERT
    - curl_msnprintf
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode calc_s3_payload_hash(struct Curl_easy *data,\n                                     Curl_HttpReq
      httpreq,\n                                     const char *provider1,\n                                     size_t
      plen,\n                                     unsigned char *sha_hash,\n                                     char
      *sha_hex, char *header)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http_aws_sigv4.c:505,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http_aws_sigv4.c:506,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http_aws_sigv4.c:507,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http_aws_sigv4.c:508,1
    - Dst: strcmp
      Src: /src/curl/lib/http_aws_sigv4.c:520,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:520,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:520,1
    - Dst: strcmp
      Src: /src/curl/lib/http_aws_sigv4.c:532,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:532,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:532,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 536
    functionName: compare_func
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - strcmp
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: int
    signature: int compare_func(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_assign
      Src: /src/curl/lib/http_aws_sigv4.c:546,1
    - Dst: uri_encode_path
      Src: /src/curl/lib/http_aws_sigv4.c:552,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_aws_sigv4.c:554,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http_aws_sigv4.c:557,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http_aws_sigv4.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - q
    - len
    - new_path
    - do_uri_encode
    argTypes:
    - char*
    - size_t
    - struct dynbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 562
    functionName: canon_path
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_add
    - curlx_dyn_addn
    - curlx_dyn_len
    - curlx_str_assign
    - uri_encode_path
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST canon_path(const char *q, size_t len,\n                             struct
      dynbuf *new_path,\n                             bool do_uri_encode)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: split_to_dyn_array
      Src: /src/curl/lib/http_aws_sigv4.c:577,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http_aws_sigv4.c:590,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:591,1
    - Dst: strchr
      Src: /src/curl/lib/http_aws_sigv4.c:595,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:598,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:604,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:605,1
    - Dst: http_aws_decode_encode
      Src: /src/curl/lib/http_aws_sigv4.c:609,1
    - Dst: http_aws_decode_encode
      Src: /src/curl/lib/http_aws_sigv4.c:620,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:628,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_aws_sigv4.c:629,1
    - Dst: qsort
      Src: /src/curl/lib/http_aws_sigv4.c:638,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_aws_sigv4.c:645,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:647,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:648,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http_aws_sigv4.c:649,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http_aws_sigv4.c:651,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http_aws_sigv4.c:655,1
    - Dst: pair_array_free
      Src: /src/curl/lib/http_aws_sigv4.c:665,1
    - Dst: dyn_array_free
      Src: /src/curl/lib/http_aws_sigv4.c:666,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - query
    - dq
    argTypes:
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 668
    functionName: canon_query
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - strlen
    - qsort
    - dyn_array_free
    - strchr
    - pair_array_free
    - split_to_dyn_array
    - curlx_dyn_addn
    - curlx_dyn_addf
    - curlx_dyn_init
    - curlx_dyn_len
    - http_aws_decode_encode
    - curlx_dyn_ptr
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST canon_query(const char *query, struct dynbuf *dq)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/http_aws_sigv4.c:707,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/http_aws_sigv4.c:711,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_aws_sigv4.c:711,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:717,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:718,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:719,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:720,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/http_aws_sigv4.c:737,1
    - Dst: failf
      Src: /src/curl/lib/http_aws_sigv4.c:738,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http_aws_sigv4.c:742,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/http_aws_sigv4.c:743,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http_aws_sigv4.c:746,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/http_aws_sigv4.c:747,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http_aws_sigv4.c:748,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/http_aws_sigv4.c:749,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:753,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/http_aws_sigv4.c:755,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http_aws_sigv4.c:756,1
    - Dst: failf
      Src: /src/curl/lib/http_aws_sigv4.c:757,1
    - Dst: infof
      Src: /src/curl/lib/http_aws_sigv4.c:762,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:763,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:763,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:765,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/http_aws_sigv4.c:766,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/http_aws_sigv4.c:767,1
    - Dst: failf
      Src: /src/curl/lib/http_aws_sigv4.c:768,1
    - Dst: infof
      Src: /src/curl/lib/http_aws_sigv4.c:772,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:773,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:773,1
    - Dst: Curl_http_method
      Src: /src/curl/lib/http_aws_sigv4.c:777,1
    - Dst: parse_content_sha_hdr
      Src: /src/curl/lib/http_aws_sigv4.c:780,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:780,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:781,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http_aws_sigv4.c:786,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/http_aws_sigv4.c:787,1
    - Dst: calc_s3_payload_hash
      Src: /src/curl/lib/http_aws_sigv4.c:790,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:790,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:791,1
    - Dst: calc_payload_hash
      Src: /src/curl/lib/http_aws_sigv4.c:794,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:800,1
    - Dst: getenv
      Src: /src/curl/lib/http_aws_sigv4.c:805,1
    - Dst: time
      Src: /src/curl/lib/http_aws_sigv4.c:809,1
    - Dst: time
      Src: /src/curl/lib/http_aws_sigv4.c:812,1
    - Dst: Curl_gmtime
      Src: /src/curl/lib/http_aws_sigv4.c:814,1
    - Dst: strftime
      Src: /src/curl/lib/http_aws_sigv4.c:818,1
    - Dst: make_headers
      Src: /src/curl/lib/http_aws_sigv4.c:823,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:824,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:824,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:832,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_aws_sigv4.c:833,1
    - Dst: memcpy
      Src: /src/curl/lib/http_aws_sigv4.c:834,1
    - Dst: memcpy
      Src: /src/curl/lib/http_aws_sigv4.c:837,1
    - Dst: canon_query
      Src: /src/curl/lib/http_aws_sigv4.c:840,1
    - Dst: canon_path
      Src: /src/curl/lib/http_aws_sigv4.c:844,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:844,1
    - Dst: should_urlencode
      Src: /src/curl/lib/http_aws_sigv4.c:846,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_aws_sigv4.c:852,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:859,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:860,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:861,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:862,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:863,1
    - Dst: infof
      Src: /src/curl/lib/http_aws_sigv4.c:868,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_aws_sigv4.c:871,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:872,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:873,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/http_aws_sigv4.c:879,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:879,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_aws_sigv4.c:881,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:882,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:883,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:884,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:885,1
    - Dst: Curl_sha256it
      Src: /src/curl/lib/http_aws_sigv4.c:890,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:891,1
    - Dst: sha256_to_hex
      Src: /src/curl/lib/http_aws_sigv4.c:894,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_aws_sigv4.c:900,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:904,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:905,1
    - Dst: Curl_strntoupper
      Src: /src/curl/lib/http_aws_sigv4.c:913,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:913,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:914,1
    - Dst: infof
      Src: /src/curl/lib/http_aws_sigv4.c:916,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_aws_sigv4.c:919,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:919,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:920,1
    - Dst: Curl_strntoupper
      Src: /src/curl/lib/http_aws_sigv4.c:925,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:925,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:925,1
    - Dst: HMAC_SHA256
      Src: /src/curl/lib/http_aws_sigv4.c:927,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:927,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:927,1
    - Dst: HMAC_SHA256
      Src: /src/curl/lib/http_aws_sigv4.c:928,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:929,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:929,1
    - Dst: HMAC_SHA256
      Src: /src/curl/lib/http_aws_sigv4.c:930,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:931,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:931,1
    - Dst: HMAC_SHA256
      Src: /src/curl/lib/http_aws_sigv4.c:932,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:932,1
    - Dst: HMAC_SHA256
      Src: /src/curl/lib/http_aws_sigv4.c:933,1
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:933,1
    - Dst: sha256_to_hex
      Src: /src/curl/lib/http_aws_sigv4.c:935,1
    - Dst: infof
      Src: /src/curl/lib/http_aws_sigv4.c:937,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_aws_sigv4.c:939,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:950,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:951,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_aws_sigv4.c:954,1
    - Dst: Curl_strntoupper
      Src: /src/curl/lib/http_aws_sigv4.c:962,1
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:963,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:963,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:965,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http_aws_sigv4.c:971,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http_aws_sigv4.c:972,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http_aws_sigv4.c:973,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http_aws_sigv4.c:974,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:975,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:976,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:977,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:978,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:979,1
    - Dst: free
      Src: /src/curl/lib/http_aws_sigv4.c:980,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 149
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 670
    functionDepth: 7
    functionLinenumber: 670
    functionLinenumberEnd: 982
    functionName: Curl_output_aws_sigv4
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - parse_content_sha_hdr
    - getenv
    - sha256_to_hex
    - make_headers
    - curlx_str_single
    - HMAC_SHA256
    - STRCONST
    - Curl_strntoupper
    - curlx_str_casecompare
    - canon_path
    - failf
    - curlx_strlen
    - Curl_strntolower
    - Curl_gmtime
    - curlx_str_until
    - curl_maprintf
    - curlx_dyn_ptr
    - strlen
    - calc_s3_payload_hash
    - Curl_checkheaders
    - memcpy
    - free
    - curlx_dyn_init
    - curlx_dyn_free
    - calc_payload_hash
    - Curl_sha256it
    - DEBUGASSERT
    - curlx_str
    - time
    - should_urlencode
    - canon_query
    - Curl_http_method
    - infof
    - strftime
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_output_aws_sigv4(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http_aws_sigv4.c:993,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http_aws_sigv4.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pair_array
    - num_elements
    argTypes:
    - struct pair*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 997
    functionName: pair_array_free
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void pair_array_free(struct pair *pair_array, size_t num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http_aws_sigv4.c:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - db
    - num_elements
    argTypes:
    - struct dynbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1009
    functionName: dyn_array_free
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void dyn_array_free(struct dynbuf *db, size_t num_elements)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/http_aws_sigv4.c:1024,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:1036,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_aws_sigv4.c:1037,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_aws_sigv4.c:1057,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_aws_sigv4.c:1058,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - source
    - db
    - num_splits_out
    argTypes:
    - char*
    - struct dynbuf[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1067
    functionName: split_to_dyn_array
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_init
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode split_to_dyn_array(const char *source,\n                                   struct
      dynbuf db[MAX_QUERY_COMPONENTS],\n                                   size_t
      *num_splits_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/curl/lib/http_aws_sigv4.c:1072,1
    - Dst: ISURLPUNTCS
      Src: /src/curl/lib/http_aws_sigv4.c:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1073
    functionName: is_reserved_char
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - ISURLPUNTCS
    - ISALNUM
    linkageType: ''
    returnType: bool
    signature: bool is_reserved_char(const char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str
      Src: /src/curl/lib/http_aws_sigv4.c:1078,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/http_aws_sigv4.c:1081,1
    - Dst: is_reserved_char
      Src: /src/curl/lib/http_aws_sigv4.c:1085,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_aws_sigv4.c:1086,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http_aws_sigv4.c:1088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - original_path
    - new_path
    argTypes:
    - struct Curl_str*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1094
    functionName: uri_encode_path
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_addn
    - curlx_strlen
    - is_reserved_char
    - curlx_dyn_addf
    - curlx_str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode uri_encode_path(struct Curl_str *original_path,\n                                struct
      dynbuf *new_path)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_reserved_char
      Src: /src/curl/lib/http_aws_sigv4.c:1105,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_aws_sigv4.c:1107,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/http_aws_sigv4.c:1110,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http_aws_sigv4.c:1112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - component
    - len
    - db
    argTypes:
    - char*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1097
    functionDepth: 2
    functionLinenumber: 1097
    functionLinenumberEnd: 1118
    functionName: encode_query_component
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_add
    - is_reserved_char
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode encode_query_component(char *component, size_t len,\n                                       struct
      dynbuf *db)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/curl/lib/http_aws_sigv4.c:1130,1
    - Dst: encode_query_component
      Src: /src/curl/lib/http_aws_sigv4.c:1133,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http_aws_sigv4.c:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - char*
    - size_t
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1137
    functionName: http_aws_decode_encode
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - encode_query_component
    - Curl_safefree
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_aws_decode_encode(const char *in, size_t in_len,\n                                       struct
      dynbuf *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_cmp
      Src: /src/curl/lib/http_aws_sigv4.c:1148,1
    - Dst: curlx_str_cmp
      Src: /src/curl/lib/http_aws_sigv4.c:1149,1
    - Dst: curlx_str_cmp
      Src: /src/curl/lib/http_aws_sigv4.c:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - service_name
    argTypes:
    - struct Curl_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1154
    functionName: should_urlencode
    functionSourceFile: /src/curl/lib/http_aws_sigv4.c
    functionUses: 1
    functionsReached:
    - curlx_str_cmp
    linkageType: ''
    returnType: bool
    signature: bool should_urlencode(struct Curl_str *service_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: Curl_doh
    functionSourceFile: /src/curl/lib/doh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_doh(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: Curl_doh_is_resolved
    functionSourceFile: /src/curl/lib/doh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_doh_is_resolved(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: global_init_lock
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: global_init_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: global_init_unlock
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: global_init_unlock()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_init
      Src: /src/curl/lib/easy.c:158,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:159,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:159,1
    - Dst: Curl_ssl_init
      Src: /src/curl/lib/easy.c:163,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:164,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:164,1
    - Dst: Curl_vquic_init
      Src: /src/curl/lib/easy.c:168,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:169,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:169,1
    - Dst: Curl_win32_init
      Src: /src/curl/lib/easy.c:173,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:174,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:174,1
    - Dst: Curl_amiga_init
      Src: /src/curl/lib/easy.c:178,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:179,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:179,1
    - Dst: Curl_macos_init
      Src: /src/curl/lib/easy.c:183,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:184,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:184,1
    - Dst: Curl_async_global_init
      Src: /src/curl/lib/easy.c:188,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:189,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:189,1
    - Dst: Curl_ssh_init
      Src: /src/curl/lib/easy.c:193,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:194,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:194,1
    - Dst: getenv
      Src: /src/curl/lib/easy.c:201,1
    - Dst: malloc
      Src: /src/curl/lib/easy.c:203,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - flags
    - memoryfuncs
    argTypes:
    - long
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 211
    functionName: global_init
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 376
    functionsReached:
    - malloc
    - Curl_vquic_init
    - Curl_ssl_init
    - DEBUGF
    - curl_mfprintf
    - getenv
    - Curl_async_global_init
    - Curl_win32_init
    - Curl_amiga_init
    - Curl_macos_init
    - Curl_trc_init
    - Curl_ssh_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode global_init(long flags, bool memoryfuncs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/curl/lib/easy.c:221,1
    - Dst: global_init
      Src: /src/curl/lib/easy.c:223,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: curl_global_init
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 269
    functionsReached:
    - global_init_unlock
    - global_init
    - global_init_lock
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_global_init(long flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/curl/lib/easy.c:244,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:251,1
    - Dst: global_init
      Src: /src/curl/lib/easy.c:264,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - flags
    - m
    - f
    - r
    - s
    - c
    argTypes:
    - long
    - curl_malloc_callback
    - curl_free_callback
    - curl_realloc_callback
    - curl_strdup_callback
    - curl_calloc_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: curl_global_init_mem
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - global_init_unlock
    - global_init
    - global_init_lock
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_global_init_mem(long flags, curl_malloc_callback m,\n
      \                             curl_free_callback f, curl_realloc_callback r,\n
      \                             curl_strdup_callback s, curl_calloc_callback c)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/curl/lib/easy.c:278,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:281,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:286,1
    - Dst: Curl_ssl_cleanup
      Src: /src/curl/lib/easy.c:290,1
    - Dst: Curl_async_global_cleanup
      Src: /src/curl/lib/easy.c:291,1
    - Dst: Curl_win32_cleanup
      Src: /src/curl/lib/easy.c:294,1
    - Dst: Curl_amiga_cleanup
      Src: /src/curl/lib/easy.c:297,1
    - Dst: Curl_ssh_cleanup
      Src: /src/curl/lib/easy.c:299,1
    - Dst: free
      Src: /src/curl/lib/easy.c:302,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 308
    functionName: curl_global_cleanup
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 379
    functionsReached:
    - global_init_unlock
    - Curl_async_global_cleanup
    - global_init_lock
    - free
    - Curl_ssl_cleanup
    - Curl_amiga_cleanup
    - Curl_ssh_cleanup
    - Curl_win32_cleanup
    linkageType: ''
    returnType: void
    signature: void curl_global_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/curl/lib/easy.c:317,1
    - Dst: Curl_trc_opt
      Src: /src/curl/lib/easy.c:319,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: curl_global_trace
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 10
    functionsReached:
    - global_init_unlock
    - Curl_trc_opt
    - global_init_lock
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_global_trace(const char *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/curl/lib/easy.c:338,1
    - Dst: Curl_init_sslset_nolock
      Src: /src/curl/lib/easy.c:340,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - id
    - name
    - avail
    argTypes:
    - curl_sslbackend
    - char*
    - curl_ssl_backend***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: curl_global_sslset
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 2
    functionsReached:
    - global_init_unlock
    - Curl_init_sslset_nolock
    - global_init_lock
    linkageType: ''
    returnType: CURLsslset
    signature: "CURLsslset curl_global_sslset(curl_sslbackend id, const char *name,\n
      \                             const curl_ssl_backend ***avail)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: global_init_lock
      Src: /src/curl/lib/easy.c:357,1
    - Dst: global_init
      Src: /src/curl/lib/easy.c:360,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:363,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:363,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:364,1
    - Dst: global_init_unlock
      Src: /src/curl/lib/easy.c:368,1
    - Dst: Curl_open
      Src: /src/curl/lib/easy.c:371,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:373,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 378
    functionName: curl_easy_init
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 293
    functionsReached:
    - global_init_unlock
    - DEBUGF
    - curl_mfprintf
    - global_init_lock
    - Curl_open
    - global_init
    linkageType: ''
    returnType: CURL
    signature: CURL *curl_easy_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - multi
    - timeout_ms
    - userp
    argTypes:
    - CURLM*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: events_timer
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: int
    signature: "int events_timer(CURLM *multi,    /* multi handle */\n                        long
      timeout_ms, /* see above */\n                        void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pollmask
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 431
    functionName: poll2cselect
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int poll2cselect(int pollmask)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pollmask
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: socketcb2poll
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: short socketcb2poll(int pollmask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/easy.c:483,1
    - Dst: infof
      Src: /src/curl/lib/easy.c:484,1
    - Dst: socketcb2poll
      Src: /src/curl/lib/easy.c:489,1
    - Dst: infof
      Src: /src/curl/lib/easy.c:490,1
    - Dst: DEBUGF
      Src: /src/curl/lib/easy.c:504,1
    - Dst: infof
      Src: /src/curl/lib/easy.c:504,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/easy.c:506,1
    - Dst: malloc
      Src: /src/curl/lib/easy.c:509,1
    - Dst: socketcb2poll
      Src: /src/curl/lib/easy.c:513,1
    - Dst: infof
      Src: /src/curl/lib/easy.c:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - easy
    - s
    - what
    - userp
    - socketp
    argTypes:
    - CURL*
    - curl_socket_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 526
    functionName: events_socket
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - malloc
    - DEBUGF
    - free
    - socketcb2poll
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int events_socket(CURL *easy,      /* easy handle */\n                         curl_socket_t
      s, /* socket */\n                         int what,        /* see above */\n
      \                        void *userp,     /* private callback\n                                             pointer
      */\n                         void *socketp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_setopt
      Src: /src/curl/lib/easy.c:537,1
    - Dst: curl_multi_setopt
      Src: /src/curl/lib/easy.c:538,1
    - Dst: curl_multi_setopt
      Src: /src/curl/lib/easy.c:541,1
    - Dst: curl_multi_setopt
      Src: /src/curl/lib/easy.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - multi
    - ev
    argTypes:
    - struct Curl_multi*
    - struct events*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 543
    functionName: events_setup
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curl_multi_setopt
    linkageType: ''
    returnType: void
    signature: void events_setup(struct Curl_multi *multi, struct events *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - fds
    - ev
    argTypes:
    - struct pollfd*
    - struct events*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 549
    functionDepth: 5
    functionLinenumber: 549
    functionLinenumberEnd: 567
    functionName: populate_fds
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int populate_fds(struct pollfd *fds, struct events *ev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:581,1
    - Dst: Curl_poll
      Src: /src/curl/lib/easy.c:583,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:585,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:593,1
    - Dst: curlx_wait_ms
      Src: /src/curl/lib/easy.c:597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ev
    - fds
    - numfds
    - pollrc
    argTypes:
    - struct events*
    - struct pollfd*
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 573
    functionDepth: 5
    functionLinenumber: 573
    functionLinenumberEnd: 600
    functionName: poll_fds
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - Curl_poll
    - curlx_wait_ms
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode poll_fds(struct events *ev,\n                         struct
      pollfd *fds,\n                         const unsigned int numfds,\n                         int
      *pollrc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: populate_fds
      Src: /src/curl/lib/easy.c:617,1
    - Dst: curlx_now
      Src: /src/curl/lib/easy.c:620,1
    - Dst: poll_fds
      Src: /src/curl/lib/easy.c:622,1
    - Dst: curl_multi_socket_action
      Src: /src/curl/lib/easy.c:632,1
    - Dst: poll2cselect
      Src: /src/curl/lib/easy.c:642,1
    - Dst: infof
      Src: /src/curl/lib/easy.c:645,1
    - Dst: curl_multi_socket_action
      Src: /src/curl/lib/easy.c:647,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/easy.c:657,1
    - Dst: curlx_now
      Src: /src/curl/lib/easy.c:657,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/easy.c:660,1
    - Dst: curl_multi_info_read
      Src: /src/curl/lib/easy.c:676,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - multi
    - ev
    argTypes:
    - struct Curl_multi*
    - struct events*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 606
    functionDepth: 6
    functionLinenumber: 606
    functionLinenumberEnd: 684
    functionName: wait_or_timeout
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - poll_fds
    - populate_fds
    - curl_multi_info_read
    - curl_mfprintf
    - curlx_now
    - curlx_timediff
    - curl_multi_socket_action
    - infof
    - poll2cselect
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode wait_or_timeout(struct Curl_multi *multi, struct events *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: events_setup
      Src: /src/curl/lib/easy.c:698,1
    - Dst: wait_or_timeout
      Src: /src/curl/lib/easy.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 7
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: easy_events
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - wait_or_timeout
    - events_setup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easy_events(struct Curl_multi *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 705
    functionName: easy_events
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: easy_events(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_poll
      Src: /src/curl/lib/easy.c:716,1
    - Dst: curl_multi_perform
      Src: /src/curl/lib/easy.c:719,1
    - Dst: curl_multi_info_read
      Src: /src/curl/lib/easy.c:724,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 741
    functionName: easy_transfer
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - curl_multi_perform
    - curl_multi_poll
    - curl_multi_info_read
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easy_transfer(struct Curl_multi *multi)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SIGPIPE_VARIABLE
      Src: /src/curl/lib/easy.c:766,1
    - Dst: failf
      Src: /src/curl/lib/easy.c:778,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/easy.c:787,1
    - Dst: Curl_getconnectinfo
      Src: /src/curl/lib/easy.c:788,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/easy.c:790,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/easy.c:792,1
    - Dst: Curl_multi_handle
      Src: /src/curl/lib/easy.c:800,1
    - Dst: curl_multi_setopt
      Src: /src/curl/lib/easy.c:809,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/lib/easy.c:812,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/lib/easy.c:814,1
    - Dst: sigpipe_init
      Src: /src/curl/lib/easy.c:823,1
    - Dst: sigpipe_apply
      Src: /src/curl/lib/easy.c:824,1
    - Dst: easy_events
      Src: /src/curl/lib/easy.c:827,1
    - Dst: easy_transfer
      Src: /src/curl/lib/easy.c:827,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/lib/easy.c:831,1
    - Dst: sigpipe_restore
      Src: /src/curl/lib/easy.c:833,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - data
    - events
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 761
    functionDepth: 8
    functionLinenumber: 761
    functionLinenumberEnd: 837
    functionName: easy_perform
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 281
    functionsReached:
    - Curl_conn_terminate
    - sigpipe_restore
    - failf
    - Curl_multi_handle
    - Curl_detach_connection
    - curl_multi_remove_handle
    - curl_multi_setopt
    - curl_multi_cleanup
    - easy_events
    - curl_multi_add_handle
    - sigpipe_apply
    - sigpipe_init
    - SIGPIPE_VARIABLE
    - DEBUGASSERT
    - Curl_getconnectinfo
    - easy_transfer
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode easy_perform(struct Curl_easy *data, bool events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: easy_perform
      Src: /src/curl/lib/easy.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 9
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: curl_easy_perform
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 281
    functionsReached:
    - easy_perform
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_perform(CURL *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: easy_perform
      Src: /src/curl/lib/easy.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 9
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: curl_easy_perform_ev
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - easy_perform
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_perform_ev(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:866,1
    - Dst: SIGPIPE_VARIABLE
      Src: /src/curl/lib/easy.c:867,1
    - Dst: sigpipe_ignore
      Src: /src/curl/lib/easy.c:868,1
    - Dst: Curl_close
      Src: /src/curl/lib/easy.c:869,1
    - Dst: sigpipe_restore
      Src: /src/curl/lib/easy.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 872
    functionName: curl_easy_cleanup
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 386
    functionsReached:
    - sigpipe_restore
    - GOOD_EASY_HANDLE
    - sigpipe_ignore
    - Curl_close
    - SIGPIPE_VARIABLE
    linkageType: ''
    returnType: void
    signature: void curl_easy_cleanup(CURL *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:886,1
    - Dst: va_start
      Src: /src/curl/lib/easy.c:889,1
    - Dst: va_arg
      Src: /src/curl/lib/easy.c:890,1
    - Dst: Curl_getinfo
      Src: /src/curl/lib/easy.c:892,1
    - Dst: va_end
      Src: /src/curl/lib/easy.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - easy
    - info
    argTypes:
    - CURL*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 896
    functionName: curl_easy_getinfo
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 75
    functionsReached:
    - GOOD_EASY_HANDLE
    - Curl_getinfo
    - va_start
    - va_end
    - va_arg
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_getinfo(CURL *easy, CURLINFO info, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_initpart
      Src: /src/curl/lib/easy.c:907,1
    - Dst: memset
      Src: /src/curl/lib/easy.c:911,1
    - Dst: memset
      Src: /src/curl/lib/easy.c:912,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/easy.c:916,1
    - Dst: Curl_setblobopt
      Src: /src/curl/lib/easy.c:923,1
    - Dst: strdup
      Src: /src/curl/lib/easy.c:932,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/easy.c:935,1
    - Dst: curlx_sotouz
      Src: /src/curl/lib/easy.c:936,1
    - Dst: Curl_mime_duppart
      Src: /src/curl/lib/easy.c:944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct Curl_easy*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 950
    functionName: dupset
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - Curl_mime_duppart
    - strdup
    - Curl_setblobopt
    - Curl_mime_initpart
    - curlx_sotouz
    - memset
    - Curl_setstropt
    - Curl_memdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode dupset(struct Curl_easy *dst, struct Curl_easy *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/easy.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 959
    functionName: dupeasy_meta_freeentry
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void dupeasy_meta_freeentry(void *p)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:971,1
    - Dst: calloc
      Src: /src/curl/lib/easy.c:973,1
    - Dst: Curl_hash_init
      Src: /src/curl/lib/easy.c:984,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/easy.c:986,1
    - Dst: Curl_netrc_init
      Src: /src/curl/lib/easy.c:987,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/easy.c:997,1
    - Dst: Curl_initinfo
      Src: /src/curl/lib/easy.c:999,1
    - Dst: dupset
      Src: /src/curl/lib/easy.c:1002,1
    - Dst: Curl_cookie_init
      Src: /src/curl/lib/easy.c:1013,1
    - Dst: Curl_slist_duplicate
      Src: /src/curl/lib/easy.c:1020,1
    - Dst: strdup
      Src: /src/curl/lib/easy.c:1027,1
    - Dst: strdup
      Src: /src/curl/lib/easy.c:1034,1
    - Dst: Curl_ssl_set_engine
      Src: /src/curl/lib/easy.c:1043,1
    - Dst: Curl_altsvc_init
      Src: /src/curl/lib/easy.c:1049,1
    - Dst: Curl_altsvc_load
      Src: /src/curl/lib/easy.c:1053,1
    - Dst: Curl_hsts_init
      Src: /src/curl/lib/easy.c:1058,1
    - Dst: Curl_hsts_loadfile
      Src: /src/curl/lib/easy.c:1062,1
    - Dst: Curl_hsts_loadcb
      Src: /src/curl/lib/easy.c:1064,1
    - Dst: free
      Src: /src/curl/lib/easy.c:1078,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/easy.c:1080,1
    - Dst: Curl_altsvc_cleanup
      Src: /src/curl/lib/easy.c:1081,1
    - Dst: Curl_hsts_cleanup
      Src: /src/curl/lib/easy.c:1082,1
    - Dst: Curl_freeset
      Src: /src/curl/lib/easy.c:1083,1
    - Dst: free
      Src: /src/curl/lib/easy.c:1084,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 86
    argCount: 1
    argNames:
    - d
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 966
    functionDepth: 3
    functionLinenumber: 966
    functionLinenumberEnd: 1088
    functionName: curl_easy_duphandle
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 13
    functionsReached:
    - Curl_hash_init
    - Curl_llist_init
    - Curl_altsvc_cleanup
    - Curl_netrc_init
    - dupset
    - calloc
    - strdup
    - Curl_slist_duplicate
    - Curl_freeset
    - Curl_cookie_init
    - GOOD_EASY_HANDLE
    - Curl_altsvc_load
    - free
    - curlx_dyn_free
    - curlx_dyn_init
    - Curl_hsts_init
    - Curl_hsts_loadcb
    - Curl_hsts_loadfile
    - Curl_hsts_cleanup
    - Curl_altsvc_init
    - Curl_ssl_set_engine
    - Curl_initinfo
    linkageType: ''
    returnType: CURL
    signature: CURL *curl_easy_duphandle(CURL *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:1097,1
    - Dst: Curl_req_hard_reset
      Src: /src/curl/lib/easy.c:1100,1
    - Dst: Curl_hash_clean
      Src: /src/curl/lib/easy.c:1101,1
    - Dst: Curl_meta_reset
      Src: /src/curl/lib/easy.c:1104,1
    - Dst: Curl_async_shutdown
      Src: /src/curl/lib/easy.c:1106,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/easy.c:1107,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/easy.c:1108,1
    - Dst: Curl_freeset
      Src: /src/curl/lib/easy.c:1110,1
    - Dst: memset
      Src: /src/curl/lib/easy.c:1111,1
    - Dst: Curl_init_userdefined
      Src: /src/curl/lib/easy.c:1112,1
    - Dst: memset
      Src: /src/curl/lib/easy.c:1115,1
    - Dst: Curl_initinfo
      Src: /src/curl/lib/easy.c:1118,1
    - Dst: memset
      Src: /src/curl/lib/easy.c:1125,1
    - Dst: memset
      Src: /src/curl/lib/easy.c:1126,1
    - Dst: Curl_http_auth_cleanup_digest
      Src: /src/curl/lib/easy.c:1129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - d
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1132
    functionName: curl_easy_reset
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 15
    functionsReached:
    - Curl_req_hard_reset
    - GOOD_EASY_HANDLE
    - Curl_meta_reset
    - Curl_async_shutdown
    - memset
    - Curl_freeset
    - Curl_hash_clean
    - Curl_init_userdefined
    - Curl_resolv_unlink
    - Curl_initinfo
    - Curl_http_auth_cleanup_digest
    linkageType: ''
    returnType: void
    signature: void curl_easy_reset(CURL *d)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:1156,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/easy.c:1160,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/curl/lib/easy.c:1163,1
    - Dst: Curl_xfer_send_is_paused
      Src: /src/curl/lib/easy.c:1165,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/easy.c:1170,1
    - Dst: Curl_xfer_pause_send
      Src: /src/curl/lib/easy.c:1170,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/easy.c:1175,1
    - Dst: Curl_xfer_pause_recv
      Src: /src/curl/lib/easy.c:1175,1
    - Dst: Curl_xfer_is_blocked
      Src: /src/curl/lib/easy.c:1179,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/easy.c:1183,1
    - Dst: Curl_update_timer
      Src: /src/curl/lib/easy.c:1186,1
    - Dst: Curl_multi_ev_assess_xfer
      Src: /src/curl/lib/easy.c:1194,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/easy.c:1200,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 2
    argNames:
    - d
    - action
    argTypes:
    - CURL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1203
    functionName: curl_easy_pause
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 14
    functionsReached:
    - Curl_xfer_recv_is_paused
    - Curl_1st_err
    - Curl_xfer_pause_recv
    - GOOD_EASY_HANDLE
    - Curl_xfer_is_blocked
    - Curl_update_timer
    - Curl_multi_ev_assess_xfer
    - Curl_xfer_send_is_paused
    - Curl_is_in_callback
    - Curl_xfer_pause_send
    - Curl_multi_mark_dirty
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_pause(CURL *d, int action)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/easy.c:1216,1
    - Dst: Curl_getconnectinfo
      Src: /src/curl/lib/easy.c:1220,1
    - Dst: failf
      Src: /src/curl/lib/easy.c:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - connp
    argTypes:
    - struct Curl_easy*
    - struct connectdata**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1228
    functionName: easy_connection
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_getconnectinfo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode easy_connection(struct Curl_easy *data,\n                                struct
      connectdata **connp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:1241,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/easy.c:1243,1
    - Dst: easy_connection
      Src: /src/curl/lib/easy.c:1246,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/easy.c:1253,1
    - Dst: Curl_conn_recv
      Src: /src/curl/lib/easy.c:1256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - d
    - buffer
    - buflen
    - n
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1257
    functionName: curl_easy_recv
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 4
    functionsReached:
    - GOOD_EASY_HANDLE
    - Curl_attach_connection
    - easy_connection
    - Curl_conn_recv
    - Curl_is_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_recv(CURL *d, void *buffer, size_t buflen, size_t
      *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: easy_connection
      Src: /src/curl/lib/easy.c:1265,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/easy.c:1272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1260
    functionDepth: 2
    functionLinenumber: 1260
    functionLinenumberEnd: 1275
    functionName: Curl_connect_only_attach
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - easy_connection
    - Curl_attach_connection
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_connect_only_attach(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SIGPIPE_VARIABLE
      Src: /src/curl/lib/easy.c:1288,1
    - Dst: easy_connection
      Src: /src/curl/lib/easy.c:1291,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/easy.c:1298,1
    - Dst: sigpipe_ignore
      Src: /src/curl/lib/easy.c:1300,1
    - Dst: Curl_conn_send
      Src: /src/curl/lib/easy.c:1301,1
    - Dst: sigpipe_restore
      Src: /src/curl/lib/easy.c:1302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - buffer
    - buflen
    - n
    argTypes:
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1307
    functionName: Curl_senddata
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - sigpipe_restore
    - Curl_attach_connection
    - easy_connection
    - sigpipe_ignore
    - Curl_conn_send
    - SIGPIPE_VARIABLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_senddata(struct Curl_easy *data, const void *buffer,\n
      \                      size_t buflen, size_t *n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:1318,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/easy.c:1320,1
    - Dst: Curl_senddata
      Src: /src/curl/lib/easy.c:1323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - d
    - buffer
    - buflen
    - n
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1313
    functionDepth: 3
    functionLinenumber: 1313
    functionLinenumberEnd: 1326
    functionName: curl_easy_send
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 4
    functionsReached:
    - Curl_senddata
    - GOOD_EASY_HANDLE
    - Curl_is_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_send(CURL *d, const void *buffer, size_t buflen,
      size_t *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:1335,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/easy.c:1338,1
    - Dst: Curl_cpool_upkeep
      Src: /src/curl/lib/easy.c:1342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1343
    functionName: curl_easy_upkeep
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - Curl_cpool_upkeep
    - GOOD_EASY_HANDLE
    - Curl_is_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_easy_upkeep(CURL *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:1351,1
    - Dst: Curl_ssl_session_import
      Src: /src/curl/lib/easy.c:1353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - d
    - session_key
    - shmac
    - shmac_len
    - sdata
    - sdata_len
    argTypes:
    - CURL*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1364
    functionName: curl_easy_ssls_import
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_session_import
    - GOOD_EASY_HANDLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_easy_ssls_import(CURL *d, const char *session_key,\n
      \                              const unsigned char *shmac, size_t shmac_len,\n
      \                              const unsigned char *sdata, size_t sdata_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/easy.c:1372,1
    - Dst: Curl_ssl_session_export
      Src: /src/curl/lib/easy.c:1374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - d
    - export_fn
    - userptr
    argTypes:
    - CURL*
    - curl_ssls_export_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1381
    functionName: curl_easy_ssls_export
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - GOOD_EASY_HANDLE
    - Curl_ssl_session_export
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_easy_ssls_export(CURL *d,\n                               curl_ssls_export_cb
      *export_fn,\n                               void *userptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/easy.c:1386,1
    - Dst: Curl_hash_add2
      Src: /src/curl/lib/easy.c:1387,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/easy.c:1387,1
    - Dst: strlen
      Src: /src/curl/lib/easy.c:1387,1
    - Dst: meta_dtor
      Src: /src/curl/lib/easy.c:1389,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/easy.c:1389,1
    - Dst: strlen
      Src: /src/curl/lib/easy.c:1389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - key
    - meta_data
    - meta_dtor
    argTypes:
    - struct Curl_easy*
    - char*
    - void*
    - Curl_meta_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1393
    functionName: Curl_meta_set
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - strlen
    - CURL_UNCONST
    - meta_dtor
    - Curl_hash_add2
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_meta_set(struct Curl_easy *data, const char *key,\n
      \                      void *meta_data, Curl_meta_dtor *meta_dtor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_delete
      Src: /src/curl/lib/easy.c:1397,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/easy.c:1397,1
    - Dst: strlen
      Src: /src/curl/lib/easy.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1398
    functionName: Curl_meta_remove
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 0
    functionsReached:
    - Curl_hash_delete
    - strlen
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void Curl_meta_remove(struct Curl_easy *data, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/easy.c:1402,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/easy.c:1402,1
    - Dst: strlen
      Src: /src/curl/lib/easy.c:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1403
    functionName: Curl_meta_get
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 3
    functionsReached:
    - strlen
    - Curl_hash_pick
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void *Curl_meta_get(struct Curl_easy *data, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_clean
      Src: /src/curl/lib/easy.c:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1408
    functionName: Curl_meta_reset
    functionSourceFile: /src/curl/lib/easy.c
    functionUses: 1
    functionsReached:
    - Curl_hash_clean
    linkageType: ''
    returnType: void
    signature: void Curl_meta_reset(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/curl_memrchr.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: Curl_memrchr
    functionSourceFile: /src/curl/lib/curl_memrchr.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: 'void *

      Curl_memrchr(const void *s, int c, size_t n)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/curl/lib/http_ntlm.c:68,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/curl/lib/http_ntlm.c:69,1
    - Dst: strlen
      Src: /src/curl/lib/http_ntlm.c:73,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http_ntlm.c:74,1
    - Dst: curlx_base64_decode
      Src: /src/curl/lib/http_ntlm.c:79,1
    - Dst: Curl_bufref_init
      Src: /src/curl/lib/http_ntlm.c:83,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/http_ntlm.c:84,1
    - Dst: Curl_auth_decode_ntlm_type2_message
      Src: /src/curl/lib/http_ntlm.c:85,1
    - Dst: Curl_bufref_free
      Src: /src/curl/lib/http_ntlm.c:86,1
    - Dst: infof
      Src: /src/curl/lib/http_ntlm.c:95,1
    - Dst: Curl_auth_ntlm_remove
      Src: /src/curl/lib/http_ntlm.c:96,1
    - Dst: infof
      Src: /src/curl/lib/http_ntlm.c:99,1
    - Dst: Curl_auth_ntlm_remove
      Src: /src/curl/lib/http_ntlm.c:100,1
    - Dst: infof
      Src: /src/curl/lib/http_ntlm.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - data
    - proxy
    - header
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 114
    functionName: Curl_input_ntlm
    functionSourceFile: /src/curl/lib/http_ntlm.c
    functionUses: 1
    functionsReached:
    - Curl_bufref_set
    - curlx_str_passblanks
    - strlen
    - Curl_auth_ntlm_get
    - Curl_bufref_free
    - Curl_auth_decode_ntlm_type2_message
    - curlx_base64_decode
    - Curl_auth_ntlm_remove
    - Curl_bufref_init
    - infof
    - checkprefix
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_input_ntlm(struct Curl_easy *data,\n                         bool
      proxy,         /* if proxy or not */\n                         const char *header)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_ntlm.c:142,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_ntlm.c:143,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/curl/lib/http_ntlm.c:169,1
    - Dst: Curl_sspi_global_init
      Src: /src/curl/lib/http_ntlm.c:184,1
    - Dst: Curl_bufref_init
      Src: /src/curl/lib/http_ntlm.c:193,1
    - Dst: Curl_auth_create_ntlm_type1_message
      Src: /src/curl/lib/http_ntlm.c:204,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_ntlm.c:207,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/http_ntlm.c:207,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/http_ntlm.c:208,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/http_ntlm.c:208,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/http_ntlm.c:209,1
    - Dst: free
      Src: /src/curl/lib/http_ntlm.c:211,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_ntlm.c:212,1
    - Dst: free
      Src: /src/curl/lib/http_ntlm.c:215,1
    - Dst: Curl_auth_create_ntlm_type3_message
      Src: /src/curl/lib/http_ntlm.c:224,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/http_ntlm.c:226,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/http_ntlm.c:227,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/http_ntlm.c:227,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/http_ntlm.c:228,1
    - Dst: free
      Src: /src/curl/lib/http_ntlm.c:230,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_ntlm.c:231,1
    - Dst: free
      Src: /src/curl/lib/http_ntlm.c:234,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http_ntlm.c:252,1
    - Dst: Curl_bufref_free
      Src: /src/curl/lib/http_ntlm.c:256,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 2
    argNames:
    - data
    - proxy
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 259
    functionName: Curl_output_ntlm
    functionSourceFile: /src/curl/lib/http_ntlm.c
    functionUses: 1
    functionsReached:
    - Curl_safefree
    - Curl_auth_create_ntlm_type3_message
    - Curl_auth_ntlm_get
    - curlx_base64_encode
    - Curl_bufref_free
    - Curl_bufref_len
    - curl_maprintf
    - Curl_bufref_ptr
    - Curl_sspi_global_init
    - free
    - Curl_auth_create_ntlm_type1_message
    - Curl_bufref_init
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_output_ntlm(struct Curl_easy *data, bool proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: strdup
    functionSourceFile: /src/curl/lib/memdebug.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: malloc
    functionSourceFile: /src/curl/lib/memdebug.h
    functionUses: 71
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: malloc(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nbelem
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: calloc
    functionSourceFile: /src/curl/lib/memdebug.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calloc(nbelem,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: realloc
    functionSourceFile: /src/curl/lib/memdebug.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: realloc(ptr,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: free
    functionSourceFile: /src/curl/lib/memdebug.h
    functionUses: 364
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: Curl_tcsdup
    functionSourceFile: /src/curl/lib/memdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_tcsdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Curl_tcsdup
    functionSourceFile: /src/curl/lib/memdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_tcsdup(ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - DOHcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: doh_strerror
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *doh_strerror(DOHcode code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/doh.c:85,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:112,1
    - Dst: strchr
      Src: /src/curl/lib/doh.c:139,1
    - Dst: strlen
      Src: /src/curl/lib/doh.c:143,1
    - Dst: memcpy
      Src: /src/curl/lib/doh.c:151,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 5
    argNames:
    - host
    - dnstype
    - dnsp
    - len
    - olen
    argTypes:
    - char*
    - DNStype
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 174
    functionName: doh_req_encode
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 2
    functionsReached:
    - memcpy
    - strlen
    - DEBUGASSERT
    - strchr
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST doh_req_encode(const char *host,\n                                DNStype
      dnstype,\n                                unsigned char *dnsp, /* buffer */\n
      \                               size_t len,  /* buffer size */\n                                size_t
      *olen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/doh.c:181,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/doh.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - userp
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: doh_probe_write_cb
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - Curl_meta_get
    linkageType: ''
    returnType: size_t
    signature: size_t doh_probe_write_cb(char *contents, size_t size, size_t nmemb,
      void *userp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hexencode
      Src: /src/curl/lib/doh.c:206,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:208,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - data
    - prefix
    - buf
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: doh_print_buf
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - Curl_hexencode
    - infof
    linkageType: ''
    returnType: void
    signature: "void doh_print_buf(struct Curl_easy *data,\n                          const
      char *prefix,\n                          unsigned char *buf, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:223,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/doh.c:225,1
    - Dst: failf
      Src: /src/curl/lib/doh.c:233,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:238,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:242,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/doh.c:246,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/doh.c:247,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/doh.c:248,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/doh.c:249,1
    - Dst: Curl_meta_remove
      Src: /src/curl/lib/doh.c:251,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:255,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/doh.c:255,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/doh.c:259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - data
    - doh
    - result
    argTypes:
    - struct Curl_easy*
    - struct Curl_easy*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 262
    functionName: doh_probe_done
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - failf
    - curl_easy_strerror
    - Curl_meta_get
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_dyn_len
    - Curl_meta_remove
    - infof
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: void
    signature: "void doh_probe_done(struct Curl_easy *data,\n                           struct
      Curl_easy *doh, CURLcode result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/doh.c:270,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/doh.c:271,1
    - Dst: free
      Src: /src/curl/lib/doh.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - klen
    - e
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: doh_probe_dtor
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void doh_probe_dtor(void *key, size_t klen, void *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: ERROR_CHECK_SETOPT
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERROR_CHECK_SETOPT(x,y)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/doh.c:299,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/doh.c:303,1
    - Dst: doh_req_encode
      Src: /src/curl/lib/doh.c:305,1
    - Dst: failf
      Src: /src/curl/lib/doh.c:309,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/doh.c:314,1
    - Dst: curl_slist_append
      Src: /src/curl/lib/doh.c:321,1
    - Dst: Curl_open
      Src: /src/curl/lib/doh.c:328,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:337,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:338,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:339,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:340,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:341,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:342,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:343,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:345,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:346,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:350,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:353,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:355,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:356,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:358,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/doh.c:359,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:360,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:362,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:364,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:366,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:368,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:383,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:387,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:391,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:395,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:399,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:401,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:403,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:405,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:407,1
    - Dst: ERROR_CHECK_SETOPT
      Src: /src/curl/lib/doh.c:409,1
    - Dst: curl_easy_setopt
      Src: /src/curl/lib/doh.c:413,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/doh.c:419,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:428,1
    - Dst: curl_multi_add_handle
      Src: /src/curl/lib/doh.c:430,1
    - Dst: Curl_close
      Src: /src/curl/lib/doh.c:437,1
    - Dst: doh_probe_dtor
      Src: /src/curl/lib/doh.c:439,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 101
    argCount: 6
    argNames:
    - data
    - dnstype
    - host
    - url
    - multi
    - pmid
    argTypes:
    - struct Curl_easy*
    - DNStype
    - char*
    - char*
    - CURLM*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 441
    functionName: doh_probe_run
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - Curl_meta_set
    - calloc
    - doh_req_encode
    - failf
    - Curl_timeleft
    - doh_probe_dtor
    - curl_slist_append
    - curlx_dyn_init
    - Curl_open
    - curl_multi_add_handle
    - Curl_close
    - ERROR_CHECK_SETOPT
    - curl_easy_setopt
    - DEBUGASSERT
    - Curl_trc_ft_is_verbose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode doh_probe_run(struct Curl_easy *data,\n                              DNStype
      dnstype,\n                              const char *host,\n                              const
      char *url, CURLM *multi,\n                              unsigned int *pmid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:459,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:460,1
    - Dst: Curl_doh_cleanup
      Src: /src/curl/lib/doh.c:462,1
    - Dst: strdup
      Src: /src/curl/lib/doh.c:467,1
    - Dst: calloc
      Src: /src/curl/lib/doh.c:472,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/doh.c:478,1
    - Dst: doh_probe_run
      Src: /src/curl/lib/doh.c:489,1
    - Dst: Curl_ipv6works
      Src: /src/curl/lib/doh.c:498,1
    - Dst: doh_probe_run
      Src: /src/curl/lib/doh.c:500,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/doh.c:515,1
    - Dst: doh_probe_run
      Src: /src/curl/lib/doh.c:519,1
    - Dst: free
      Src: /src/curl/lib/doh.c:523,1
    - Dst: Curl_doh_cleanup
      Src: /src/curl/lib/doh.c:533,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - waitp
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 448
    functionDepth: 6
    functionLinenumber: 448
    functionLinenumberEnd: 535
    functionName: Curl_doh
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - calloc
    - strdup
    - doh_probe_run
    - free
    - Curl_doh_cleanup
    - curlx_dyn_init
    - Curl_ipv6works
    - DEBUGASSERT
    - curl_maprintf
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_doh(struct Curl_easy *data,\n                               const
      char *hostname,\n                               int port,\n                               int
      ip_version,\n                               int *waitp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - doh
    - dohlen
    - indexp
    argTypes:
    - unsigned char*
    - size_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 559
    functionName: doh_skipqname
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DOHcode
    signature: "DOHcode doh_skipqname(const unsigned char *doh, size_t dohlen,\n                             unsigned
      int *indexp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doh
    - index
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: doh_get16bit
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: "unsigned short doh_get16bit(const unsigned char *doh,\n                                   unsigned
      int index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - doh
    - index
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 578
    functionName: doh_get32bit
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int doh_get32bit(const unsigned char *doh, unsigned int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/doh.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - doh
    - index
    - d
    argTypes:
    - unsigned char*
    - int
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: doh_store_a
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void doh_store_a(const unsigned char *doh, int index,\n                        struct
      dohentry *d)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/doh.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - doh
    - index
    - d
    argTypes:
    - unsigned char*
    - int
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 602
    functionName: doh_store_aaaa
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void doh_store_aaaa(const unsigned char *doh, int index,\n                           struct
      dohentry *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_memdup
      Src: /src/curl/lib/doh.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - doh
    - index
    - d
    - len
    argTypes:
    - unsigned char*
    - int
    - struct dohentry*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 618
    functionName: doh_store_https
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - Curl_memdup
    linkageType: ''
    returnType: DOHcode
    signature: "DOHcode doh_store_https(const unsigned char *doh, int index,\n                               struct
      dohentry *d, uint16_t len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/doh.c:653,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/doh.c:654,1
    - Dst: STRCONST
      Src: /src/curl/lib/doh.c:654,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/doh.c:660,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - doh
    - dohlen
    - index
    - d
    argTypes:
    - unsigned char*
    - size_t
    - unsigned int
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 669
    functionName: doh_store_cname
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - STRCONST
    - curlx_dyn_len
    linkageType: ''
    returnType: DOHcode
    signature: "DOHcode doh_store_cname(const unsigned char *doh, size_t dohlen,\n
      \                              unsigned int index, struct dohentry *d)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: doh_store_a
      Src: /src/curl/lib/doh.c:689,1
    - Dst: doh_store_aaaa
      Src: /src/curl/lib/doh.c:694,1
    - Dst: doh_store_https
      Src: /src/curl/lib/doh.c:698,1
    - Dst: doh_store_cname
      Src: /src/curl/lib/doh.c:704,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - doh
    - dohlen
    - rdlength
    - type
    - index
    - d
    argTypes:
    - unsigned char*
    - size_t
    - unsigned short
    - unsigned short
    - int
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 716
    functionName: doh_rdata
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - doh_store_cname
    - doh_store_https
    - doh_store_aaaa
    - doh_store_a
    linkageType: ''
    returnType: DOHcode
    signature: "DOHcode doh_rdata(const unsigned char *doh,\n                         size_t
      dohlen,\n                         unsigned short rdlength,\n                         unsigned
      short type,\n                         int index,\n                         struct
      dohentry *d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/doh.c:721,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/doh.c:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 725
    functionName: de_init
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_init
    - memset
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST de_init(struct dohentry *de)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:751,1
    - Dst: doh_skipqname
      Src: /src/curl/lib/doh.c:753,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:762,1
    - Dst: doh_skipqname
      Src: /src/curl/lib/doh.c:767,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:774,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:784,1
    - Dst: doh_get32bit
      Src: /src/curl/lib/doh.c:792,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:800,1
    - Dst: doh_rdata
      Src: /src/curl/lib/doh.c:805,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:812,1
    - Dst: doh_skipqname
      Src: /src/curl/lib/doh.c:814,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:826,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:834,1
    - Dst: doh_skipqname
      Src: /src/curl/lib/doh.c:836,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:848,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 94
    argCount: 4
    argNames:
    - doh
    - dohlen
    - dnstype
    - d
    argTypes:
    - unsigned char*
    - size_t
    - DNStype
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 869
    functionName: doh_resp_decode
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - doh_get16bit
    - doh_rdata
    - doh_skipqname
    - doh_get32bit
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST doh_resp_decode(const unsigned char *doh,\n                                 size_t
      dohlen,\n                                 DNStype dnstype,\n                                 struct
      dohentry *d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/doh.c:876,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:880,1
    - Dst: strlen
      Src: /src/curl/lib/doh.c:887,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/doh.c:892,1
    - Dst: strlen
      Src: /src/curl/lib/doh.c:895,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:899,1
    - Dst: doh_print_buf
      Src: /src/curl/lib/doh.c:905,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:908,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:913,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/doh.c:913,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - data
    - d
    argTypes:
    - struct Curl_easy*
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 872
    functionDepth: 6
    functionLinenumber: 872
    functionLinenumberEnd: 915
    functionName: doh_show
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - strlen
    - doh_print_buf
    - curl_msnprintf
    - infof
    - curlx_dyn_ptr
    linkageType: ''
    returnType: void
    signature: "void doh_show(struct Curl_easy *data,\n                     const
      struct dohentry *d)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/doh.c:945,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:947,1
    - Dst: calloc
      Src: /src/curl/lib/doh.c:969,1
    - Dst: memcpy
      Src: /src/curl/lib/doh.c:976,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:999,1
    - Dst: memcpy
      Src: /src/curl/lib/doh.c:1000,1
    - Dst: htons
      Src: /src/curl/lib/doh.c:1002,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:1008,1
    - Dst: memcpy
      Src: /src/curl/lib/doh.c:1009,1
    - Dst: htons
      Src: /src/curl/lib/doh.c:1011,1
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/doh.c:1020,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 4
    argNames:
    - de
    - hostname
    - port
    - aip
    argTypes:
    - struct dohentry*
    - char*
    - int
    - struct Curl_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1026
    functionName: doh2ai
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    - memcpy
    - Curl_freeaddrinfo
    - htons
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode doh2ai(const struct dohentry *de, const char *hostname,\n
      \                      int port, struct Curl_addrinfo **aip)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - dnstype
    argTypes:
    - DNStype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1043
    functionName: doh_type2name
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *doh_type2name(DNStype dnstype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/doh.c:1050,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/doh.c:1054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dohentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1056
    functionName: de_cleanup
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 2
    functionsReached:
    - curlx_dyn_free
    - Curl_safefree
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST de_cleanup(struct dohentry *d)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:1082,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/doh.c:1085,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/doh.c:1091,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/doh.c:1096,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/doh.c:1099,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/doh.c:1100,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/doh.c:1106,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/doh.c:1113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - remaining
    - dnsname
    argTypes:
    - unsigned char**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1115
    functionName: doh_decode_rdata_name
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_dyn_init
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode doh_decode_rdata_name(const unsigned char **buf,\n                                      size_t
      *remaining, char **dnsname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/doh.c:1136,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:1139,1
    - Dst: doh_decode_rdata_name
      Src: /src/curl/lib/doh.c:1142,1
    - Dst: Curl_junkscan
      Src: /src/curl/lib/doh.c:1145,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:1152,1
    - Dst: doh_get16bit
      Src: /src/curl/lib/doh.c:1153,1
    - Dst: Curl_httpsrr_set
      Src: /src/curl/lib/doh.c:1160,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:1167,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/curl/lib/doh.c:1171,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/doh.c:1172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - data
    - cp
    - len
    - hrr
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    - struct Curl_https_rrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1122
    functionDepth: 2
    functionLinenumber: 1122
    functionLinenumberEnd: 1174
    functionName: doh_resp_decode_httpsrr
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - Curl_httpsrr_cleanup
    - Curl_safefree
    - calloc
    - doh_decode_rdata_name
    - doh_get16bit
    - Curl_junkscan
    - DEBUGASSERT
    - Curl_httpsrr_set
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST doh_resp_decode_httpsrr(struct Curl_easy *data,\n                                          const
      unsigned char *cp, size_t len,\n                                          struct
      Curl_https_rrinfo **hrr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:1183,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1184,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1187,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1190,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1192,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1194,1
    - Dst: doh_print_buf
      Src: /src/curl/lib/doh.c:1196,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1200,1
    - Dst: doh_print_buf
      Src: /src/curl/lib/doh.c:1202,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1206,1
    - Dst: doh_print_buf
      Src: /src/curl/lib/doh.c:1208,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - data
    - hrr
    argTypes:
    - struct Curl_easy*
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1214
    functionName: doh_print_httpsrr
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGASSERT
    - doh_print_buf
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST doh_print_httpsrr(struct Curl_easy *data,\n                                struct
      Curl_https_rrinfo *hrr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/doh.c:1229,1
    - Dst: CONN_IS_PROXIED
      Src: /src/curl/lib/doh.c:1230,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/doh.c:1239,1
    - Dst: memset
      Src: /src/curl/lib/doh.c:1241,1
    - Dst: Curl_doh_close
      Src: /src/curl/lib/doh.c:1243,1
    - Dst: de_init
      Src: /src/curl/lib/doh.c:1245,1
    - Dst: doh_resp_decode
      Src: /src/curl/lib/doh.c:1250,1
    - Dst: curlx_dyn_uptr
      Src: /src/curl/lib/doh.c:1250,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/doh.c:1251,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/doh.c:1255,1
    - Dst: doh_strerror
      Src: /src/curl/lib/doh.c:1255,1
    - Dst: doh_type2name
      Src: /src/curl/lib/doh.c:1256,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/doh.c:1268,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/doh.c:1269,1
    - Dst: doh_show
      Src: /src/curl/lib/doh.c:1270,1
    - Dst: doh2ai
      Src: /src/curl/lib/doh.c:1273,1
    - Dst: de_cleanup
      Src: /src/curl/lib/doh.c:1275,1
    - Dst: Curl_dnscache_mk_entry
      Src: /src/curl/lib/doh.c:1280,1
    - Dst: doh_resp_decode_httpsrr
      Src: /src/curl/lib/doh.c:1286,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1289,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1292,1
    - Dst: doh_print_httpsrr
      Src: /src/curl/lib/doh.c:1294,1
    - Dst: Curl_dnscache_add
      Src: /src/curl/lib/doh.c:1301,1
    - Dst: de_cleanup
      Src: /src/curl/lib/doh.c:1308,1
    - Dst: Curl_doh_cleanup
      Src: /src/curl/lib/doh.c:1309,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - data
    - dnsp
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1218
    functionDepth: 7
    functionLinenumber: 1218
    functionLinenumberEnd: 1316
    functionName: Curl_doh_is_resolved
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - doh_type2name
    - doh_resp_decode
    - Curl_dnscache_add
    - doh_show
    - failf
    - doh2ai
    - de_cleanup
    - curlx_dyn_len
    - Curl_dnscache_mk_entry
    - Curl_trc_ft_is_verbose
    - CURL_TRC_DNS
    - CONN_IS_PROXIED
    - Curl_doh_cleanup
    - doh_strerror
    - doh_resp_decode_httpsrr
    - Curl_doh_close
    - de_init
    - Curl_resolv_unlink
    - curlx_dyn_uptr
    - doh_print_httpsrr
    - memset
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_doh_is_resolved(struct Curl_easy *data,\n                              struct
      Curl_dns_entry **dnsp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/doh.c:1331,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/doh.c:1332,1
    - Dst: DEBUGF
      Src: /src/curl/lib/doh.c:1335,1
    - Dst: infof
      Src: /src/curl/lib/doh.c:1335,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/lib/doh.c:1340,1
    - Dst: Curl_close
      Src: /src/curl/lib/doh.c:1341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1345
    functionName: Curl_doh_close
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 1
    functionsReached:
    - Curl_multi_get_easy
    - DEBUGF
    - curl_multi_remove_handle
    - Curl_close
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_doh_close(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_doh_close
      Src: /src/curl/lib/doh.c:1352,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/doh.c:1354,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/doh.c:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1347
    functionDepth: 2
    functionLinenumber: 1347
    functionLinenumberEnd: 1358
    functionName: Curl_doh_cleanup
    functionSourceFile: /src/curl/lib/doh.c
    functionUses: 2
    functionsReached:
    - curlx_dyn_free
    - Curl_doh_close
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_doh_cleanup(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/parsedate.c:225,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/parsedate.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - check
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: checkday
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_strnequal
    linkageType: ''
    returnType: int
    signature: int checkday(const char *check, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/parsedate.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - check
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionName: checkmonth
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: int
    signature: int checkmonth(const char *check, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/parsedate.c:259,1
    - Dst: strlen
      Src: /src/curl/lib/parsedate.c:260,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/parsedate.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - check
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: checktz
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_strnequal
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: int
    signature: int checktz(const char *check, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/curl/lib/parsedate.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - date
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: skip
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 1
    functionsReached:
    - ISALNUM
    linkageType: ''
    returnType: void
    signature: void skip(const char **date)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - sec
    - min
    - hour
    - mday
    - mon
    - year
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: time2epoch
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: "time_t time2epoch(int sec, int min, int hour,\n                         int
      mday, int mon, int year)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/curl/lib/parsedate.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - date
    - endp
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: oneortwodigit
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    linkageType: ''
    returnType: int
    signature: int oneortwodigit(const char *date, const char **endp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: oneortwodigit
      Src: /src/curl/lib/parsedate.c:320,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/parsedate.c:321,1
    - Dst: oneortwodigit
      Src: /src/curl/lib/parsedate.c:322,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/parsedate.c:324,1
    - Dst: oneortwodigit
      Src: /src/curl/lib/parsedate.c:325,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/parsedate.c:342,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - date
    - h
    - m
    - s
    - endp
    argTypes:
    - char*
    - int*
    - int*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 344
    functionName: match_time
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - oneortwodigit
    - CURL_UNCONST
    linkageType: ''
    returnType: bool
    signature: "bool match_time(const char *date,\n                       int *h,
      int *m, int *s, char **endp)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/curl/lib/parsedate.c:378,1
    - Dst: ISALPHA
      Src: /src/curl/lib/parsedate.c:380,1
    - Dst: ISALPHA
      Src: /src/curl/lib/parsedate.c:384,1
    - Dst: checkday
      Src: /src/curl/lib/parsedate.c:391,1
    - Dst: checkmonth
      Src: /src/curl/lib/parsedate.c:396,1
    - Dst: checktz
      Src: /src/curl/lib/parsedate.c:403,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/parsedate.c:413,1
    - Dst: match_time
      Src: /src/curl/lib/parsedate.c:418,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/parsedate.c:426,1
    - Dst: time2epoch
      Src: /src/curl/lib/parsedate.c:547,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 107
    argCount: 2
    argNames:
    - date
    - output
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 563
    functionName: parsedate
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 0
    functionsReached:
    - checktz
    - skip
    - checkmonth
    - curlx_str_number
    - checkday
    - ISDIGIT
    - time2epoch
    - match_time
    - ISALPHA
    linkageType: ''
    returnType: int
    signature: int parsedate(const char *date, time_t *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - date
    - output
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 571
    functionName: parsedate
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parsedate(const char *date, time_t *output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parsedate
      Src: /src/curl/lib/parsedate.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - now
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: curl_getdate
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 3
    functionsReached:
    - parsedate
    linkageType: ''
    returnType: time_t
    signature: time_t curl_getdate(const char *p, const time_t *now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parsedate
      Src: /src/curl/lib/parsedate.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - tp
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: Curl_getdate_capped
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 2
    functionsReached:
    - parsedate
    linkageType: ''
    returnType: int
    signature: int Curl_getdate_capped(const char *p, time_t *tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/curl/lib/parsedate.c:611,1
    - Dst: gmtime
      Src: /src/curl/lib/parsedate.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - intime
    - store
    argTypes:
    - time_t
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 622
    functionName: Curl_gmtime
    functionSourceFile: /src/curl/lib/parsedate.c
    functionUses: 3
    functionsReached:
    - gmtime_r
    - gmtime
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_gmtime(time_t intime, struct tm *store)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:268,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/smtp.c:272,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/smtp.c:277,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/smtp.c:277,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/smtp.c:277,1
    - Dst: memcpy
      Src: /src/curl/lib/smtp.c:289,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/smtp.c:291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - data
    - conn
    - line
    - len
    - resp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 307
    functionName: smtp_endofresp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - memcpy
    - curlx_str_number
    - ISDIGIT
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool smtp_endofresp(struct Curl_easy *data, struct connectdata *conn,\n
      \                          const char *line, size_t len, int *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:318,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/smtp.c:325,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/smtp.c:341,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/smtp.c:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - data
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 348
    functionName: smtp_get_message
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - curlx_dyn_ptr
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_get_message(struct Curl_easy *data, struct bufref *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_SMTP
      Src: /src/curl/lib/smtp.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - smtpc
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 387
    functionName: smtp_state
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SMTP
    linkageType: ''
    returnType: void
    signature: "void smtp_state(struct Curl_easy *data,\n                       struct
      smtp_conn *smtpc,\n                       smtpstate newstate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:408,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 414
    functionName: smtp_perform_ehlo
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_sendf
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_ehlo(struct Curl_easy *data,\n                                  struct
      smtp_conn *smtpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:431,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 437
    functionName: smtp_perform_helo
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_sendf
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_helo(struct Curl_easy *data,\n                                  struct
      smtp_conn *smtpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:449,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: smtp_perform_starttls
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_sendf
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_starttls(struct Curl_easy *data,\n                                      struct
      smtp_conn *smtpc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/smtp.c:472,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/smtp.c:473,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/curl/lib/smtp.c:474,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/smtp.c:481,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/smtp.c:482,1
    - Dst: DEBUGF
      Src: /src/curl/lib/smtp.c:483,1
    - Dst: infof
      Src: /src/curl/lib/smtp.c:483,1
    - Dst: smtp_perform_ehlo
      Src: /src/curl/lib/smtp.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 497
    functionName: smtp_perform_upgrade_tls
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - Curl_conn_is_ssl
    - Curl_ssl_cfilter_add
    - Curl_conn_connect
    - infof
    - DEBUGASSERT
    - smtp_perform_ehlo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_upgrade_tls(struct Curl_easy *data,\n                                         struct
      smtp_conn *smtpc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:512,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/smtp.c:513,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:520,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - mech
    - initresp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 528
    functionName: smtp_perform_auth
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_ptr
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_auth(struct Curl_easy *data,\n                                  const
      char *mech,\n                                  const struct bufref *initresp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:541,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:546,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/smtp.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - mech
    - resp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: smtp_continue_auth
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_ptr
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_continue_auth(struct Curl_easy *data,\n                                   const
      char *mech,\n                                   const struct bufref *resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:559,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - mech
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 565
    functionName: smtp_cancel_auth
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_cancel_auth(struct Curl_easy *data, const char *mech)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sasl_can_authenticate
      Src: /src/curl/lib/smtp.c:583,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:584,1
    - Dst: Curl_sasl_start
      Src: /src/curl/lib/smtp.c:589,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:593,1
    - Dst: Curl_sasl_is_blocked
      Src: /src/curl/lib/smtp.c:595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 599
    functionName: smtp_perform_authentication
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_can_authenticate
    - Curl_sasl_start
    - Curl_sasl_is_blocked
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_authentication(struct Curl_easy *data,\n                                            struct
      smtp_conn *smtpc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: smtp_parse_address
      Src: /src/curl/lib/smtp.c:627,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/smtp.c:635,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/smtp.c:636,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:640,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/curl/lib/smtp.c:646,1
    - Dst: free
      Src: /src/curl/lib/smtp.c:647,1
    - Dst: strcmp
      Src: /src/curl/lib/smtp.c:652,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:655,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:663,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:668,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - data
    - smtpc
    - smtp
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 671
    functionName: smtp_perform_command
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_parse_address
    - Curl_pp_sendf
    - Curl_is_ASCII_name
    - Curl_free_idnconverted_hostname
    - smtp_state
    - free
    - strcmp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_command(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     struct SMTP *smtp)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: smtp_parse_address
      Src: /src/curl/lib/smtp.c:702,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/smtp.c:710,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/smtp.c:711,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/smtp.c:714,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/curl/lib/smtp.c:716,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/smtp.c:721,1
    - Dst: free
      Src: /src/curl/lib/smtp.c:723,1
    - Dst: strdup
      Src: /src/curl/lib/smtp.c:727,1
    - Dst: smtp_parse_address
      Src: /src/curl/lib/smtp.c:743,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/smtp.c:751,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/smtp.c:752,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/smtp.c:756,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/curl/lib/smtp.c:758,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/smtp.c:763,1
    - Dst: free
      Src: /src/curl/lib/smtp.c:764,1
    - Dst: strdup
      Src: /src/curl/lib/smtp.c:768,1
    - Dst: curl_mime_headers
      Src: /src/curl/lib/smtp.c:783,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/curl/lib/smtp.c:784,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/smtp.c:788,1
    - Dst: STRCONST
      Src: /src/curl/lib/smtp.c:788,1
    - Dst: Curl_mime_add_header
      Src: /src/curl/lib/smtp.c:789,1
    - Dst: Curl_creader_set_mime
      Src: /src/curl/lib/smtp.c:793,1
    - Dst: Curl_creader_total_length
      Src: /src/curl/lib/smtp.c:796,1
    - Dst: Curl_creader_set_fread
      Src: /src/curl/lib/smtp.c:801,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/smtp.c:808,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/smtp.c:825,1
    - Dst: cr_eob_add
      Src: /src/curl/lib/smtp.c:833,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:838,1
    - Dst: free
      Src: /src/curl/lib/smtp.c:849,1
    - Dst: free
      Src: /src/curl/lib/smtp.c:850,1
    - Dst: free
      Src: /src/curl/lib/smtp.c:851,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:854,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 89
    argCount: 3
    argNames:
    - data
    - smtpc
    - smtp
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 679
    functionDepth: 6
    functionLinenumber: 679
    functionLinenumberEnd: 857
    functionName: smtp_perform_mail
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_creader_total_length
    - STRCONST
    - smtp_parse_address
    - Curl_mime_add_header
    - Curl_creader_set_fread
    - Curl_pp_sendf
    - Curl_is_ASCII_name
    - strdup
    - Curl_checkheaders
    - cr_eob_add
    - Curl_free_idnconverted_hostname
    - Curl_mime_prepare_headers
    - free
    - smtp_state
    - curl_mime_headers
    - curl_maprintf
    - Curl_creader_set_mime
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_mail(struct Curl_easy *data,\n                                  struct
      smtp_conn *smtpc,\n                                  struct SMTP *smtp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smtp_parse_address
      Src: /src/curl/lib/smtp.c:877,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:884,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:889,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/curl/lib/smtp.c:892,1
    - Dst: free
      Src: /src/curl/lib/smtp.c:893,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - smtpc
    - smtp
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 866
    functionDepth: 3
    functionLinenumber: 866
    functionLinenumberEnd: 899
    functionName: smtp_perform_rcpt_to
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_parse_address
    - Curl_pp_sendf
    - Curl_free_idnconverted_hostname
    - smtp_state
    - free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_rcpt_to(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     struct SMTP *smtp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:911,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 907
    functionDepth: 3
    functionLinenumber: 907
    functionLinenumberEnd: 917
    functionName: smtp_perform_quit
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_sendf
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform_quit(struct Curl_easy *data,\n                                  struct
      smtp_conn *smtpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/smtp.c:929,1
    - Dst: smtp_perform_ehlo
      Src: /src/curl/lib/smtp.c:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 920
    functionDepth: 4
    functionLinenumber: 920
    functionLinenumberEnd: 936
    functionName: smtp_state_servergreet_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - failf
    - smtp_perform_ehlo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_servergreet_resp(struct Curl_easy *data,\n                                            struct
      smtp_conn *smtpc,\n                                            int smtpcode,\n
      \                                           smtpstate instate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/smtp.c:953,1
    - Dst: smtp_perform_authentication
      Src: /src/curl/lib/smtp.c:957,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 939
    functionDepth: 3
    functionLinenumber: 939
    functionLinenumberEnd: 963
    functionName: smtp_state_starttls_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - failf
    - smtp_perform_authentication
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_starttls_resp(struct Curl_easy *data,\n                                         struct
      smtp_conn *smtpc,\n                                         int smtpcode,\n
      \                                        smtpstate instate)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/smtp.c:972,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/smtp.c:979,1
    - Dst: smtp_perform_helo
      Src: /src/curl/lib/smtp.c:980,1
    - Dst: failf
      Src: /src/curl/lib/smtp.c:982,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/smtp.c:991,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/smtp.c:995,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/smtp.c:999,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/smtp.c:1003,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/curl/lib/smtp.c:1034,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/smtp.c:1044,1
    - Dst: smtp_perform_starttls
      Src: /src/curl/lib/smtp.c:1048,1
    - Dst: smtp_perform_authentication
      Src: /src/curl/lib/smtp.c:1051,1
    - Dst: failf
      Src: /src/curl/lib/smtp.c:1053,1
    - Dst: smtp_perform_authentication
      Src: /src/curl/lib/smtp.c:1058,1
    - Dst: failf
      Src: /src/curl/lib/smtp.c:1062,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 55
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 966
    functionDepth: 4
    functionLinenumber: 966
    functionLinenumberEnd: 1067
    functionName: smtp_state_ehlo_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - failf
    - smtp_perform_helo
    - Curl_conn_is_ssl
    - smtp_perform_starttls
    - Curl_sasl_decode_mech
    - smtp_perform_authentication
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_ehlo_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/smtp.c:1079,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1087
    functionName: smtp_state_helo_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - failf
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_helo_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sasl_continue
      Src: /src/curl/lib/smtp.c:1100,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1104,1
    - Dst: failf
      Src: /src/curl/lib/smtp.c:1107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1115
    functionName: smtp_state_auth_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_continue
    - failf
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_auth_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/smtp.c:1125,1
    - Dst: failf
      Src: /src/curl/lib/smtp.c:1132,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/smtp.c:1137,1
    - Dst: smtp_perform_command
      Src: /src/curl/lib/smtp.c:1145,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1149,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - data
    - smtpc
    - smtp
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1118
    functionDepth: 4
    functionLinenumber: 1118
    functionLinenumberEnd: 1158
    functionName: smtp_state_command_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_client_write
    - smtp_state
    - smtp_perform_command
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_command_resp(struct Curl_easy *data,\n                                        struct
      smtp_conn *smtpc,\n                                        struct SMTP *smtp,\n
      \                                       int smtpcode,\n                                        smtpstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/smtp.c:1171,1
    - Dst: smtp_perform_rcpt_to
      Src: /src/curl/lib/smtp.c:1176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - data
    - smtpc
    - smtp
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1161
    functionDepth: 4
    functionLinenumber: 1161
    functionLinenumberEnd: 1179
    functionName: smtp_state_mail_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - failf
    - smtp_perform_rcpt_to
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_mail_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     struct SMTP *smtp,\n
      \                                    int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/smtp.c:1206,1
    - Dst: smtp_perform_rcpt_to
      Src: /src/curl/lib/smtp.c:1220,1
    - Dst: failf
      Src: /src/curl/lib/smtp.c:1225,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/smtp.c:1230,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - data
    - smtpc
    - smtp
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1182
    functionDepth: 4
    functionLinenumber: 1182
    functionLinenumberEnd: 1239
    functionName: smtp_state_rcpt_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - failf
    - smtp_perform_rcpt_to
    - smtp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_rcpt_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     struct SMTP *smtp,\n
      \                                    int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/smtp.c:1251,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/smtp.c:1256,1
    - Dst: Curl_xfer_setup_send
      Src: /src/curl/lib/smtp.c:1259,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1242
    functionDepth: 3
    functionLinenumber: 1242
    functionLinenumberEnd: 1266
    functionName: smtp_state_data_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_send
    - failf
    - Curl_pgrsSetUploadSize
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_data_resp(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     int smtpcode,\n                                     smtpstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - int
    - smtpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1286
    functionName: smtp_state_postdata_resp
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_state_postdata_resp(struct Curl_easy *data,\n                                         struct
      smtp_conn *smtpc,\n                                         int smtpcode,\n
      \                                        smtpstate instate)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:1293,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/smtp.c:1294,1
    - Dst: smtp_perform_upgrade_tls
      Src: /src/curl/lib/smtp.c:1303,1
    - Dst: Curl_pp_flushsend
      Src: /src/curl/lib/smtp.c:1310,1
    - Dst: Curl_pp_readresp
      Src: /src/curl/lib/smtp.c:1314,1
    - Dst: smtp_state_servergreet_resp
      Src: /src/curl/lib/smtp.c:1329,1
    - Dst: smtp_state_ehlo_resp
      Src: /src/curl/lib/smtp.c:1334,1
    - Dst: smtp_state_helo_resp
      Src: /src/curl/lib/smtp.c:1338,1
    - Dst: smtp_state_starttls_resp
      Src: /src/curl/lib/smtp.c:1342,1
    - Dst: smtp_state_auth_resp
      Src: /src/curl/lib/smtp.c:1350,1
    - Dst: smtp_state_command_resp
      Src: /src/curl/lib/smtp.c:1354,1
    - Dst: smtp_state_mail_resp
      Src: /src/curl/lib/smtp.c:1359,1
    - Dst: smtp_state_rcpt_resp
      Src: /src/curl/lib/smtp.c:1363,1
    - Dst: smtp_state_data_resp
      Src: /src/curl/lib/smtp.c:1367,1
    - Dst: smtp_state_postdata_resp
      Src: /src/curl/lib/smtp.c:1371,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1377,1
    - Dst: Curl_pp_moredata
      Src: /src/curl/lib/smtp.c:1381,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 61
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1288
    functionDepth: 5
    functionLinenumber: 1288
    functionLinenumberEnd: 1384
    functionName: smtp_pp_statemachine
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_state_servergreet_resp
    - Curl_pp_readresp
    - smtp_state_starttls_resp
    - smtp_state_auth_resp
    - Curl_conn_meta_get
    - smtp_state_ehlo_resp
    - smtp_state_command_resp
    - smtp_state_mail_resp
    - smtp_state_data_resp
    - smtp_state_postdata_resp
    - Curl_pp_flushsend
    - smtp_state_helo_resp
    - smtp_perform_upgrade_tls
    - smtp_state
    - Curl_pp_moredata
    - smtp_state_rcpt_resp
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_pp_statemachine(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:1391,1
    - Dst: Curl_pp_statemach
      Src: /src/curl/lib/smtp.c:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1387
    functionDepth: 3
    functionLinenumber: 1387
    functionLinenumberEnd: 1400
    functionName: smtp_multi_statemach
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_statemach
      Src: /src/curl/lib/smtp.c:1409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - data
    - smtpc
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1402
    functionDepth: 3
    functionLinenumber: 1402
    functionLinenumberEnd: 1412
    functionName: smtp_block_statemach
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_block_statemach(struct Curl_easy *data,\n                                     struct
      smtp_conn *smtpc,\n                                     bool disconnecting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:1419,1
    - Dst: Curl_pp_pollset
      Src: /src/curl/lib/smtp.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1421
    functionName: smtp_pollset
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_pollset
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:1436,1
    - Dst: connkeep
      Src: /src/curl/lib/smtp.c:1444,1
    - Dst: PINGPONG_SETUP
      Src: /src/curl/lib/smtp.c:1446,1
    - Dst: Curl_sasl_init
      Src: /src/curl/lib/smtp.c:1449,1
    - Dst: Curl_pp_init
      Src: /src/curl/lib/smtp.c:1452,1
    - Dst: smtp_parse_url_options
      Src: /src/curl/lib/smtp.c:1455,1
    - Dst: smtp_parse_url_path
      Src: /src/curl/lib/smtp.c:1460,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1465,1
    - Dst: smtp_multi_statemach
      Src: /src/curl/lib/smtp.c:1467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1433
    functionDepth: 4
    functionLinenumber: 1433
    functionLinenumberEnd: 1470
    functionName: smtp_connect
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - smtp_parse_url_options
    - Curl_sasl_init
    - PINGPONG_SETUP
    - connkeep
    - Curl_conn_meta_get
    - smtp_state
    - smtp_multi_statemach
    - Curl_pp_init
    - smtp_parse_url_path
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_connect(struct Curl_easy *data, bool *done)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:1485,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/smtp.c:1488,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/smtp.c:1498,1
    - Dst: connclose
      Src: /src/curl/lib/smtp.c:1501,1
    - Dst: IS_MIME_POST
      Src: /src/curl/lib/smtp.c:1505,1
    - Dst: smtp_state
      Src: /src/curl/lib/smtp.c:1507,1
    - Dst: smtp_block_statemach
      Src: /src/curl/lib/smtp.c:1510,1
    - Dst: CURL_TRC_SMTP
      Src: /src/curl/lib/smtp.c:1515,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1481
    functionDepth: 4
    functionLinenumber: 1481
    functionLinenumberEnd: 1518
    functionName: smtp_done
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SMTP
    - IS_MIME_POST
    - Curl_safefree
    - smtp_block_statemach
    - Curl_conn_meta_get
    - smtp_state
    - connclose
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_SMTP
      Src: /src/curl/lib/smtp.c:1536,1
    - Dst: IS_MIME_POST
      Src: /src/curl/lib/smtp.c:1560,1
    - Dst: smtp_perform_mail
      Src: /src/curl/lib/smtp.c:1562,1
    - Dst: smtp_perform_command
      Src: /src/curl/lib/smtp.c:1565,1
    - Dst: smtp_multi_statemach
      Src: /src/curl/lib/smtp.c:1571,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/smtp.c:1573,1
    - Dst: CURL_TRC_SMTP
      Src: /src/curl/lib/smtp.c:1576,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - data
    - smtpc
    - smtp
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1527
    functionDepth: 7
    functionLinenumber: 1527
    functionLinenumberEnd: 1579
    functionName: smtp_perform
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SMTP
    - IS_MIME_POST
    - smtp_perform_mail
    - smtp_perform_command
    - smtp_multi_statemach
    - Curl_conn_is_connected
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_perform(struct Curl_easy *data,\n                             struct
      smtp_conn *smtpc,\n                             struct SMTP *smtp,\n                             bool
      *connected,\n                             bool *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:1593,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/smtp.c:1594,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/smtp.c:1597,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/smtp.c:1598,1
    - Dst: smtp_parse_custom_request
      Src: /src/curl/lib/smtp.c:1604,1
    - Dst: smtp_regular_transfer
      Src: /src/curl/lib/smtp.c:1608,1
    - Dst: CURL_TRC_SMTP
      Src: /src/curl/lib/smtp.c:1609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1611
    functionName: smtp_do
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SMTP
    - smtp_parse_custom_request
    - smtp_regular_transfer
    - Curl_conn_meta_get
    - Curl_meta_get
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smtp.c:1624,1
    - Dst: Curl_pp_needs_flush
      Src: /src/curl/lib/smtp.c:1635,1
    - Dst: smtp_perform_quit
      Src: /src/curl/lib/smtp.c:1636,1
    - Dst: smtp_block_statemach
      Src: /src/curl/lib/smtp.c:1637,1
    - Dst: CURL_TRC_SMTP
      Src: /src/curl/lib/smtp.c:1640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1620
    functionDepth: 4
    functionLinenumber: 1620
    functionLinenumberEnd: 1642
    functionName: smtp_disconnect
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SMTP
    - smtp_perform_quit
    - smtp_block_statemach
    - Curl_pp_needs_flush
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                bool dead_connection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/smtp.c:1653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - smtp
    - connected
    argTypes:
    - struct Curl_easy*
    - struct SMTP*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1645
    functionDepth: 3
    functionLinenumber: 1645
    functionLinenumberEnd: 1656
    functionName: smtp_dophase_done
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_nop
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_dophase_done(struct Curl_easy *data,\n                                  struct
      SMTP *smtp,\n                                  bool connected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/smtp.c:1661,1
    - Dst: smtp_multi_statemach
      Src: /src/curl/lib/smtp.c:1666,1
    - Dst: DEBUGF
      Src: /src/curl/lib/smtp.c:1668,1
    - Dst: infof
      Src: /src/curl/lib/smtp.c:1668,1
    - Dst: smtp_dophase_done
      Src: /src/curl/lib/smtp.c:1670,1
    - Dst: DEBUGF
      Src: /src/curl/lib/smtp.c:1672,1
    - Dst: infof
      Src: /src/curl/lib/smtp.c:1672,1
    - Dst: CURL_TRC_SMTP
      Src: /src/curl/lib/smtp.c:1675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1659
    functionDepth: 4
    functionLinenumber: 1659
    functionLinenumberEnd: 1677
    functionName: smtp_doing
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SMTP
    - smtp_dophase_done
    - DEBUGF
    - smtp_multi_statemach
    - infof
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smtp_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/smtp.c:1700,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/smtp.c:1701,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/smtp.c:1702,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/smtp.c:1703,1
    - Dst: smtp_perform
      Src: /src/curl/lib/smtp.c:1706,1
    - Dst: smtp_dophase_done
      Src: /src/curl/lib/smtp.c:1710,1
    - Dst: CURL_TRC_SMTP
      Src: /src/curl/lib/smtp.c:1712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - smtpc
    - smtp
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    - struct SMTP*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1688
    functionDepth: 8
    functionLinenumber: 1688
    functionLinenumberEnd: 1715
    functionName: smtp_regular_transfer
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_SMTP
    - smtp_perform
    - smtp_dophase_done
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadSize
    - Curl_pgrsSetDownloadCounter
    - Curl_pgrsSetUploadCounter
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_regular_transfer(struct Curl_easy *data,\n                                      struct
      smtp_conn *smtpc,\n                                      struct SMTP *smtp,\n
      \                                     bool *dophase_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/smtp.c:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1724
    functionName: smtp_easy_dtor
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void smtp_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_disconnect
      Src: /src/curl/lib/smtp.c:1731,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/smtp.c:1732,1
    - Dst: free
      Src: /src/curl/lib/smtp.c:1733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1726
    functionDepth: 2
    functionLinenumber: 1726
    functionLinenumberEnd: 1734
    functionName: smtp_conn_dtor
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_disconnect
    - Curl_safefree
    - free
    linkageType: ''
    returnType: void
    signature: void smtp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/smtp.c:1743,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/smtp.c:1745,1
    - Dst: calloc
      Src: /src/curl/lib/smtp.c:1750,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/smtp.c:1752,1
    - Dst: CURL_TRC_SMTP
      Src: /src/curl/lib/smtp.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1736
    functionDepth: 2
    functionLinenumber: 1736
    functionLinenumberEnd: 1758
    functionName: smtp_setup_connection
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_SMTP
    - Curl_meta_set
    - calloc
    - Curl_conn_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/smtp.c:1784,1
    - Dst: Curl_sasl_parse_url_auth_option
      Src: /src/curl/lib/smtp.c:1785,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - smtpc
    argTypes:
    - struct connectdata*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1795
    functionName: smtp_parse_url_options
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - curl_strnequal
    - Curl_sasl_parse_url_auth_option
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_parse_url_options(struct connectdata *conn,\n                                       struct
      smtp_conn *smtpc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gethostname
      Src: /src/curl/lib/smtp.c:1812,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/smtp.c:1819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - smtpc
    argTypes:
    - struct Curl_easy*
    - struct smtp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1820
    functionName: smtp_parse_url_path
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - Curl_urldecode
    - Curl_gethostname
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_parse_url_path(struct Curl_easy *data,\n                                    struct
      smtp_conn *smtpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/curl/lib/smtp.c:1836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - smtp
    argTypes:
    - struct Curl_easy*
    - struct SMTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1828
    functionDepth: 1
    functionLinenumber: 1828
    functionLinenumberEnd: 1839
    functionName: smtp_parse_custom_request
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_parse_custom_request(struct Curl_easy *data,\n                                          struct
      SMTP *smtp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/lib/smtp.c:1884,1
    - Dst: strlen
      Src: /src/curl/lib/smtp.c:1889,1
    - Dst: strrchr
      Src: /src/curl/lib/smtp.c:1896,1
    - Dst: strpbrk
      Src: /src/curl/lib/smtp.c:1904,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/curl/lib/smtp.c:1910,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - fqma
    - address
    - host
    - suffix
    argTypes:
    - char*
    - char**
    - struct hostname*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1875
    functionDepth: 2
    functionLinenumber: 1875
    functionLinenumberEnd: 1921
    functionName: smtp_parse_address
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 3
    functionsReached:
    - strlen
    - strdup
    - strrchr
    - strpbrk
    - Curl_idnconvert_hostname
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smtp_parse_address(const char *fqma, char **address,\n                                   struct
      hostname *host, const char **suffix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/smtp.c:1941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1933
    functionDepth: 1
    functionLinenumber: 1933
    functionLinenumberEnd: 1943
    functionName: cr_eob_init
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_eob_init(struct Curl_easy *data,\n                            struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/smtp.c:1949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1945
    functionDepth: 1
    functionLinenumber: 1945
    functionLinenumberEnd: 1950
    functionName: cr_eob_close
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void cr_eob_close(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/smtp.c:1967,1
    - Dst: Curl_creader_read
      Src: /src/curl/lib/smtp.c:1969,1
    - Dst: memchr
      Src: /src/curl/lib/smtp.c:1975,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/smtp.c:1985,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/smtp.c:1988,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/smtp.c:2008,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/smtp.c:2031,1
    - Dst: strlen
      Src: /src/curl/lib/smtp.c:2031,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/smtp.c:2038,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/smtp.c:2039,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/smtp.c:2044,1
    - Dst: DEBUGF
      Src: /src/curl/lib/smtp.c:2049,1
    - Dst: infof
      Src: /src/curl/lib/smtp.c:2049,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 1957
    functionDepth: 1
    functionLinenumber: 1957
    functionLinenumberEnd: 2052
    functionName: cr_eob_read
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - strlen
    - DEBUGF
    - Curl_bufq_cread
    - Curl_bufq_is_empty
    - Curl_creader_read
    - memchr
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_eob_read(struct Curl_easy *data,\n                            struct
      Curl_creader *reader,\n                            char *buf, size_t blen,\n
      \                           size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2061
    functionName: cr_eob_total_length
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_eob_total_length(struct Curl_easy *data,\n                                      struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/curl/lib/smtp.c:2082,1
    - Dst: Curl_creader_add
      Src: /src/curl/lib/smtp.c:2085,1
    - Dst: Curl_creader_free
      Src: /src/curl/lib/smtp.c:2088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2077
    functionDepth: 1
    functionLinenumber: 2077
    functionLinenumberEnd: 2090
    functionName: cr_eob_add
    functionSourceFile: /src/curl/lib/smtp.c
    functionUses: 1
    functionsReached:
    - Curl_creader_free
    - Curl_creader_create
    - Curl_creader_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_eob_add(struct Curl_easy *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - firstbyte
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: ws_frame_name_of_op
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ws_frame_name_of_op(unsigned char firstbyte)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/ws.c:160,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:167,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:174,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:181,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:188,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:195,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:201,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:208,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:215,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:224,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 3
    argNames:
    - data
    - firstbyte
    - cont_flags
    argTypes:
    - struct Curl_easy*
    - unsigned char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 230
    functionName: ws_frame_firstbyte2flags
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: int
    signature: "int ws_frame_firstbyte2flags(struct Curl_easy *data,\n                                    unsigned
      char firstbyte, int cont_flags)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:241,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:246,1
    - Dst: infof
      Src: /src/curl/lib/ws.c:250,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:255,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:275,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:281,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:287,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 4
    argNames:
    - data
    - flags
    - contfragment
    - pfirstbyte
    argTypes:
    - struct Curl_easy*
    - unsigned int
    - bool
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 293
    functionName: ws_frame_flags2firstbyte
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_WS
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_frame_flags2firstbyte(struct Curl_easy *data,\n                                         unsigned
      int flags,\n                                         bool contfragment,\n                                         unsigned
      char *pfirstbyte)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:302,1
    - Dst: ws_frame_name_of_op
      Src: /src/curl/lib/ws.c:303,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:308,1
    - Dst: ws_frame_name_of_op
      Src: /src/curl/lib/ws.c:309,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:314,1
    - Dst: ws_frame_name_of_op
      Src: /src/curl/lib/ws.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - dec
    - data
    - msg
    argTypes:
    - struct ws_decoder*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 322
    functionName: ws_dec_info
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_WS
    - ws_frame_name_of_op
    linkageType: ''
    returnType: void
    signature: "void ws_dec_info(struct ws_decoder *dec, struct Curl_easy *data,\n
      \                       const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dec
    argTypes:
    - struct ws_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: ws_dec_next_frame
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ws_dec_next_frame(struct ws_decoder *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - dec
    argTypes:
    - struct ws_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: ws_dec_reset
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ws_dec_reset(struct ws_decoder *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ws_dec_reset
      Src: /src/curl/lib/ws.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - struct ws_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: ws_dec_init
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - ws_dec_reset
    linkageType: ''
    returnType: void
    signature: void ws_dec_init(struct ws_decoder *dec)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/ws.c:369,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/ws.c:372,1
    - Dst: ws_frame_firstbyte2flags
      Src: /src/curl/lib/ws.c:374,1
    - Dst: ws_dec_reset
      Src: /src/curl/lib/ws.c:377,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/ws.c:393,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:398,1
    - Dst: ws_dec_reset
      Src: /src/curl/lib/ws.c:399,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:405,1
    - Dst: ws_dec_reset
      Src: /src/curl/lib/ws.c:406,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:411,1
    - Dst: ws_dec_reset
      Src: /src/curl/lib/ws.c:412,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:416,1
    - Dst: ws_dec_reset
      Src: /src/curl/lib/ws.c:417,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/ws.c:437,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:445,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:455,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:469,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:470,1
    - Dst: ws_dec_info
      Src: /src/curl/lib/ws.c:476,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 3
    argNames:
    - dec
    - data
    - inraw
    argTypes:
    - struct ws_decoder*
    - struct Curl_easy*
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 480
    functionName: ws_dec_read_head
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - failf
    - ws_dec_info
    - ws_dec_reset
    - Curl_bufq_skip
    - ws_frame_firstbyte2flags
    - Curl_bufq_peek
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_dec_read_head(struct ws_decoder *dec,\n                                 struct
      Curl_easy *data,\n                                 struct bufq *inraw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/ws.c:495,1
    - Dst: write_cb
      Src: /src/curl/lib/ws.c:498,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/ws.c:503,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - dec
    - data
    - inraw
    - write_cb
    - write_ctx
    argTypes:
    - struct ws_decoder*
    - struct Curl_easy*
    - struct bufq*
    - ws_write_payload*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 511
    functionName: ws_dec_pass_payload
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_WS
    - Curl_bufq_peek
    - write_cb
    - Curl_bufq_skip
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_dec_pass_payload(struct ws_decoder *dec,\n                                    struct
      Curl_easy *data,\n                                    struct bufq *inraw,\n
      \                                   ws_write_payload *write_cb,\n                                    void
      *write_ctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:521,1
    - Dst: ws_dec_next_frame
      Src: /src/curl/lib/ws.c:526,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/ws.c:528,1
    - Dst: ws_dec_read_head
      Src: /src/curl/lib/ws.c:530,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:533,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:537,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:537,1
    - Dst: write_cb
      Src: /src/curl/lib/ws.c:546,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/ws.c:553,1
    - Dst: ws_dec_pass_payload
      Src: /src/curl/lib/ws.c:555,1
    - Dst: ws_dec_info
      Src: /src/curl/lib/ws.c:556,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - dec
    - data
    - inraw
    - write_cb
    - write_ctx
    argTypes:
    - struct ws_decoder*
    - struct Curl_easy*
    - struct bufq*
    - ws_write_payload*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 567
    functionName: ws_dec_pass
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - ws_dec_next_frame
    - failf
    - Curl_bufq_is_empty
    - ws_dec_info
    - write_cb
    - ws_dec_pass_payload
    - DEBUGASSERT
    - ws_dec_read_head
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_dec_pass(struct ws_decoder *dec,\n                            struct
      Curl_easy *data,\n                            struct bufq *inraw,\n                            ws_write_payload
      *write_cb,\n                            void *write_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ws
    - frame_age
    - frame_flags
    - payload_offset
    - payload_len
    - cur_len
    argTypes:
    - struct websocket*
    - int
    - int
    - curl_off_t
    - curl_off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: update_meta
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void update_meta(struct websocket *ws,\n                        int
      frame_age, int frame_flags,\n                        curl_off_t payload_offset,\n
      \                       curl_off_t payload_len,\n                        size_t
      cur_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/ws.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: ws_cw_init
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_cw_init(struct Curl_easy *data,\n                           struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/ws.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: ws_cw_close
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void ws_cw_close(struct Curl_easy *data, struct Curl_cwriter *writer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:631,1
    - Dst: memcpy
      Src: /src/curl/lib/ws.c:639,1
    - Dst: ws_enc_add_pending
      Src: /src/curl/lib/ws.c:642,1
    - Dst: ws_flush
      Src: /src/curl/lib/ws.c:644,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/ws.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - ws
    - payload
    - plen
    - frame_type
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 648
    functionName: ws_enc_add_cntrl
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - ws_flush
    - memcpy
    - Curl_is_in_callback
    - DEBUGASSERT
    - ws_enc_add_pending
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_add_cntrl(struct Curl_easy *data,\n                                 struct
      websocket *ws,\n                                 const unsigned char *payload,\n
      \                                size_t plen,\n                                 unsigned
      int frame_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - payload_total
    - payload_offset
    - payload_buffered
    argTypes:
    - curl_off_t
    - curl_off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 664
    functionName: ws_payload_remain
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t ws_payload_remain(curl_off_t payload_total,\n                                    curl_off_t
      payload_offset,\n                                    size_t payload_buffered)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ws_payload_remain
      Src: /src/curl/lib/ws.c:682,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:684,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:690,1
    - Dst: ws_enc_add_cntrl
      Src: /src/curl/lib/ws.c:693,1
    - Dst: update_meta
      Src: /src/curl/lib/ws.c:699,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/ws.c:702,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 8
    argNames:
    - buf
    - buflen
    - frame_age
    - frame_flags
    - payload_offset
    - payload_len
    - user_data
    - pnwritten
    argTypes:
    - unsigned char*
    - size_t
    - int
    - int
    - curl_off_t
    - curl_off_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 710
    functionName: ws_cw_dec_next
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - CURL_TRC_WS
    - ws_payload_remain
    - ws_enc_add_cntrl
    - update_meta
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_cw_dec_next(const unsigned char *buf, size_t buflen,\n
      \                              int frame_age, int frame_flags,\n                               curl_off_t
      payload_offset,\n                               curl_off_t payload_len,\n                               void
      *user_data,\n                               size_t *pnwritten)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/ws.c:720,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/ws.c:722,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ws.c:724,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:726,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/ws.c:732,1
    - Dst: infof
      Src: /src/curl/lib/ws.c:735,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:740,1
    - Dst: ws_dec_pass
      Src: /src/curl/lib/ws.c:746,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:754,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:759,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:760,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/ws.c:761,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 712
    functionDepth: 4
    functionLinenumber: 712
    functionLinenumberEnd: 766
    functionName: ws_cw_write
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - ws_dec_pass
    - failf
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - Curl_bufq_write
    - CURL_TRC_WRITE
    - Curl_conn_meta_get
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_cw_write(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer, int type,\n                            const char *buf,
      size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:782,1
    - Dst: ws_frame_name_of_op
      Src: /src/curl/lib/ws.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - enc
    - data
    - msg
    argTypes:
    - struct ws_encoder*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 787
    functionName: ws_enc_info
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_WS
    - ws_frame_name_of_op
    linkageType: ''
    returnType: void
    signature: "void ws_enc_info(struct ws_encoder *enc, struct Curl_easy *data,\n
      \                       const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - enc
    argTypes:
    - struct ws_encoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 794
    functionName: ws_enc_reset
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ws_enc_reset(struct ws_encoder *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ws_enc_reset
      Src: /src/curl/lib/ws.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - struct ws_encoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 799
    functionName: ws_enc_init
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - ws_enc_reset
    linkageType: ''
    returnType: void
    signature: void ws_enc_init(struct ws_encoder *enc)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/ws.c:836,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:843,1
    - Dst: ws_frame_flags2firstbyte
      Src: /src/curl/lib/ws.c:848,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:859,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:863,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:867,1
    - Dst: ws_enc_info
      Src: /src/curl/lib/ws.c:896,1
    - Dst: Curl_rand
      Src: /src/curl/lib/ws.c:900,1
    - Dst: getenv
      Src: /src/curl/lib/ws.c:905,1
    - Dst: memset
      Src: /src/curl/lib/ws.c:907,1
    - Dst: memcpy
      Src: /src/curl/lib/ws.c:911,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/ws.c:916,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:921,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 5
    argNames:
    - data
    - enc
    - flags
    - payload_len
    - out
    argTypes:
    - struct Curl_easy*
    - struct ws_encoder*
    - unsigned int
    - curl_off_t
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 925
    functionName: ws_enc_add_frame
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - failf
    - getenv
    - Curl_bufq_write
    - memcpy
    - ws_frame_flags2firstbyte
    - memset
    - Curl_rand
    - ws_enc_info
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_add_frame(struct Curl_easy *data,\n                                 struct
      ws_encoder *enc,\n                                 unsigned int flags,\n                                 curl_off_t
      payload_len,\n                                 struct bufq *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ws_enc_add_pending
      Src: /src/curl/lib/ws.c:937,1
    - Dst: ws_enc_add_frame
      Src: /src/curl/lib/ws.c:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - data
    - ws
    - enc
    - flags
    - payload_len
    - out
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - struct ws_encoder*
    - unsigned int
    - curl_off_t
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 942
    functionName: ws_enc_write_head
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - ws_enc_add_frame
    - ws_enc_add_pending
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_write_head(struct Curl_easy *data,\n                                  struct
      websocket *ws,\n                                  struct ws_encoder *enc,\n
      \                                 unsigned int flags,\n                                  curl_off_t
      payload_len,\n                                  struct bufq *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_full
      Src: /src/curl/lib/ws.c:953,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/ws.c:963,1
    - Dst: ws_enc_info
      Src: /src/curl/lib/ws.c:974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - enc
    - data
    - buf
    - buflen
    - out
    - pnwritten
    argTypes:
    - struct ws_encoder*
    - struct Curl_easy*
    - unsigned char*
    - size_t
    - struct bufq*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 976
    functionName: ws_enc_write_payload
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - ws_enc_info
    - Curl_bufq_is_full
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_write_payload(struct ws_encoder *enc,\n                                     struct
      Curl_easy *data,\n                                     const unsigned char *buf,
      size_t buflen,\n                                     struct bufq *out, size_t
      *pnwritten)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ws_enc_add_frame
      Src: /src/curl/lib/ws.c:989,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:993,1
    - Dst: ws_enc_write_payload
      Src: /src/curl/lib/ws.c:997,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1001,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1006,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1007,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1013,1
    - Dst: memset
      Src: /src/curl/lib/ws.c:1014,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - data
    - ws
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 1018
    functionName: ws_enc_add_pending
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 2
    functionsReached:
    - CURL_TRC_WS
    - memset
    - ws_enc_add_frame
    - ws_enc_write_payload
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_add_pending(struct Curl_easy *data,\n                                   struct
      websocket *ws)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1031,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:1034,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1040,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1048,1
    - Dst: ws_flush
      Src: /src/curl/lib/ws.c:1055,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/ws.c:1055,1
    - Dst: ws_enc_write_head
      Src: /src/curl/lib/ws.c:1059,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1064,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:1070,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/ws.c:1073,1
    - Dst: ws_enc_write_payload
      Src: /src/curl/lib/ws.c:1074,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/ws.c:1080,1
    - Dst: ws_flush
      Src: /src/curl/lib/ws.c:1087,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/ws.c:1087,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/ws.c:1095,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/ws.c:1098,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1106,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 7
    argNames:
    - data
    - ws
    - buffer
    - buflen
    - fragsize
    - flags
    - pnsent
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - unsigned char*
    - size_t
    - curl_off_t
    - unsigned int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1020
    functionDepth: 4
    functionLinenumber: 1020
    functionLinenumberEnd: 1116
    functionName: ws_enc_send
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - failf
    - ws_enc_write_head
    - CURL_TRC_WS
    - Curl_bufq_is_empty
    - ws_flush
    - Curl_bufq_len
    - Curl_is_in_callback
    - ws_enc_write_payload
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_enc_send(struct Curl_easy *data,\n                            struct
      websocket *ws,\n                            const unsigned char *buffer,\n                            size_t
      buflen,\n                            curl_off_t fragsize,\n                            unsigned
      int flags,\n                            size_t *pnsent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1129
    functionName: cr_ws_init
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_ws_init(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1135
    functionName: cr_ws_close
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cr_ws_close(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ws.c:1154,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1156,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:1160,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1168,1
    - Dst: Curl_creader_read
      Src: /src/curl/lib/ws.c:1174,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:1179,1
    - Dst: Curl_creader_clear_eos
      Src: /src/curl/lib/ws.c:1182,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:1193,1
    - Dst: ws_enc_write_head
      Src: /src/curl/lib/ws.c:1195,1
    - Dst: ws_enc_write_payload
      Src: /src/curl/lib/ws.c:1201,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/ws.c:1205,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1208,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:1208,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/ws.c:1210,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:1211,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/ws.c:1218,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1137
    functionDepth: 4
    functionLinenumber: 1137
    functionLinenumberEnd: 1221
    functionName: cr_ws_read
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_creader_clear_eos
    - failf
    - ws_enc_write_head
    - Curl_bufq_cread
    - CURL_TRC_WS
    - Curl_bufq_is_empty
    - Curl_conn_meta_get
    - CURL_TRC_READ
    - Curl_creader_read
    - ws_enc_write_payload
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_ws_read(struct Curl_easy *data,\n                           struct
      Curl_creader *reader,\n                           char *buf, size_t blen,\n
      \                          size_t *pnread, bool *peos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/curl/lib/ws.c:1276,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/ws.c:1279,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1282,1
    - Dst: free
      Src: /src/curl/lib/ws.c:1284,1
    - Dst: strcpy
      Src: /src/curl/lib/ws.c:1287,1
    - Dst: free
      Src: /src/curl/lib/ws.c:1288,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/ws.c:1289,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/ws.c:1290,1
    - Dst: strlen
      Src: /src/curl/lib/ws.c:1290,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/ws.c:1291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - data
    - req
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1299
    functionName: Curl_ws_request
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 1
    functionsReached:
    - strlen
    - curlx_base64_encode
    - Curl_checkheaders
    - free
    - CURL_ARRAYSIZE
    - Curl_rand
    - DEBUGASSERT
    - curlx_dyn_addf
    - strcpy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ws_request(struct Curl_easy *data, struct dynbuf *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/ws.c:1306,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/ws.c:1307,1
    - Dst: free
      Src: /src/curl/lib/ws.c:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1309
    functionName: ws_conn_dtor
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void ws_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1324,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ws.c:1325,1
    - Dst: calloc
      Src: /src/curl/lib/ws.c:1328,1
    - Dst: getenv
      Src: /src/curl/lib/ws.c:1333,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ws.c:1336,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1341,1
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/ws.c:1342,1
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/ws.c:1344,1
    - Dst: ws_dec_init
      Src: /src/curl/lib/ws.c:1346,1
    - Dst: ws_enc_init
      Src: /src/curl/lib/ws.c:1347,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/ws.c:1348,1
    - Dst: Curl_bufq_reset
      Src: /src/curl/lib/ws.c:1354,1
    - Dst: ws_dec_reset
      Src: /src/curl/lib/ws.c:1355,1
    - Dst: ws_enc_reset
      Src: /src/curl/lib/ws.c:1356,1
    - Dst: infof
      Src: /src/curl/lib/ws.c:1377,1
    - Dst: Curl_cwriter_create
      Src: /src/curl/lib/ws.c:1380,1
    - Dst: Curl_cwriter_add
      Src: /src/curl/lib/ws.c:1384,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/ws.c:1396,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1400,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1405,1
    - Dst: Curl_creader_set_fread
      Src: /src/curl/lib/ws.c:1406,1
    - Dst: Curl_creader_create
      Src: /src/curl/lib/ws.c:1412,1
    - Dst: Curl_creader_add
      Src: /src/curl/lib/ws.c:1416,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ws.c:1430,1
    - Dst: Curl_cwriter_free
      Src: /src/curl/lib/ws.c:1441,1
    - Dst: Curl_creader_free
      Src: /src/curl/lib/ws.c:1443,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1445,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1447,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 3
    argNames:
    - data
    - mem
    - nread
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1315
    functionDepth: 2
    functionLinenumber: 1315
    functionLinenumberEnd: 1450
    functionName: Curl_ws_accept
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 1
    functionsReached:
    - getenv
    - Curl_creader_create
    - Curl_cwriter_free
    - Curl_conn_meta_get
    - ws_enc_init
    - Curl_bufq_reset
    - Curl_creader_free
    - calloc
    - ws_enc_reset
    - Curl_client_write
    - CURL_TRC_WS
    - ws_dec_reset
    - curlx_str_number
    - Curl_conn_meta_set
    - Curl_cwriter_create
    - Curl_creader_set_fread
    - Curl_creader_add
    - Curl_bufq_write
    - ws_dec_init
    - DEBUGASSERT
    - Curl_bufq_init2
    - Curl_cwriter_add
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ws_accept(struct Curl_easy *data,\n                        const
      char *mem, size_t nread)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ws_payload_remain
      Src: /src/curl/lib/ws.c:1479,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1481,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1495,1
    - Dst: ws_enc_add_cntrl
      Src: /src/curl/lib/ws.c:1498,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1507,1
    - Dst: CURLMIN
      Src: /src/curl/lib/ws.c:1508,1
    - Dst: memcpy
      Src: /src/curl/lib/ws.c:1514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 8
    argNames:
    - buf
    - buflen
    - frame_age
    - frame_flags
    - payload_offset
    - payload_len
    - userp
    - pnwritten
    argTypes:
    - unsigned char*
    - size_t
    - int
    - int
    - curl_off_t
    - curl_off_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1519
    functionName: ws_client_collect
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - CURL_TRC_WS
    - ws_payload_remain
    - memcpy
    - ws_enc_add_cntrl
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_client_collect(const unsigned char *buf, size_t buflen,\n
      \                                 int frame_age, int frame_flags,\n                                  curl_off_t
      payload_offset,\n                                  curl_off_t payload_len,\n
      \                                 void *userp,\n                                  size_t
      *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_recv
      Src: /src/curl/lib/ws.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - reader_ctx
    - buf
    - buflen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1521
    functionDepth: 3
    functionLinenumber: 1521
    functionLinenumberEnd: 1527
    functionName: nw_in_recv
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - curl_easy_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode nw_in_recv(void *reader_ctx,\n                           unsigned
      char *buf, size_t buflen,\n                           size_t *pnread)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/ws.c:1540,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1547,1
    - Dst: Curl_getconnectinfo
      Src: /src/curl/lib/ws.c:1551,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1553,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ws.c:1557,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1559,1
    - Dst: memset
      Src: /src/curl/lib/ws.c:1564,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:1574,1
    - Dst: Curl_bufq_slurp
      Src: /src/curl/lib/ws.c:1576,1
    - Dst: infof
      Src: /src/curl/lib/ws.c:1581,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1584,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/ws.c:1585,1
    - Dst: ws_dec_pass
      Src: /src/curl/lib/ws.c:1588,1
    - Dst: ws_dec_info
      Src: /src/curl/lib/ws.c:1592,1
    - Dst: update_meta
      Src: /src/curl/lib/ws.c:1609,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1613,1
    - Dst: ws_enc_add_pending
      Src: /src/curl/lib/ws.c:1620,1
    - Dst: ws_flush
      Src: /src/curl/lib/ws.c:1622,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/ws.c:1622,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 5
    argNames:
    - d
    - buffer
    - buflen
    - nread
    - metap
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    - struct curl_ws_frame**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1529
    functionDepth: 4
    functionLinenumber: 1529
    functionLinenumberEnd: 1625
    functionName: curl_ws_recv
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 6
    functionsReached:
    - ws_dec_pass
    - GOOD_EASY_HANDLE
    - failf
    - ws_enc_add_pending
    - CURL_TRC_WS
    - Curl_bufq_is_empty
    - Curl_bufq_len
    - Curl_conn_meta_get
    - ws_dec_info
    - ws_flush
    - Curl_bufq_slurp
    - update_meta
    - memset
    - infof
    - Curl_is_in_callback
    - Curl_getconnectinfo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_ws_recv(CURL *d, void *buffer,\n                      size_t
      buflen, size_t *nread,\n                      const struct curl_ws_frame **metap)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/ws.c:1630,1
    - Dst: getenv
      Src: /src/curl/lib/ws.c:1638,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ws.c:1641,1
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/ws.c:1646,1
    - Dst: ws_send_raw_blocking
      Src: /src/curl/lib/ws.c:1656,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/ws.c:1659,1
    - Dst: Curl_senddata
      Src: /src/curl/lib/ws.c:1660,1
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/ws.c:1662,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1668,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/ws.c:1669,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1673,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1677,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/ws.c:1678,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - data
    - ws
    - blocking
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1627
    functionDepth: 3
    functionLinenumber: 1627
    functionLinenumberEnd: 1683
    functionName: ws_flush
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 3
    functionsReached:
    - Curl_senddata
    - ws_send_raw_blocking
    - Curl_xfer_send
    - failf
    - getenv
    - CURL_TRC_WS
    - Curl_bufq_is_empty
    - Curl_bufq_len
    - curlx_str_number
    - Curl_bufq_skip
    - Curl_is_in_callback
    - Curl_bufq_peek
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_flush(struct Curl_easy *data, struct websocket *ws,\n
      \                        bool blocking)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/ws.c:1694,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ws.c:1697,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1705,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/ws.c:1707,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1709,1
    - Dst: Curl_socket_check
      Src: /src/curl/lib/ws.c:1716,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - data
    - ws
    - buffer
    - buflen
    argTypes:
    - struct Curl_easy*
    - struct websocket*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1685
    functionDepth: 2
    functionLinenumber: 1685
    functionLinenumberEnd: 1725
    functionName: ws_send_raw_blocking
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 1
    functionsReached:
    - Curl_xfer_send
    - failf
    - Curl_timeleft
    - CURL_TRC_WS
    - Curl_socket_check
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_send_raw_blocking(struct Curl_easy *data,\n                                     struct
      websocket *ws,\n                                     const char *buffer, size_t
      buflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ws.c:1733,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1735,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/ws.c:1741,1
    - Dst: ws_flush
      Src: /src/curl/lib/ws.c:1746,1
    - Dst: ws_send_raw_blocking
      Src: /src/curl/lib/ws.c:1749,1
    - Dst: ws_flush
      Src: /src/curl/lib/ws.c:1753,1
    - Dst: Curl_senddata
      Src: /src/curl/lib/ws.c:1756,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - data
    - buffer
    - buflen
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1727
    functionDepth: 4
    functionLinenumber: 1727
    functionLinenumberEnd: 1762
    functionName: ws_send_raw
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_senddata
    - ws_send_raw_blocking
    - failf
    - CURL_TRC_WS
    - ws_flush
    - Curl_conn_meta_get
    - Curl_is_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_send_raw(struct Curl_easy *data, const void *buffer,\n
      \                           size_t buflen, size_t *pnwritten)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/ws.c:1776,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1778,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1785,1
    - Dst: Curl_connect_only_attach
      Src: /src/curl/lib/ws.c:1791,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1796,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ws.c:1800,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1802,1
    - Dst: ws_flush
      Src: /src/curl/lib/ws.c:1810,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1815,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1819,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1823,1
    - Dst: ws_send_raw
      Src: /src/curl/lib/ws.c:1826,1
    - Dst: ws_enc_send
      Src: /src/curl/lib/ws.c:1831,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1834,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 6
    argNames:
    - d
    - buffer_arg
    - buflen
    - sent
    - fragsize
    - flags
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    - curl_off_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1764
    functionDepth: 5
    functionLinenumber: 1764
    functionLinenumberEnd: 1839
    functionName: curl_ws_send
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 8
    functionsReached:
    - GOOD_EASY_HANDLE
    - failf
    - ws_enc_send
    - CURL_TRC_WS
    - ws_flush
    - Curl_conn_meta_get
    - Curl_connect_only_attach
    - ws_send_raw
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_ws_send(CURL *d, const void *buffer_arg,\n                      size_t
      buflen, size_t *sent,\n                      curl_off_t fragsize,\n                      unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_setup_conn
      Src: /src/curl/lib/ws.c:1849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1850
    functionName: ws_setup_conn
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 0
    functionsReached:
    - Curl_http_setup_conn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ws_setup_conn(struct Curl_easy *data,\n                              struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/ws.c:1858,1
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/ws.c:1858,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ws.c:1861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1867
    functionName: curl_ws_meta
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 3
    functionsReached:
    - GOOD_EASY_HANDLE
    - Curl_is_in_callback
    - Curl_conn_meta_get
    linkageType: ''
    returnType: struct curl_ws_frame
    signature: struct curl_ws_frame *curl_ws_meta(CURL *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/ws.c:1877,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1880,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1884,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1888,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ws.c:1892,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1894,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1900,1
    - Dst: failf
      Src: /src/curl/lib/ws.c:1906,1
    - Dst: ws_enc_write_head
      Src: /src/curl/lib/ws.c:1911,1
    - Dst: CURL_TRC_WS
      Src: /src/curl/lib/ws.c:1914,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - d
    - flags
    - frame_len
    argTypes:
    - CURL*
    - unsigned int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1869
    functionDepth: 4
    functionLinenumber: 1869
    functionLinenumberEnd: 1919
    functionName: curl_ws_start_frame
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 2
    functionsReached:
    - GOOD_EASY_HANDLE
    - failf
    - ws_enc_write_head
    - CURL_TRC_WS
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURL_EXTERN
    signature: "CURL_EXTERN curl_ws_start_frame(CURL *d,\n                                         unsigned
      int flags,\n                                         curl_off_t frame_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - curl
    - buffer
    - buflen
    - nread
    - metap
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    - struct curl_ws_frame**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1988
    functionName: curl_ws_recv
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_ws_recv(CURL *curl, void *buffer, size_t buflen,\n                      size_t
      *nread,\n                      const struct curl_ws_frame **metap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - curl
    - buffer
    - buflen
    - sent
    - fragsize
    - flags
    argTypes:
    - CURL*
    - void*
    - size_t
    - size_t*
    - curl_off_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2002
    functionName: curl_ws_send
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_ws_send(CURL *curl, const void *buffer,\n                      size_t
      buflen, size_t *sent,\n                      curl_off_t fragsize,\n                      unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2008
    functionName: curl_ws_meta
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct curl_ws_frame
    signature: struct curl_ws_frame *curl_ws_meta(CURL *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - curl
    - flags
    - frame_len
    argTypes:
    - CURL*
    - unsigned int
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2018
    functionName: curl_ws_start_frame
    functionSourceFile: /src/curl/lib/ws.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CURL_EXTERN
    signature: "CURL_EXTERN curl_ws_start_frame(CURL *curl,\n                                         unsigned
      int flags,\n                                         curl_off_t frame_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sockfd
    - 'on'
    argTypes:
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: set_ipv6_v6only
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void set_ipv6_v6only(curl_socket_t sockfd, int on)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:113,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:115,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data
    - sockfd
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: tcpnodelay
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - infof
    - setsockopt
    - curlx_strerror
    linkageType: ''
    returnType: void
    signature: void tcpnodelay(struct Curl_easy *data, curl_socket_t sockfd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:133,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:137,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - sockfd
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: nosigpipe
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - infof
    - setsockopt
    - curlx_strerror
    linkageType: ''
    returnType: void
    signature: "void nosigpipe(struct Curl_easy *data,\n                      curl_socket_t
      sockfd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: nosigpipe
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nosigpipe(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: KEEPALIVE_FACTOR
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEEPALIVE_FACTOR(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:181,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:183,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:191,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/curl/lib/cf-socket.c:192,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:193,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:195,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:199,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/curl/lib/cf-socket.c:200,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:201,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:203,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:207,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:208,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:210,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:218,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/curl/lib/cf-socket.c:219,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:221,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/curl/lib/cf-socket.c:222,1
    - Dst: WSAIoctl
      Src: /src/curl/lib/cf-socket.c:224,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:226,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:232,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/curl/lib/cf-socket.c:233,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:234,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:236,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:242,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/curl/lib/cf-socket.c:243,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:244,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:246,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:252,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/curl/lib/cf-socket.c:253,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:254,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:256,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:262,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/curl/lib/cf-socket.c:263,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:264,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:266,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:282,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:283,1
    - Dst: KEEPALIVE_FACTOR
      Src: /src/curl/lib/cf-socket.c:284,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:285,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:287,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/cf-socket.c:292,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:293,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:295,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 2
    argNames:
    - data
    - sockfd
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 301
    functionName: tcpkeepalive
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - curlx_sltosi
    - KEEPALIVE_FACTOR
    - infof
    - setsockopt
    - WSAIoctl
    linkageType: ''
    returnType: void
    signature: "void tcpkeepalive(struct Curl_easy *data,\n             curl_socket_t
      sockfd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:335,1
    - Dst: memcpy
      Src: /src/curl/lib/cf-socket.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - dest
    - ai
    - transport
    argTypes:
    - struct Curl_sockaddr_ex*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 341
    functionName: sock_assign_addr
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - memcpy
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sock_assign_addr(struct Curl_sockaddr_ex *dest,\n                                 const
      struct Curl_addrinfo *ai,\n                                 int transport)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:347,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:348,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cf-socket.c:359,1
    - Dst: struct Curl_easy*::set::fopensocket
      Src: /src/curl/lib/cf-socket.c:360,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cf-socket.c:363,1
    - Dst: CURL_SOCKET
      Src: /src/curl/lib/cf-socket.c:367,1
    - Dst: fcntl
      Src: /src/curl/lib/cf-socket.c:375,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:377,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:378,1
    - Dst: close
      Src: /src/curl/lib/cf-socket.c:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - data
    - addr
    - sockfd
    argTypes:
    - struct Curl_easy*
    - struct Curl_sockaddr_ex*
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 392
    functionName: socket_open
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - fcntl
    - struct Curl_easy*::set::fopensocket
    - failf
    - curlx_strerror
    - CURL_SOCKET
    - DEBUGASSERT
    - close
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socket_open(struct Curl_easy *data,\n                            struct
      Curl_sockaddr_ex *addr,\n                            curl_socket_t *sockfd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sock_assign_addr
      Src: /src/curl/lib/cf-socket.c:416,1
    - Dst: socket_open
      Src: /src/curl/lib/cf-socket.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - data
    - ai
    - addr
    - transport
    - sockfd
    argTypes:
    - struct Curl_easy*
    - struct Curl_addrinfo*
    - struct Curl_sockaddr_ex*
    - int
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 421
    functionName: Curl_socket_open
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - sock_assign_addr
    - socket_open
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_socket_open(struct Curl_easy *data,\n                          const
      struct Curl_addrinfo *ai,\n                          struct Curl_sockaddr_ex
      *addr,\n                          int transport,\n                          curl_socket_t
      *sockfd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_will_close
      Src: /src/curl/lib/cf-socket.c:431,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cf-socket.c:432,1
    - Dst: struct connectdata*::fclosesocket
      Src: /src/curl/lib/cf-socket.c:433,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cf-socket.c:434,1
    - Dst: Curl_multi_will_close
      Src: /src/curl/lib/cf-socket.c:440,1
    - Dst: sclose
      Src: /src/curl/lib/cf-socket.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - data
    - conn
    - use_callback
    - sock
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 445
    functionName: socket_close
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 1
    functionsReached:
    - struct connectdata*::fclosesocket
    - Curl_multi_will_close
    - sclose
    - Curl_set_in_callback
    linkageType: ''
    returnType: int
    signature: "int socket_close(struct Curl_easy *data, struct connectdata *conn,\n
      \                       int use_callback, curl_socket_t sock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket_close
      Src: /src/curl/lib/cf-socket.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - conn
    - sock
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: Curl_socket_close
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - socket_close
    linkageType: ''
    returnType: int
    signature: "int Curl_socket_close(struct Curl_easy *data, struct connectdata *conn,\n
      \                     curl_socket_t sock)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/curl/lib/cf-socket.c:481,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 486
    functionName: Curl_sndbuf_init
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - getsockopt
    linkageType: ''
    returnType: void
    signature: void Curl_sndbuf_init(curl_socket_t sockfd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:522,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:523,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:524,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:526,1
    - Dst: strncmp
      Src: /src/curl/lib/cf-socket.c:530,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:530,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:531,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cf-socket.c:534,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:534,1
    - Dst: strncmp
      Src: /src/curl/lib/cf-socket.c:537,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:537,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:538,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cf-socket.c:541,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:541,1
    - Dst: strncmp
      Src: /src/curl/lib/cf-socket.c:544,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:544,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:546,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:547,1
    - Dst: memchr
      Src: /src/curl/lib/cf-socket.c:548,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cf-socket.c:551,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cf-socket.c:555,1
    - Dst: free
      Src: /src/curl/lib/cf-socket.c:557,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cf-socket.c:566,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - input
    - dev
    - iface
    - host
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 568
    functionName: Curl_parse_interface
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 2
    functionsReached:
    - strlen
    - free
    - memchr
    - Curl_memdup0
    - strncmp
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_parse_interface(const char *input,\n                              char
      **dev, char **iface, char **host)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:606,1
    - Dst: memset
      Src: /src/curl/lib/cf-socket.c:609,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:628,1
    - Dst: strlen
      Src: /src/curl/lib/cf-socket.c:629,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:636,1
    - Dst: Curl_if2ip
      Src: /src/curl/lib/cf-socket.c:644,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:656,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:657,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:669,1
    - Dst: Curl_resolv_blocking
      Src: /src/curl/lib/cf-socket.c:690,1
    - Dst: Curl_printable_address
      Src: /src/curl/lib/cf-socket.c:694,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:695,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/cf-socket.c:697,1
    - Dst: strchr
      Src: /src/curl/lib/cf-socket.c:719,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/cf-socket.c:723,1
    - Dst: htons
      Src: /src/curl/lib/cf-socket.c:725,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/cf-socket.c:733,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/cf-socket.c:733,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/cf-socket.c:746,1
    - Dst: htons
      Src: /src/curl/lib/cf-socket.c:748,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:760,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:761,1
    - Dst: htons
      Src: /src/curl/lib/cf-socket.c:770,1
    - Dst: htons
      Src: /src/curl/lib/cf-socket.c:777,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:782,1
    - Dst: bind
      Src: /src/curl/lib/cf-socket.c:785,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:787,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:796,1
    - Dst: htons
      Src: /src/curl/lib/cf-socket.c:799,1
    - Dst: htons
      Src: /src/curl/lib/cf-socket.c:802,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:811,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:812,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 111
    argCount: 5
    argNames:
    - data
    - conn
    - sockfd
    - af
    - scope
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - curl_socket_t
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 571
    functionDepth: 5
    functionLinenumber: 571
    functionLinenumberEnd: 816
    functionName: bindlocal
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - bind
    - strlen
    - failf
    - curlx_strerror
    - Curl_resolv_unlink
    - Curl_if2ip
    - strchr
    - curlx_inet_pton
    - CURL_UNCONST
    - Curl_resolv_blocking
    - curlx_str_number
    - Curl_printable_address
    - memset
    - infof
    - htons
    - setsockopt
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bindlocal(struct Curl_easy *data, struct connectdata *conn,\n
      \                         curl_socket_t sockfd, int af, unsigned int scope)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/curl/lib/cf-socket.c:847,1
    - Dst: SleepEx
      Src: /src/curl/lib/cf-socket.c:849,1
    - Dst: getsockopt
      Src: /src/curl/lib/cf-socket.c:854,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/lib/cf-socket.c:859,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/lib/cf-socket.c:866,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - sockfd
    - error
    argTypes:
    - curl_socket_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 884
    functionName: verifyconnect
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - SleepEx
    - Sleep
    - getsockopt
    - SET_SOCKERRNO
    linkageType: ''
    returnType: bool
    signature: bool verifyconnect(curl_socket_t sockfd, int *error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:913,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - data
    - ipaddress
    - error
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 921
    functionName: socket_connect_result
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socket_connect_result(struct Curl_easy *data,\n                                      const
      char *ipaddress, int error)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/cf-socket.c:955,1
    - Dst: sock_assign_addr
      Src: /src/curl/lib/cf-socket.c:959,1
    - Dst: getenv
      Src: /src/curl/lib/cf-socket.c:965,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/cf-socket.c:968,1
    - Dst: getenv
      Src: /src/curl/lib/cf-socket.c:971,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/cf-socket.c:974,1
    - Dst: getenv
      Src: /src/curl/lib/cf-socket.c:977,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/cf-socket.c:980,1
    - Dst: getenv
      Src: /src/curl/lib/cf-socket.c:983,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/cf-socket.c:986,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - ai
    - transport
    argTypes:
    - struct cf_socket_ctx*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 993
    functionName: cf_socket_ctx_init
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - sock_assign_addr
    - curlx_str_number
    - getenv
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_ctx_init(struct cf_socket_ctx *ctx,\n                                   const
      struct Curl_addrinfo *ai,\n                                   int transport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1000,1
    - Dst: socket_close
      Src: /src/curl/lib/cf-socket.c:1003,1
    - Dst: memset
      Src: /src/curl/lib/cf-socket.c:1006,1
    - Dst: memset
      Src: /src/curl/lib/cf-socket.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1011
    functionName: cf_socket_close
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - socket_close
    - CURL_TRC_CF
    - memset
    linkageType: ''
    returnType: void
    signature: void cf_socket_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1020,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/cf-socket.c:1026,1
    - Dst: sread
      Src: /src/curl/lib/cf-socket.c:1028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1033
    functionName: cf_socket_shutdown
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - curlx_nonblock
    - CURL_TRC_CF
    - sread
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_shutdown(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_socket_close
      Src: /src/curl/lib/cf-socket.c:1039,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1040,1
    - Dst: free
      Src: /src/curl/lib/cf-socket.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1035
    functionDepth: 3
    functionLinenumber: 1035
    functionLinenumberEnd: 1043
    functionName: cf_socket_destroy
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - cf_socket_close
    - free
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: void cf_socket_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/cf-socket.c:1059,1
    - Dst: getsockname
      Src: /src/curl/lib/cf-socket.c:1060,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:1062,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:1063,1
    - Dst: Curl_addr2string
      Src: /src/curl/lib/cf-socket.c:1066,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:1068,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:1069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1079
    functionName: set_local_ip
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - curlx_strerror
    - failf
    - Curl_addr2string
    - memset
    - getsockname
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode set_local_ip(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_addr2string
      Src: /src/curl/lib/cf-socket.c:1087,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:1094,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1099
    functionName: set_remote_ip
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_addr2string
    - failf
    - curlx_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode set_remote_ip(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:1111,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-socket.c:1112,1
    - Dst: socket_open
      Src: /src/curl/lib/cf-socket.c:1121,1
    - Dst: set_remote_ip
      Src: /src/curl/lib/cf-socket.c:1130,1
    - Dst: set_ipv6_v6only
      Src: /src/curl/lib/cf-socket.c:1136,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:1137,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:1141,1
    - Dst: tcpnodelay
      Src: /src/curl/lib/cf-socket.c:1152,1
    - Dst: nosigpipe
      Src: /src/curl/lib/cf-socket.c:1154,1
    - Dst: Curl_sndbuf_init
      Src: /src/curl/lib/cf-socket.c:1156,1
    - Dst: tcpkeepalive
      Src: /src/curl/lib/cf-socket.c:1159,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cf-socket.c:1163,1
    - Dst: struct Curl_easy*::set::fsockopt
      Src: /src/curl/lib/cf-socket.c:1164,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cf-socket.c:1167,1
    - Dst: bindlocal
      Src: /src/curl/lib/cf-socket.c:1184,1
    - Dst: Curl_ipv6_scope
      Src: /src/curl/lib/cf-socket.c:1185,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/cf-socket.c:1200,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/cf-socket.c:1210,1
    - Dst: socket_close
      Src: /src/curl/lib/cf-socket.c:1222,1
    - Dst: set_local_ip
      Src: /src/curl/lib/cf-socket.c:1227,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-socket.c:1228,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1231,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1101
    functionDepth: 6
    functionLinenumber: 1101
    functionLinenumberEnd: 1234
    functionName: cf_socket_open
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - struct Curl_easy*::set::fsockopt
    - tcpkeepalive
    - curlx_nonblock
    - bindlocal
    - Curl_ipv6_scope
    - Curl_sndbuf_init
    - nosigpipe
    - set_local_ip
    - CURL_TRC_CF
    - curlx_now
    - set_ipv6_v6only
    - tcpnodelay
    - infof
    - set_remote_ip
    - socket_open
    - DEBUGASSERT
    - Curl_set_in_callback
    - socket_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_open(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/curl/lib/cf-socket.c:1252,1
    - Dst: connectx
      Src: /src/curl/lib/cf-socket.c:1260,1
    - Dst: connect
      Src: /src/curl/lib/cf-socket.c:1265,1
    - Dst: connect
      Src: /src/curl/lib/cf-socket.c:1268,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:1271,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:1273,1
    - Dst: connect
      Src: /src/curl/lib/cf-socket.c:1276,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/cf-socket.c:1278,1
    - Dst: connect
      Src: /src/curl/lib/cf-socket.c:1279,1
    - Dst: connect
      Src: /src/curl/lib/cf-socket.c:1285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - cf
    - data
    - is_tcp_fastopen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1289
    functionName: do_connect
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_ssl
    - connectx
    - __builtin_available
    - infof
    - setsockopt
    - connect
    linkageType: ''
    returnType: int
    signature: "int do_connect(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                     bool is_tcp_fastopen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cf_socket_open
      Src: /src/curl/lib/cf-socket.c:1309,1
    - Dst: do_connect
      Src: /src/curl/lib/cf-socket.c:1319,1
    - Dst: set_local_ip
      Src: /src/curl/lib/cf-socket.c:1321,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1322,1
    - Dst: socket_connect_result
      Src: /src/curl/lib/cf-socket.c:1325,1
    - Dst: verifyconnect
      Src: /src/curl/lib/cf-socket.c:1335,1
    - Dst: SOCKET_WRITABLE
      Src: /src/curl/lib/cf-socket.c:1338,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1341,1
    - Dst: verifyconnect
      Src: /src/curl/lib/cf-socket.c:1346,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-socket.c:1348,1
    - Dst: set_local_ip
      Src: /src/curl/lib/cf-socket.c:1349,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1352,1
    - Dst: verifyconnect
      Src: /src/curl/lib/cf-socket.c:1357,1
    - Dst: set_local_ip
      Src: /src/curl/lib/cf-socket.c:1364,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/lib/cf-socket.c:1366,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:1370,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:1373,1
    - Dst: socket_close
      Src: /src/curl/lib/cf-socket.c:1378,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1291
    functionDepth: 7
    functionLinenumber: 1291
    functionLinenumberEnd: 1384
    functionName: cf_tcp_connect
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - SOCKET_WRITABLE
    - curlx_strerror
    - CURL_TRC_CF
    - SET_SOCKERRNO
    - socket_connect_result
    - set_local_ip
    - curlx_now
    - cf_socket_open
    - verifyconnect
    - infof
    - socket_close
    - do_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_tcp_connect(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               bool *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_set_in_only
      Src: /src/curl/lib/cf-socket.c:1399,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1400,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/curl/lib/cf-socket.c:1404,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1405,1
    - Dst: Curl_pollset_add_in
      Src: /src/curl/lib/cf-socket.c:1409,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1415
    functionName: cf_socket_adjust_pollset
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_in
    - Curl_pollset_set_in_only
    - CURL_TRC_CF
    - Curl_pollset_set_out_only
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_adjust_pollset(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         struct easy_pollset
      *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/cf-socket.c:1428,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-socket.c:1430,1
    - Dst: WSAIoctl
      Src: /src/curl/lib/cf-socket.c:1431,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:1434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_socket_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1440
    functionName: win_update_sndbuf_size
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - setsockopt
    - curlx_now
    - WSAIoctl
    linkageType: ''
    returnType: void
    signature: void win_update_sndbuf_size(struct cf_socket_ctx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand_bytes
      Src: /src/curl/lib/cf-socket.c:1463,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1465,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1474,1
    - Dst: sendto
      Src: /src/curl/lib/cf-socket.c:1481,1
    - Dst: swrite
      Src: /src/curl/lib/cf-socket.c:1487,1
    - Dst: USE_WINSOCK
      Src: /src/curl/lib/cf-socket.c:1493,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:1510,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:1511,1
    - Dst: win_update_sndbuf_size
      Src: /src/curl/lib/cf-socket.c:1521,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1524,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1444
    functionDepth: 2
    functionLinenumber: 1444
    functionLinenumberEnd: 1528
    functionName: cf_socket_send
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - swrite
    - curlx_strerror
    - win_update_sndbuf_size
    - sendto
    - USE_WINSOCK
    - Curl_rand_bytes
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               const void *buf, size_t len, bool eos,\n
      \                              size_t *pnwritten)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/curl/lib/cf-socket.c:1542,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1544,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1551,1
    - Dst: sread
      Src: /src/curl/lib/cf-socket.c:1556,1
    - Dst: USE_WINSOCK
      Src: /src/curl/lib/cf-socket.c:1562,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:1578,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:1579,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1587,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-socket.c:1589,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1593
    functionName: cf_socket_recv
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - curlx_strerror
    - sread
    - curlx_now
    - USE_WINSOCK
    - Curl_rand
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               char *buf, size_t len, size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1605
    functionName: cf_socket_update_data
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cf_socket_update_data(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_local_ip
      Src: /src/curl/lib/cf-socket.c:1613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1619
    functionName: cf_socket_active
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - set_local_ip
    linkageType: ''
    returnType: void
    signature: void cf_socket_active(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf_socket_active
      Src: /src/curl/lib/cf-socket.c:1631,1
    - Dst: cf_socket_update_data
      Src: /src/curl/lib/cf-socket.c:1632,1
    - Dst: cf_socket_update_data
      Src: /src/curl/lib/cf-socket.c:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1621
    functionDepth: 3
    functionLinenumber: 1621
    functionLinenumberEnd: 1642
    functionName: cf_socket_cntrl
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - cf_socket_active
    - cf_socket_update_data
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_cntrl(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int event, int arg1, void
      *arg2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_poll
      Src: /src/curl/lib/cf-socket.c:1662,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1664,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1668,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1672,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1679
    functionName: cf_socket_conn_is_alive
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_poll
    - CURL_TRC_CF
    linkageType: ''
    returnType: bool
    signature: "bool cf_socket_conn_is_alive(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *input_pending)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:1689,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:1693,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:1697,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-socket.c:1703,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-socket.c:1720,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/cf-socket.c:1739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1741
    functionName: cf_socket_query
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - DEBUGASSERT
    - struct Curl_cfilter*::next::cft::query
    - FALLTHROUGH
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_socket_query(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int query, int *pres1, void
      *pres2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:1773,1
    - Dst: calloc
      Src: /src/curl/lib/cf-socket.c:1779,1
    - Dst: cf_socket_ctx_init
      Src: /src/curl/lib/cf-socket.c:1785,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/cf-socket.c:1789,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-socket.c:1794,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-socket.c:1795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1761
    functionDepth: 3
    functionLinenumber: 1761
    functionLinenumberEnd: 1799
    functionName: Curl_cf_tcp_create
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - calloc
    - Curl_cf_create
    - cf_socket_ctx_init
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_tcp_create(struct Curl_cfilter **pcf,\n                            struct
      Curl_easy *data,\n                            struct connectdata *conn,\n                            const
      struct Curl_addrinfo *ai,\n                            int transport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:1811,1
    - Dst: connect
      Src: /src/curl/lib/cf-socket.c:1815,1
    - Dst: socket_connect_result
      Src: /src/curl/lib/cf-socket.c:1818,1
    - Dst: set_local_ip
      Src: /src/curl/lib/cf-socket.c:1821,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1822,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:1838,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:1846,1
    - Dst: setsockopt
      Src: /src/curl/lib/cf-socket.c:1856,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1801
    functionDepth: 2
    functionLinenumber: 1801
    functionLinenumberEnd: 1862
    functionName: cf_udp_setup_quic
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - set_local_ip
    - socket_connect_result
    - setsockopt
    - DEBUGASSERT
    - connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_udp_setup_quic(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_socket_open
      Src: /src/curl/lib/cf-socket.c:1878,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1880,1
    - Dst: cf_udp_setup_quic
      Src: /src/curl/lib/cf-socket.c:1885,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:1888,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1864
    functionDepth: 7
    functionLinenumber: 1864
    functionLinenumberEnd: 1897
    functionName: cf_udp_connect
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - cf_udp_setup_quic
    - CURL_TRC_CF
    - cf_socket_open
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_udp_connect(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:1929,1
    - Dst: calloc
      Src: /src/curl/lib/cf-socket.c:1930,1
    - Dst: cf_socket_ctx_init
      Src: /src/curl/lib/cf-socket.c:1936,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/cf-socket.c:1940,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-socket.c:1945,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-socket.c:1946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1917
    functionDepth: 3
    functionLinenumber: 1917
    functionLinenumberEnd: 1950
    functionName: Curl_cf_udp_create
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - calloc
    - Curl_cf_create
    - cf_socket_ctx_init
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_udp_create(struct Curl_cfilter **pcf,\n                            struct
      Curl_easy *data,\n                            struct connectdata *conn,\n                            const
      struct Curl_addrinfo *ai,\n                            int transport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:1983,1
    - Dst: calloc
      Src: /src/curl/lib/cf-socket.c:1984,1
    - Dst: cf_socket_ctx_init
      Src: /src/curl/lib/cf-socket.c:1990,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/cf-socket.c:1994,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-socket.c:1999,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-socket.c:2000,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1971
    functionDepth: 3
    functionLinenumber: 1971
    functionLinenumberEnd: 2004
    functionName: Curl_cf_unix_create
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - calloc
    - Curl_cf_create
    - cf_socket_ctx_init
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_unix_create(struct Curl_cfilter **pcf,\n                             struct
      Curl_easy *data,\n                             struct connectdata *conn,\n                             const
      struct Curl_addrinfo *ai,\n                             int transport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/cf-socket.c:2019,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/cf-socket.c:2021,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-socket.c:2028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2034
    functionName: cf_tcp_accept_timeleft
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - curlx_now
    - Curl_timeleft
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t cf_tcp_accept_timeleft(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/cf-socket.c:2048,1
    - Dst: getpeername
      Src: /src/curl/lib/cf-socket.c:2049,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:2051,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:2052,1
    - Dst: Curl_addr2string
      Src: /src/curl/lib/cf-socket.c:2055,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:2057,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:2058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2036
    functionDepth: 1
    functionLinenumber: 2036
    functionLinenumberEnd: 2066
    functionName: cf_tcp_set_accepted_remote_ip
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - curlx_strerror
    - failf
    - Curl_addr2string
    - getpeername
    - memset
    linkageType: ''
    returnType: void
    signature: "void cf_tcp_set_accepted_remote_ip(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cf_tcp_accept_timeleft
      Src: /src/curl/lib/cf-socket.c:2093,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:2096,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:2100,1
    - Dst: Curl_socket_check
      Src: /src/curl/lib/cf-socket.c:2102,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:2104,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:2108,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:2112,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:2119,1
    - Dst: CURL_ACCEPT4
      Src: /src/curl/lib/cf-socket.c:2125,1
    - Dst: CURL_ACCEPT
      Src: /src/curl/lib/cf-socket.c:2128,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:2132,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:2133,1
    - Dst: fcntl
      Src: /src/curl/lib/cf-socket.c:2137,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/cf-socket.c:2138,1
    - Dst: failf
      Src: /src/curl/lib/cf-socket.c:2139,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/cf-socket.c:2140,1
    - Dst: infof
      Src: /src/curl/lib/cf-socket.c:2144,1
    - Dst: socket_close
      Src: /src/curl/lib/cf-socket.c:2149,1
    - Dst: cf_tcp_set_accepted_remote_ip
      Src: /src/curl/lib/cf-socket.c:2153,1
    - Dst: set_local_ip
      Src: /src/curl/lib/cf-socket.c:2154,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-socket.c:2156,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:2158,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cf-socket.c:2166,1
    - Dst: struct Curl_easy*::set::fsockopt
      Src: /src/curl/lib/cf-socket.c:2167,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/cf-socket.c:2169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2068
    functionDepth: 2
    functionLinenumber: 2068
    functionLinenumberEnd: 2176
    functionName: cf_tcp_accept_connect
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - CURL_ACCEPT4
    - fcntl
    - cf_tcp_accept_timeleft
    - curlx_nonblock
    - failf
    - CURL_TRC_CF
    - curlx_strerror
    - cf_tcp_set_accepted_remote_ip
    - set_local_ip
    - struct Curl_easy*::set::fsockopt
    - curlx_now
    - CURL_ACCEPT
    - infof
    - socket_close
    - Curl_socket_check
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_tcp_accept_connect(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_discard_all
      Src: /src/curl/lib/cf-socket.c:2205,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-socket.c:2206,1
    - Dst: calloc
      Src: /src/curl/lib/cf-socket.c:2208,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/cf-socket.c:2217,1
    - Dst: Curl_conn_cf_add
      Src: /src/curl/lib/cf-socket.c:2220,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-socket.c:2222,1
    - Dst: set_local_ip
      Src: /src/curl/lib/cf-socket.c:2224,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-socket.c:2225,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-socket.c:2231,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-socket.c:2232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - data
    - conn
    - sockindex
    - s
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2196
    functionDepth: 2
    functionLinenumber: 2196
    functionLinenumberEnd: 2235
    functionName: Curl_conn_tcp_listen_set
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_all
    - calloc
    - Curl_safefree
    - Curl_cf_create
    - CURL_TRC_CF
    - set_local_ip
    - curlx_now
    - Curl_conn_cf_add
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_tcp_listen_set(struct Curl_easy *data,\n                                  struct
      connectdata *conn,\n                                  int sockindex, curl_socket_t
      *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2247
    functionName: Curl_conn_is_tcp_listen
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_is_tcp_listen(struct Curl_easy *data,\n                             int
      sockindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2258
    functionName: cf_is_socket
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_is_socket(struct Curl_cfilter *cf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cf_is_socket
      Src: /src/curl/lib/cf-socket.c:2267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - cf
    - data
    - psock
    - paddr
    - pip
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - curl_socket_t*
    - struct Curl_sockaddr_ex**
    - struct ip_quadruple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2260
    functionDepth: 1
    functionLinenumber: 2260
    functionLinenumberEnd: 2279
    functionName: Curl_cf_socket_peek
    functionSourceFile: /src/curl/lib/cf-socket.c
    functionUses: 0
    functionsReached:
    - cf_is_socket
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_socket_peek(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             curl_socket_t *psock,\n                             const
      struct Curl_sockaddr_ex **paddr,\n                             struct ip_quadruple
      *pip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:168,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: get_protocol_family
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: curl_prot_t
    signature: curl_prot_t get_protocol_family(const struct Curl_handler *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:180,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:184,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:188,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:193,1
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/url.c:198,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/url.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: Curl_freeset
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 3
    functionsReached:
    - Curl_safefree
    - Curl_mime_cleanpart
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void Curl_freeset(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:210,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:211,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:212,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:213,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:214,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:215,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:216,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:217,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/url.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: up_free
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - curl_url_cleanup
    linkageType: ''
    returnType: void
    signature: void up_free(struct Curl_easy *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_remove_handle
      Src: /src/curl/lib/url.c:243,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/url.c:248,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/lib/url.c:252,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:256,1
    - Dst: Curl_expire_clear
      Src: /src/curl/lib/url.c:258,1
    - Dst: free
      Src: /src/curl/lib/url.c:261,1
    - Dst: Curl_async_destroy
      Src: /src/curl/lib/url.c:264,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/url.c:265,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/url.c:266,1
    - Dst: Curl_req_free
      Src: /src/curl/lib/url.c:275,1
    - Dst: Curl_ssl_close_all
      Src: /src/curl/lib/url.c:278,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:279,1
    - Dst: Curl_ssl_free_certinfo
      Src: /src/curl/lib/url.c:280,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:283,1
    - Dst: up_free
      Src: /src/curl/lib/url.c:288,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/url.c:289,1
    - Dst: Curl_flush_cookies
      Src: /src/curl/lib/url.c:290,1
    - Dst: Curl_altsvc_save
      Src: /src/curl/lib/url.c:292,1
    - Dst: Curl_altsvc_cleanup
      Src: /src/curl/lib/url.c:293,1
    - Dst: Curl_hsts_save
      Src: /src/curl/lib/url.c:296,1
    - Dst: Curl_hsts_cleanup
      Src: /src/curl/lib/url.c:298,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/url.c:299,1
    - Dst: Curl_http_auth_cleanup_digest
      Src: /src/curl/lib/url.c:302,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:304,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:305,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:306,1
    - Dst: data_priority_cleanup
      Src: /src/curl/lib/url.c:308,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/url.c:312,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/url.c:314,1
    - Dst: Curl_hash_destroy
      Src: /src/curl/lib/url.c:317,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:319,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:321,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:322,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:323,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:324,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:325,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:326,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:328,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:331,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:333,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:334,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:336,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:337,1
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/url.c:341,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:342,1
    - Dst: Curl_wildcard_dtor
      Src: /src/curl/lib/url.c:346,1
    - Dst: Curl_freeset
      Src: /src/curl/lib/url.c:347,1
    - Dst: Curl_headers_cleanup
      Src: /src/curl/lib/url.c:348,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/lib/url.c:349,1
    - Dst: free
      Src: /src/curl/lib/url.c:350,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 73
    argCount: 1
    argNames:
    - datap
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 352
    functionName: Curl_close
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 4
    functionsReached:
    - Curl_headers_cleanup
    - up_free
    - Curl_netrc_cleanup
    - curl_slist_free_all
    - Curl_ssl_close_all
    - Curl_async_destroy
    - Curl_share_lock
    - Curl_mime_cleanpart
    - Curl_altsvc_cleanup
    - Curl_hash_destroy
    - Curl_altsvc_save
    - Curl_share_unlock
    - Curl_hsts_save
    - Curl_freeset
    - Curl_flush_cookies
    - curl_multi_remove_handle
    - Curl_wildcard_dtor
    - Curl_expire_clear
    - free
    - curlx_dyn_free
    - Curl_req_free
    - Curl_detach_connection
    - Curl_ssl_free_certinfo
    - Curl_resolv_unlink
    - Curl_hsts_cleanup
    - DEBUGASSERT
    - data_priority_cleanup
    - Curl_http_auth_cleanup_digest
    - Curl_safefree
    - curl_multi_cleanup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_close(struct Curl_easy **datap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_initpart
      Src: /src/curl/lib/url.c:412,1
    - Dst: Curl_ssl_easy_config_init
      Src: /src/curl/lib/url.c:414,1
    - Dst: Curl_setopt_SSLVERSION
      Src: /src/curl/lib/url.c:439,1
    - Dst: Curl_setopt_SSLVERSION
      Src: /src/curl/lib/url.c:441,1
    - Dst: memset
      Src: /src/curl/lib/url.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 63
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 478
    functionName: Curl_init_userdefined
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - Curl_mime_initpart
    - Curl_ssl_easy_config_init
    - memset
    - Curl_setopt_SSLVERSION
    linkageType: ''
    returnType: void
    signature: void Curl_init_userdefined(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: easy_meta_freeentry
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void easy_meta_freeentry(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/url.c:504,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:507,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/url.c:507,1
    - Dst: Curl_hash_init
      Src: /src/curl/lib/url.c:522,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/url.c:524,1
    - Dst: Curl_req_init
      Src: /src/curl/lib/url.c:525,1
    - Dst: Curl_initinfo
      Src: /src/curl/lib/url.c:526,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/url.c:528,1
    - Dst: Curl_netrc_init
      Src: /src/curl/lib/url.c:530,1
    - Dst: Curl_init_userdefined
      Src: /src/curl/lib/url.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - curl
    argTypes:
    - struct Curl_easy**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 499
    functionDepth: 5
    functionLinenumber: 499
    functionLinenumberEnd: 535
    functionName: Curl_open
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 3
    functionsReached:
    - Curl_netrc_init
    - calloc
    - DEBUGF
    - curl_mfprintf
    - Curl_hash_init
    - Curl_llist_init
    - curlx_dyn_init
    - Curl_init_userdefined
    - Curl_initinfo
    - Curl_req_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_open(struct Curl_easy **curl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:541,1
    - Dst: struct connectdata*::handler::disconnect
      Src: /src/curl/lib/url.c:545,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/url.c:547,1
    - Dst: Curl_conn_cf_discard_all
      Src: /src/curl/lib/url.c:548,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/curl/lib/url.c:551,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/curl/lib/url.c:552,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/curl/lib/url.c:554,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/curl/lib/url.c:555,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:556,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:557,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:558,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:559,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:560,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:561,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:563,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:564,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:565,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:566,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:567,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:568,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:569,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:570,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:571,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:572,1
    - Dst: Curl_ssl_conn_config_cleanup
      Src: /src/curl/lib/url.c:573,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:576,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:578,1
    - Dst: Curl_uint_spbset_destroy
      Src: /src/curl/lib/url.c:579,1
    - Dst: Curl_hash_destroy
      Src: /src/curl/lib/url.c:580,1
    - Dst: free
      Src: /src/curl/lib/url.c:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 583
    functionName: Curl_conn_free
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_all
    - Curl_safefree
    - Curl_hash_destroy
    - Curl_free_idnconverted_hostname
    - Curl_uint_spbset_destroy
    - free
    - Curl_ssl_conn_config_cleanup
    - CURL_ARRAYSIZE
    - struct connectdata*::handler::disconnect
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_conn_free(struct Curl_easy *data, struct connectdata *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multiplex_wanted
      Src: /src/curl/lib/url.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 609
    functionName: xfer_may_multiplex
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_multiplex_wanted
    linkageType: ''
    returnType: bool
    signature: "bool xfer_may_multiplex(const struct Curl_easy *data,\n                               const
      struct connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - needle
    argTypes:
    - struct proxy_info*
    - struct proxy_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: proxy_info_matches
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: "bool proxy_info_matches(const struct proxy_info *data,\n                   const
      struct proxy_info *needle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proxy_info_matches
      Src: /src/curl/lib/url.c:628,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:637,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - needle
    argTypes:
    - struct proxy_info*
    - struct proxy_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 641
    functionName: socks_proxy_info_matches
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - proxy_info_matches
    - Curl_timestrcmp
    linkageType: ''
    returnType: bool
    signature: "bool socks_proxy_info_matches(const struct proxy_info *data,\n                         const
      struct proxy_info *needle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: proxy_info_matches
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: proxy_info_matches(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 646
    functionName: socks_proxy_info_matches
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: socks_proxy_info_matches(x,y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/curl/lib/url.c:658,1
    - Dst: infof
      Src: /src/curl/lib/url.c:660,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/url.c:668,1
    - Dst: infof
      Src: /src/curl/lib/url.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - data
    - conn
    - now
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 679
    functionName: conn_maxage
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - curlx_timediff
    linkageType: ''
    returnType: bool
    signature: "bool conn_maxage(struct Curl_easy *data,\n                        struct
      connectdata *conn,\n                        struct curltime now)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:688,1
    - Dst: CONN_INUSE
      Src: /src/curl/lib/url.c:689,1
    - Dst: curlx_now
      Src: /src/curl/lib/url.c:695,1
    - Dst: conn_maxage
      Src: /src/curl/lib/url.c:699,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/url.c:710,1
    - Dst: struct connectdata*::handler::connection_check
      Src: /src/curl/lib/url.c:712,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/url.c:715,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/url.c:721,1
    - Dst: Curl_conn_is_alive
      Src: /src/curl/lib/url.c:722,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:732,1
    - Dst: infof
      Src: /src/curl/lib/url.c:732,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/url.c:735,1
    - Dst: infof
      Src: /src/curl/lib/url.c:740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - conn
    - data
    - pnow
    argTypes:
    - struct connectdata*
    - struct Curl_easy*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 746
    functionName: Curl_conn_seems_dead
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::connection_check
    - infof
    - Curl_attach_connection
    - DEBUGF
    - curlx_now
    - conn_maxage
    - CONN_INUSE
    - Curl_detach_connection
    - Curl_conn_is_alive
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_seems_dead(struct connectdata *conn,\n                          struct
      Curl_easy *data,\n                          struct curltime *pnow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/curl/lib/url.c:753,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/url.c:757,1
    - Dst: struct connectdata*::handler::connection_check
      Src: /src/curl/lib/url.c:761,1
    - Dst: Curl_conn_keep_alive
      Src: /src/curl/lib/url.c:767,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/url.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - conn
    - now
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 773
    functionName: Curl_conn_upkeep
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::connection_check
    - Curl_attach_connection
    - Curl_conn_keep_alive
    - curlx_timediff
    - Curl_detach_connection
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_upkeep(struct Curl_easy *data,\n                          struct
      connectdata *conn,\n                          struct curltime *now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/url.c:781,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/url.c:782,1
    - Dst: Curl_safecmp
      Src: /src/curl/lib/url.c:783,1
    - Dst: Curl_safecmp
      Src: /src/curl/lib/url.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - struct connectdata*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 785
    functionName: ssh_config_matches
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_safecmp
    - Curl_conn_meta_get
    linkageType: ''
    returnType: bool
    signature: "bool ssh_config_matches(struct connectdata *one,\n                               struct
      connectdata *two)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/lib/url.c:830,1
    - Dst: strcmp
      Src: /src/curl/lib/url.c:849,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 859
    functionName: url_match_connect_config
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool url_match_connect_config(struct connectdata *conn,\n                                     struct
      url_conn_match *m)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/url.c:864,1
    - Dst: infof
      Src: /src/curl/lib/url.c:871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 878
    functionName: url_match_fully_connected
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_conn_is_connected
    linkageType: ''
    returnType: bool
    signature: "bool url_match_fully_connected(struct connectdata *conn,\n                                      struct
      url_conn_match *m)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/curl/lib/url.c:883,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 889
    functionName: url_match_multi
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - CONN_INUSE
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool url_match_multi(struct connectdata *conn,\n                            struct
      url_conn_match *m)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/curl/lib/url.c:894,1
    - Dst: url_match_multi
      Src: /src/curl/lib/url.c:901,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 906
    functionName: url_match_multiplex_needs
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - CONN_INUSE
    - url_match_multi
    linkageType: ''
    returnType: bool
    signature: "bool url_match_multiplex_needs(struct connectdata *conn,\n                                      struct
      url_conn_match *m)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/curl/lib/url.c:911,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:912,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/url.c:914,1
    - Dst: Curl_multi_max_concurrent_streams
      Src: /src/curl/lib/url.c:915,1
    - Dst: infof
      Src: /src/curl/lib/url.c:916,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/url.c:917,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/url.c:920,1
    - Dst: Curl_conn_get_max_concurrent
      Src: /src/curl/lib/url.c:921,1
    - Dst: infof
      Src: /src/curl/lib/url.c:922,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/url.c:923,1
    - Dst: infof
      Src: /src/curl/lib/url.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 930
    functionName: url_match_multiplex_limits
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - CONN_ATTACHED
    - Curl_multi_max_concurrent_streams
    - CONN_INUSE
    - infof
    - Curl_conn_get_max_concurrent
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool url_match_multiplex_limits(struct connectdata *conn,\n                                       struct
      url_conn_match *m)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/url.c:937,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/url.c:940,1
    - Dst: get_protocol_family
      Src: /src/curl/lib/url.c:944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 948
    functionName: url_match_ssl_use
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_ssl
    - get_protocol_family
    linkageType: ''
    returnType: bool
    signature: "bool url_match_ssl_use(struct connectdata *conn,\n                              struct
      url_conn_match *m)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: socks_proxy_info_matches
      Src: /src/curl/lib/url.c:959,1
    - Dst: proxy_info_matches
      Src: /src/curl/lib/url.c:967,1
    - Dst: IS_HTTPS_PROXY
      Src: /src/curl/lib/url.c:970,1
    - Dst: Curl_ssl_conn_config_match
      Src: /src/curl/lib/url.c:975,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:976,1
    - Dst: infof
      Src: /src/curl/lib/url.c:976,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 987
    functionName: url_match_proxy_use
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - socks_proxy_info_matches
    - Curl_ssl_conn_config_match
    - IS_HTTPS_PROXY
    - infof
    - proxy_info_matches
    linkageType: ''
    returnType: bool
    signature: "bool url_match_proxy_use(struct connectdata *conn,\n                                struct
      url_conn_match *m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 990
    functionName: url_match_proxy_use
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: url_match_proxy_use(c,m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/url.c:1001,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1010
    functionName: url_match_http_multiplex
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: bool
    signature: "bool url_match_http_multiplex(struct connectdata *conn,\n                                     struct
      url_conn_match *m)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/url.c:1018,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:1021,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1021,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:1028,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1028,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:1035,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1035,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1043
    functionName: url_match_http_version
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - Curl_conn_http_version
    linkageType: ''
    returnType: bool
    signature: "bool url_match_http_version(struct connectdata *conn,\n                                   struct
      url_conn_match *m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1046
    functionName: url_match_http_multiplex
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: url_match_http_multiplex(c,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1047
    functionName: url_match_http_version
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: url_match_http_version(c,m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: url_match_http_version
      Src: /src/curl/lib/url.c:1052,1
    - Dst: get_protocol_family
      Src: /src/curl/lib/url.c:1056,1
    - Dst: ssh_config_matches
      Src: /src/curl/lib/url.c:1057,1
    - Dst: get_protocol_family
      Src: /src/curl/lib/url.c:1062,1
    - Dst: ftp_conns_match
      Src: /src/curl/lib/url.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1068
    functionName: url_match_proto_config
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - get_protocol_family
    - ftp_conns_match
    - url_match_http_version
    - ssh_config_matches
    linkageType: ''
    returnType: bool
    signature: "bool url_match_proto_config(struct connectdata *conn,\n                                   struct
      url_conn_match *m)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:1076,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:1077,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:1078,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:1079,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1092
    functionName: url_match_auth
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_timestrcmp
    linkageType: ''
    returnType: bool
    signature: "bool url_match_auth(struct connectdata *conn,\n                           struct
      url_conn_match *m)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:1104,1
    - Dst: get_protocol_family
      Src: /src/curl/lib/url.c:1106,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/url.c:1112,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:1113,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1113,1
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:1121,1
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:1128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1133
    functionName: url_match_destination
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - curl_strequal
    - Curl_conn_is_ssl
    - infof
    - get_protocol_family
    linkageType: ''
    returnType: bool
    signature: "bool url_match_destination(struct connectdata *conn,\n                                  struct
      url_conn_match *m)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_conn_config_match
      Src: /src/curl/lib/url.c:1140,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:1141,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1148
    functionName: url_match_ssl_config
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_ssl_conn_config_match
    - DEBUGF
    linkageType: ''
    returnType: bool
    signature: "bool url_match_ssl_config(struct connectdata *conn,\n                                 struct
      url_conn_match *m)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:1160,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:1161,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:1183,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/url.c:1185,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - conn
    - m
    argTypes:
    - struct connectdata*
    - struct url_conn_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1213
    functionName: url_match_auth_ntlm
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_timestrcmp
    linkageType: ''
    returnType: bool
    signature: "bool url_match_auth_ntlm(struct connectdata *conn,\n                                struct
      url_conn_match *m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1216
    functionName: url_match_auth_ntlm
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: url_match_auth_ntlm(c,m)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: url_match_connect_config
      Src: /src/curl/lib/url.c:1224,1
    - Dst: url_match_destination
      Src: /src/curl/lib/url.c:1228,1
    - Dst: url_match_fully_connected
      Src: /src/curl/lib/url.c:1231,1
    - Dst: url_match_multiplex_needs
      Src: /src/curl/lib/url.c:1234,1
    - Dst: url_match_ssl_use
      Src: /src/curl/lib/url.c:1237,1
    - Dst: url_match_proxy_use
      Src: /src/curl/lib/url.c:1239,1
    - Dst: url_match_ssl_config
      Src: /src/curl/lib/url.c:1241,1
    - Dst: url_match_http_multiplex
      Src: /src/curl/lib/url.c:1244,1
    - Dst: url_match_auth
      Src: /src/curl/lib/url.c:1250,1
    - Dst: url_match_proto_config
      Src: /src/curl/lib/url.c:1253,1
    - Dst: url_match_auth_ntlm
      Src: /src/curl/lib/url.c:1256,1
    - Dst: url_match_multiplex_limits
      Src: /src/curl/lib/url.c:1261,1
    - Dst: CONN_INUSE
      Src: /src/curl/lib/url.c:1264,1
    - Dst: Curl_conn_seems_dead
      Src: /src/curl/lib/url.c:1264,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/url.c:1266,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - conn
    - userdata
    argTypes:
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1218
    functionDepth: 4
    functionLinenumber: 1218
    functionLinenumberEnd: 1273
    functionName: url_match_conn
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - url_match_ssl_config
    - url_match_proto_config
    - Curl_conn_terminate
    - Curl_conn_seems_dead
    - url_match_connect_config
    - url_match_ssl_use
    - url_match_auth
    - url_match_proxy_use
    - url_match_http_multiplex
    - url_match_multiplex_needs
    - url_match_destination
    - CONN_INUSE
    - url_match_auth_ntlm
    - url_match_fully_connected
    - url_match_multiplex_limits
    linkageType: ''
    returnType: bool
    signature: bool url_match_conn(struct connectdata *conn, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/url.c:1282,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - result
    - userdata
    argTypes:
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1298
    functionName: url_match_result
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_attach_connection
    linkageType: ''
    returnType: bool
    signature: bool url_match_result(bool result, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/url.c:1321,1
    - Dst: xfer_may_multiplex
      Src: /src/curl/lib/url.c:1324,1
    - Dst: Curl_cpool_find
      Src: /src/curl/lib/url.c:1339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - data
    - needle
    - usethis
    - force_reuse
    - waitpipe
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct connectdata**
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1348
    functionName: ConnectionExists
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - xfer_may_multiplex
    - Curl_cpool_find
    - memset
    linkageType: ''
    returnType: bool
    signature: "bool ConnectionExists(struct Curl_easy *data,\n                 struct
      connectdata *needle,\n                 struct connectdata **usethis,\n                 bool
      *force_reuse,\n                 bool *waitpipe)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/url.c:1355,1
    - Dst: connclose
      Src: /src/curl/lib/url.c:1371,1
    - Dst: curlx_now
      Src: /src/curl/lib/url.c:1374,1
    - Dst: IS_HTTPS_PROXY
      Src: /src/curl/lib/url.c:1390,1
    - Dst: Curl_uint_spbset_init
      Src: /src/curl/lib/url.c:1411,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:1415,1
    - Dst: free
      Src: /src/curl/lib/url.c:1435,1
    - Dst: free
      Src: /src/curl/lib/url.c:1436,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1438
    functionName: allocate_conn
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - calloc
    - strdup
    - Curl_uint_spbset_init
    - curlx_now
    - IS_HTTPS_PROXY
    - free
    - connclose
    linkageType: ''
    returnType: struct connectdata
    signature: struct connectdata *allocate_conn(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_getn_scheme_handler
      Src: /src/curl/lib/url.c:1442,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1443
    functionName: Curl_get_scheme_handler
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - strlen
    - Curl_getn_scheme_handler
    linkageType: ''
    returnType: struct Curl_handler
    signature: struct Curl_handler *Curl_get_scheme_handler(const char *scheme)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/curl/lib/url.c:1466,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1487,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1487,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1493,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1514,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1540,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1541,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1542,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1542,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1543,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1543,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1548,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1549,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1549,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1554,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1565,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1566,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1606,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1611,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1617,1
    - Dst: defined
      Src: /src/curl/lib/url.c:1617,1
    - Dst: Curl_raw_tolower
      Src: /src/curl/lib/url.c:1648,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/url.c:1654,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 13
    argCount: 2
    argNames:
    - scheme
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1658
    functionName: Curl_getn_scheme_handler
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 2
    functionsReached:
    - Curl_raw_tolower
    - curl_strnequal
    - defined
    linkageType: ''
    returnType: struct Curl_handler
    signature: "struct Curl_handler *Curl_getn_scheme_handler(const char *scheme,\n
      \                                                   size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_get_scheme_handler
      Src: /src/curl/lib/url.c:1664,1
    - Dst: failf
      Src: /src/curl/lib/url.c:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - data
    - conn
    - protostr
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1691
    functionName: findprotocol
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_get_scheme_handler
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode findprotocol(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             const char *protostr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - uc
    argTypes:
    - CURLUcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1706
    functionName: Curl_uc_to_curlcode
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_uc_to_curlcode(CURLUcode uc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1718,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/url.c:1726,1
    - Dst: if_nametoindex
      Src: /src/curl/lib/url.c:1739,1
    - Dst: Curl_if_nametoindex
      Src: /src/curl/lib/url.c:1741,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1746,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/url.c:1747,1
    - Dst: free
      Src: /src/curl/lib/url.c:1755,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - uh
    - data
    - conn
    argTypes:
    - CURLU*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1757
    functionName: zonefrom_url
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - curlx_strerror
    - if_nametoindex
    - curl_url_get
    - free
    - curlx_str_number
    - infof
    - Curl_if_nametoindex
    linkageType: ''
    returnType: void
    signature: "void zonefrom_url(CURLU *uh, struct Curl_easy *data,\n                         struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_nametoindex
      Src: /src/curl/lib/url.c:1739,1
    - Dst: Curl_if_nametoindex
      Src: /src/curl/lib/url.c:1741,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1746,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/url.c:1747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1732
    functionDepth: 1
    functionLinenumber: 1732
    functionLinenumberEnd: 1752
    functionName: if
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 11
    functionsReached:
    - infof
    - if_nametoindex
    - Curl_if_nametoindex
    - curlx_strerror
    linkageType: ''
    returnType: else
    signature: else if(Curl_if_nametoindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1760
    functionName: zonefrom_url
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zonefrom_url(a,b,c)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: up_free
      Src: /src/curl/lib/url.c:1774,1
    - Dst: curl_url_dup
      Src: /src/curl/lib/url.c:1778,1
    - Dst: curl_url
      Src: /src/curl/lib/url.c:1781,1
    - Dst: Curl_is_absolute_url
      Src: /src/curl/lib/url.c:1788,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/url.c:1789,1
    - Dst: free
      Src: /src/curl/lib/url.c:1795,1
    - Dst: curl_url_set
      Src: /src/curl/lib/url.c:1802,1
    - Dst: failf
      Src: /src/curl/lib/url.c:1809,1
    - Dst: curl_url_strerror
      Src: /src/curl/lib/url.c:1809,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1810,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1814,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1816,1
    - Dst: free
      Src: /src/curl/lib/url.c:1818,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1823,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1825,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1827,1
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:1829,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:1832,1
    - Dst: failf
      Src: /src/curl/lib/url.c:1833,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:1845,1
    - Dst: zonefrom_url
      Src: /src/curl/lib/url.c:1848,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:1852,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/curl/lib/url.c:1860,1
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:1866,1
    - Dst: Curl_hsts
      Src: /src/curl/lib/url.c:1868,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:1868,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:1870,1
    - Dst: curl_url_set
      Src: /src/curl/lib/url.c:1871,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1873,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:1875,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1877,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1879,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1880,1
    - Dst: free
      Src: /src/curl/lib/url.c:1882,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1883,1
    - Dst: infof
      Src: /src/curl/lib/url.c:1887,1
    - Dst: findprotocol
      Src: /src/curl/lib/url.c:1893,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1902,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/url.c:1905,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/url.c:1911,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1917,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1924,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/url.c:1927,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/url.c:1933,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1937,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1942,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:1945,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1950,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1952,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:1955,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1957,1
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:1960,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/url.c:1970,1
    - Dst: curl_url_get
      Src: /src/curl/lib/url.c:1977,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 140
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1765
    functionDepth: 6
    functionLinenumber: 1765
    functionLinenumberEnd: 1986
    functionName: parseurlandfillconn
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - up_free
    - Curl_is_absolute_url
    - curl_url_dup
    - zonefrom_url
    - failf
    - Curl_uc_to_curlcode
    - curl_strequal
    - strdup
    - curl_url_get
    - curl_url
    - curlx_str_number
    - curl_url_strerror
    - Curl_urldecode
    - curl_maprintf
    - strlen
    - findprotocol
    - free
    - Curl_setstropt
    - Curl_hsts
    - curl_url_set
    - Curl_safefree
    - Curl_idnconvert_hostname
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parseurlandfillconn(struct Curl_easy *data,\n                                    struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/url.c:1999,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/url.c:2002,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1993
    functionDepth: 6
    functionLinenumber: 1993
    functionLinenumberEnd: 2018
    functionName: setup_range
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - free
    - curl_maprintf
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setup_range(struct Curl_easy *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::setup_connection
      Src: /src/curl/lib/url.c:2038,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/url.c:2060,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/url.c:2063,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/url.c:2068,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:2069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2030
    functionDepth: 6
    functionLinenumber: 2030
    functionLinenumberEnd: 2072
    functionName: setup_connection_internals
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_strntolower
    - curl_maprintf
    - struct connectdata*::handler::setup_connection
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode setup_connection_internals(struct Curl_easy *data,\n                                           struct
      connectdata *conn)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/url.c:2111,1
    - Dst: curl_getenv
      Src: /src/curl/lib/url.c:2115,1
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:2129,1
    - Dst: Curl_strntoupper
      Src: /src/curl/lib/url.c:2131,1
    - Dst: curl_getenv
      Src: /src/curl/lib/url.c:2132,1
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:2138,1
    - Dst: curl_getenv
      Src: /src/curl/lib/url.c:2139,1
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:2141,1
    - Dst: curl_getenv
      Src: /src/curl/lib/url.c:2142,1
    - Dst: curl_getenv
      Src: /src/curl/lib/url.c:2144,1
    - Dst: curl_getenv
      Src: /src/curl/lib/url.c:2149,1
    - Dst: curl_getenv
      Src: /src/curl/lib/url.c:2152,1
    - Dst: infof
      Src: /src/curl/lib/url.c:2159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2083
    functionDepth: 6
    functionLinenumber: 2083
    functionLinenumberEnd: 2162
    functionName: detect_proxy
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_strntoupper
    - curl_msnprintf
    - curl_strequal
    - curl_getenv
    - infof
    linkageType: ''
    returnType: char
    signature: "char *detect_proxy(struct Curl_easy *data,\n                          struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/lib/url.c:2383,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2385,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:2389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2374
    functionDepth: 1
    functionLinenumber: 2374
    functionLinenumberEnd: 2392
    functionName: parse_proxy_auth
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_proxy_auth(struct Curl_easy *data,\n                                 struct
      connectdata *conn)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: parse_proxy_auth
      Src: /src/curl/lib/url.c:2408,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2417,1
    - Dst: failf
      Src: /src/curl/lib/url.c:2420,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2427,1
    - Dst: failf
      Src: /src/curl/lib/url.c:2430,1
    - Dst: curl_getenv
      Src: /src/curl/lib/url.c:2438,1
    - Dst: curl_getenv
      Src: /src/curl/lib/url.c:2441,1
    - Dst: infof
      Src: /src/curl/lib/url.c:2444,1
    - Dst: Curl_check_noproxy
      Src: /src/curl/lib/url.c:2448,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:2450,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:2451,1
    - Dst: detect_proxy
      Src: /src/curl/lib/url.c:2456,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:2458,1
    - Dst: free
      Src: /src/curl/lib/url.c:2463,1
    - Dst: free
      Src: /src/curl/lib/url.c:2469,1
    - Dst: free
      Src: /src/curl/lib/url.c:2475,1
    - Dst: parse_proxy
      Src: /src/curl/lib/url.c:2488,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:2489,1
    - Dst: parse_proxy
      Src: /src/curl/lib/url.c:2495,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:2497,1
    - Dst: free
      Src: /src/curl/lib/url.c:2531,1
    - Dst: free
      Src: /src/curl/lib/url.c:2561,1
    - Dst: free
      Src: /src/curl/lib/url.c:2562,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 113
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2396
    functionDepth: 7
    functionLinenumber: 2396
    functionLinenumberEnd: 2564
    functionName: create_conn_helper_init_proxy
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_check_noproxy
    - Curl_safefree
    - failf
    - strdup
    - detect_proxy
    - curl_getenv
    - free
    - parse_proxy
    - infof
    - parse_proxy_auth
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode create_conn_helper_init_proxy(struct Curl_easy *data,\n                                              struct
      connectdata *conn)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:2609,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:2610,1
    - Dst: memchr
      Src: /src/curl/lib/url.c:2613,1
    - Dst: memchr
      Src: /src/curl/lib/url.c:2617,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/url.c:2631,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/url.c:2637,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/url.c:2646,1
    - Dst: free
      Src: /src/curl/lib/url.c:2656,1
    - Dst: free
      Src: /src/curl/lib/url.c:2657,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - login
    - len
    - userp
    - passwdp
    - optionsp
    argTypes:
    - char*
    - size_t
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2597
    functionDepth: 1
    functionLinenumber: 2597
    functionLinenumberEnd: 2659
    functionName: Curl_parse_login_details
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 2
    functionsReached:
    - memchr
    - Curl_memdup0
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_parse_login_details(const char *login, const size_t
      len,\n                                  char **userp, char **passwdp,\n                                  char
      **optionsp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/url.c:2678,1
    - Dst: curl_url_set
      Src: /src/curl/lib/url.c:2679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2669
    functionDepth: 6
    functionLinenumber: 2669
    functionLinenumberEnd: 2685
    functionName: parse_remote_port
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_msnprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_remote_port(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2699
    functionName: str_has_ctrl
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool str_has_ctrl(const char *input)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/url.c:2715,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2716,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:2723,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:2724,1
    - Dst: Curl_parsenetrc
      Src: /src/curl/lib/url.c:2739,1
    - Dst: infof
      Src: /src/curl/lib/url.c:2744,1
    - Dst: Curl_netrc_strerror
      Src: /src/curl/lib/url.c:2750,1
    - Dst: failf
      Src: /src/curl/lib/url.c:2751,1
    - Dst: str_has_ctrl
      Src: /src/curl/lib/url.c:2758,1
    - Dst: str_has_ctrl
      Src: /src/curl/lib/url.c:2758,1
    - Dst: failf
      Src: /src/curl/lib/url.c:2759,1
    - Dst: free
      Src: /src/curl/lib/url.c:2770,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2771,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2777,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/url.c:2789,1
    - Dst: curl_url_set
      Src: /src/curl/lib/url.c:2796,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:2799,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2801,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/url.c:2807,1
    - Dst: curl_url_set
      Src: /src/curl/lib/url.c:2813,1
    - Dst: Curl_uc_to_curlcode
      Src: /src/curl/lib/url.c:2816,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2818,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2706
    functionDepth: 2
    functionLinenumber: 2706
    functionLinenumberEnd: 2825
    functionName: override_login
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - Curl_safefree
    - failf
    - Curl_parsenetrc
    - strdup
    - Curl_uc_to_curlcode
    - free
    - str_has_ctrl
    - infof
    - Curl_netrc_strerror
    - Curl_setstropt
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode override_login(struct Curl_easy *data,\n                               struct
      connectdata *conn)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/lib/url.c:2846,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2853,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2859
    functionName: set_login
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode set_login(struct Curl_easy *data,\n                          struct
      connectdata *conn)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/lib/url.c:2888,1
    - Dst: ISXDIGIT
      Src: /src/curl/lib/url.c:2901,1
    - Dst: strncmp
      Src: /src/curl/lib/url.c:2905,1
    - Dst: infof
      Src: /src/curl/lib/url.c:2906,1
    - Dst: ISALPHA
      Src: /src/curl/lib/url.c:2909,1
    - Dst: ISXDIGIT
      Src: /src/curl/lib/url.c:2909,1
    - Dst: infof
      Src: /src/curl/lib/url.c:2917,1
    - Dst: failf
      Src: /src/curl/lib/url.c:2924,1
    - Dst: strchr
      Src: /src/curl/lib/url.c:2931,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/url.c:2938,1
    - Dst: failf
      Src: /src/curl/lib/url.c:2939,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:2949,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:2950,1
    - Dst: free
      Src: /src/curl/lib/url.c:2959,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 4
    argNames:
    - data
    - host
    - hostname_result
    - port_result
    argTypes:
    - struct Curl_easy*
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2866
    functionDepth: 1
    functionLinenumber: 2866
    functionLinenumberEnd: 2961
    functionName: parse_connect_to_host_port
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - failf
    - strdup
    - strchr
    - free
    - curlx_str_number
    - ISXDIGIT
    - infof
    - strncmp
    - DEBUGASSERT
    - ISALPHA
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_connect_to_host_port(struct Curl_easy *data,\n                                           const
      char *host,\n                                           char **hostname_result,\n
      \                                          int *port_result)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/lib/url.c:2989,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:2995,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/url.c:2996,1
    - Dst: free
      Src: /src/curl/lib/url.c:2998,1
    - Dst: strchr
      Src: /src/curl/lib/url.c:3013,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/url.c:3016,1
    - Dst: parse_connect_to_host_port
      Src: /src/curl/lib/url.c:3026,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - data
    - conn
    - conn_to_host
    - host_result
    - port_result
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3030
      start: 2967
    functionDepth: 6
    functionLinenumber: 2967
    functionLinenumberEnd: 3030
    functionName: parse_connect_to_string
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_strnequal
    - strchr
    - free
    - parse_connect_to_host_port
    - curlx_str_number
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_connect_to_string(struct Curl_easy *data,\n                                        struct
      connectdata *conn,\n                                        const char *conn_to_host,\n
      \                                       char **host_result,\n                                        int
      *port_result)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: parse_connect_to_string
      Src: /src/curl/lib/url.c:3045,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3055,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:3060,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3066,1
    - Dst: getenv
      Src: /src/curl/lib/url.c:3082,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:3094,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3094,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:3109,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3109,1
    - Dst: Curl_altsvc_lookup
      Src: /src/curl/lib/url.c:3113,1
    - Dst: Curl_altsvc_lookup
      Src: /src/curl/lib/url.c:3123,1
    - Dst: Curl_altsvc_lookup
      Src: /src/curl/lib/url.c:3132,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:3139,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3148,1
    - Dst: Curl_alpnid2str
      Src: /src/curl/lib/url.c:3149,1
    - Dst: Curl_alpnid2str
      Src: /src/curl/lib/url.c:3150,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 77
    argCount: 3
    argNames:
    - data
    - conn
    - conn_to_host
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3174
      start: 3036
    functionDepth: 7
    functionLinenumber: 3036
    functionLinenumberEnd: 3174
    functionName: parse_connect_to_slist
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - DEBUGF
    - getenv
    - strdup
    - Curl_altsvc_lookup
    - parse_connect_to_string
    - Curl_alpnid2str
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_connect_to_slist(struct Curl_easy *data,\n                                       struct
      connectdata *conn,\n                                       struct curl_slist
      *conn_to_host)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3185,1
    - Dst: calloc
      Src: /src/curl/lib/url.c:3191,1
    - Dst: Curl_unix2addr
      Src: /src/curl/lib/url.c:3195,1
    - Dst: failf
      Src: /src/curl/lib/url.c:3200,1
    - Dst: free
      Src: /src/curl/lib/url.c:3201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - data
    - conn
    - unix_path
    - pdns
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3177
    functionDepth: 1
    functionLinenumber: 3177
    functionLinenumberEnd: 3208
    functionName: resolve_unix
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - calloc
    - failf
    - Curl_unix2addr
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode resolve_unix(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             char *unix_path,\n                             struct
      Curl_dns_entry **pdns)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/curl/lib/url.c:3221,1
    - Dst: CONN_IS_PROXIED
      Src: /src/curl/lib/url.c:3232,1
    - Dst: strncmp
      Src: /src/curl/lib/url.c:3233,1
    - Dst: resolve_unix
      Src: /src/curl/lib/url.c:3241,1
    - Dst: CONN_IS_PROXIED
      Src: /src/curl/lib/url.c:3247,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:3264,1
    - Dst: Curl_resolv_timeout
      Src: /src/curl/lib/url.c:3268,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3271,1
    - Dst: failf
      Src: /src/curl/lib/url.c:3277,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/url.c:3279,1
    - Dst: curlx_now
      Src: /src/curl/lib/url.c:3279,1
    - Dst: failf
      Src: /src/curl/lib/url.c:3283,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3286,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - data
    - conn
    - async
    - pdns
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3214
    functionDepth: 5
    functionLinenumber: 3214
    functionLinenumberEnd: 3288
    functionName: resolve_server
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_timeleft
    - failf
    - strdup
    - curlx_now
    - resolve_unix
    - CONN_IS_PROXIED
    - Curl_resolv_timeout
    - curlx_timediff
    - strncmp
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode resolve_server(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               bool *async,\n                               struct
      Curl_dns_entry **pdns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/url.c:3292,1
    - Dst: Curl_free_idnconverted_hostname
      Src: /src/curl/lib/url.c:3293,1
    - Dst: memset
      Src: /src/curl/lib/url.c:3295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - struct hostname*
    - struct hostname*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3296
      start: 3290
    functionDepth: 2
    functionLinenumber: 3290
    functionLinenumberEnd: 3296
    functionName: url_move_hostname
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - Curl_free_idnconverted_hostname
    - memset
    linkageType: ''
    returnType: void
    signature: void url_move_hostname(struct hostname *dest, struct hostname *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/url.c:3311,1
    - Dst: free
      Src: /src/curl/lib/url.c:3312,1
    - Dst: free
      Src: /src/curl/lib/url.c:3323,1
    - Dst: free
      Src: /src/curl/lib/url.c:3324,1
    - Dst: free
      Src: /src/curl/lib/url.c:3325,1
    - Dst: free
      Src: /src/curl/lib/url.c:3326,1
    - Dst: url_move_hostname
      Src: /src/curl/lib/url.c:3352,1
    - Dst: url_move_hostname
      Src: /src/curl/lib/url.c:3353,1
    - Dst: free
      Src: /src/curl/lib/url.c:3357,1
    - Dst: Curl_conn_free
      Src: /src/curl/lib/url.c:3364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - data
    - temp
    - existing
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3303
    functionDepth: 4
    functionLinenumber: 3303
    functionLinenumberEnd: 3365
    functionName: reuse_conn
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - free
    - url_move_hostname
    - Curl_conn_free
    linkageType: ''
    returnType: void
    signature: "void reuse_conn(struct Curl_easy *data,\n                       struct
      connectdata *temp,\n                       struct connectdata *existing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3367
    functionDepth: 1
    functionLinenumber: 3367
    functionLinenumberEnd: 3374
    functionName: conn_meta_freeentry
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void conn_meta_freeentry(void *p)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: allocate_conn
      Src: /src/curl/lib/url.c:3418,1
    - Dst: Curl_hash_init
      Src: /src/curl/lib/url.c:3431,1
    - Dst: parseurlandfillconn
      Src: /src/curl/lib/url.c:3434,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:3439,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:3447,1
    - Dst: strdup
      Src: /src/curl/lib/url.c:3456,1
    - Dst: create_conn_helper_init_proxy
      Src: /src/curl/lib/url.c:3468,1
    - Dst: parse_remote_port
      Src: /src/curl/lib/url.c:3483,1
    - Dst: override_login
      Src: /src/curl/lib/url.c:3489,1
    - Dst: set_login
      Src: /src/curl/lib/url.c:3493,1
    - Dst: parse_connect_to_slist
      Src: /src/curl/lib/url.c:3501,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/curl/lib/url.c:3510,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/curl/lib/url.c:3515,1
    - Dst: Curl_idnconvert_hostname
      Src: /src/curl/lib/url.c:3521,1
    - Dst: curl_strequal
      Src: /src/curl/lib/url.c:3531,1
    - Dst: setup_connection_internals
      Src: /src/curl/lib/url.c:3557,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3569,1
    - Dst: struct connectdata*::handler::connect_it
      Src: /src/curl/lib/url.c:3573,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/url.c:3578,1
    - Dst: Curl_cpool_add
      Src: /src/curl/lib/url.c:3579,1
    - Dst: setup_range
      Src: /src/curl/lib/url.c:3582,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/url.c:3584,1
    - Dst: Curl_init_do
      Src: /src/curl/lib/url.c:3585,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3590,1
    - Dst: struct connectdata*::handler::done
      Src: /src/curl/lib/url.c:3592,1
    - Dst: Curl_ssl_easy_config_complete
      Src: /src/curl/lib/url.c:3606,1
    - Dst: Curl_cpool_prune_dead
      Src: /src/curl/lib/url.c:3610,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3618,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3619,1
    - Dst: ConnectionExists
      Src: /src/curl/lib/url.c:3629,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/url.c:3638,1
    - Dst: reuse_conn
      Src: /src/curl/lib/url.c:3640,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3645,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3653,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3674,1
    - Dst: Curl_cpool_check_limits
      Src: /src/curl/lib/url.c:3678,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3680,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/url.c:3685,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3688,1
    - Dst: Curl_conn_free
      Src: /src/curl/lib/url.c:3699,1
    - Dst: Curl_ssl_conn_config_init
      Src: /src/curl/lib/url.c:3710,1
    - Dst: DEBUGF
      Src: /src/curl/lib/url.c:3712,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/url.c:3712,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/url.c:3716,1
    - Dst: Curl_cpool_add
      Src: /src/curl/lib/url.c:3717,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3728,1
    - Dst: infof
      Src: /src/curl/lib/url.c:3735,1
    - Dst: Curl_init_do
      Src: /src/curl/lib/url.c:3743,1
    - Dst: setup_range
      Src: /src/curl/lib/url.c:3750,1
    - Dst: Curl_conn_ev_data_setup
      Src: /src/curl/lib/url.c:3777,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 213
    argCount: 3
    argNames:
    - data
    - in_connect
    - reusedp
    argTypes:
    - struct Curl_easy*
    - struct connectdata**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3781
      start: 3391
    functionDepth: 8
    functionLinenumber: 3391
    functionLinenumberEnd: 3781
    functionName: create_conn
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_cpool_check_limits
    - Curl_attach_connection
    - CURL_TRC_M
    - Curl_hash_init
    - set_login
    - allocate_conn
    - Curl_ssl_conn_config_init
    - DEBUGF
    - strdup
    - curl_strequal
    - curl_mfprintf
    - Curl_conn_is_ssl
    - parse_remote_port
    - Curl_conn_ev_data_setup
    - struct connectdata*::handler::connect_it
    - setup_range
    - create_conn_helper_init_proxy
    - ConnectionExists
    - setup_connection_internals
    - parseurlandfillconn
    - parse_connect_to_slist
    - DEBUGASSERT
    - Curl_cpool_prune_dead
    - Curl_xfer_setup_nop
    - Curl_ssl_easy_config_complete
    - Curl_cpool_add
    - Curl_idnconvert_hostname
    - struct connectdata*::handler::done
    - Curl_conn_free
    - infof
    - Curl_init_do
    - override_login
    - reuse_conn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode create_conn(struct Curl_easy *data,\n                            struct
      connectdata **in_connect,\n                            bool *reusedp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3795,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/url.c:3796,1
    - Dst: Curl_conn_setup
      Src: /src/curl/lib/url.c:3799,1
    - Dst: Curl_headers_init
      Src: /src/curl/lib/url.c:3802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - dns
    - protocol_done
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3788
    functionDepth: 1
    functionLinenumber: 3788
    functionLinenumberEnd: 3807
    functionName: Curl_setup_conn
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - Curl_pgrsTime
    - DEBUGASSERT
    - Curl_conn_setup
    - Curl_headers_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_setup_conn(struct Curl_easy *data,\n                         struct
      Curl_dns_entry *dns,\n                         bool *protocol_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_hard_reset
      Src: /src/curl/lib/url.c:3821,1
    - Dst: create_conn
      Src: /src/curl/lib/url.c:3824,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3827,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3832,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/url.c:3834,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/url.c:3840,1
    - Dst: resolve_server
      Src: /src/curl/lib/url.c:3848,1
    - Dst: Curl_setup_conn
      Src: /src/curl/lib/url.c:3855,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/url.c:3863,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/url.c:3864,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - data
    - asyncp
    - protocol_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3809
    functionDepth: 9
    functionLinenumber: 3809
    functionLinenumberEnd: 3868
    functionName: Curl_connect
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - create_conn
    - Curl_setup_conn
    - Curl_conn_terminate
    - CONN_ATTACHED
    - Curl_req_hard_reset
    - Curl_pgrsTime
    - resolve_server
    - Curl_detach_connection
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_connect(struct Curl_easy *data,\n                      bool
      *asyncp,\n                      bool *protocol_done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_start
      Src: /src/curl/lib/url.c:3900,1
    - Dst: Curl_speedinit
      Src: /src/curl/lib/url.c:3902,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/url.c:3903,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/url.c:3904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3907
      start: 3880
    functionDepth: 1
    functionLinenumber: 3880
    functionLinenumberEnd: 3907
    functionName: Curl_init_do
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 2
    functionsReached:
    - Curl_req_start
    - Curl_pgrsSetDownloadCounter
    - Curl_speedinit
    - Curl_pgrsSetUploadCounter
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3919,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3925,1
    - Dst: free
      Src: /src/curl/lib/url.c:3928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - struct Curl_easy*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3933
      start: 3913
    functionDepth: 1
    functionLinenumber: 3913
    functionLinenumberEnd: 3933
    functionName: priority_remove_child
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void priority_remove_child(struct Curl_easy *parent,\n                                  struct
      Curl_easy *child)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: priority_remove_child
      Src: /src/curl/lib/url.c:3940,1
    - Dst: calloc
      Src: /src/curl/lib/url.c:3947,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3964,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/url.c:3975,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - parent
    - child
    - exclusive
    argTypes:
    - struct Curl_easy*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3982
      start: 3935
    functionDepth: 2
    functionLinenumber: 3935
    functionLinenumberEnd: 3982
    functionName: Curl_data_priority_add_child
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - calloc
    - DEBUGASSERT
    - priority_remove_child
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_data_priority_add_child(struct Curl_easy *parent,\n
      \                                     struct Curl_easy *child,\n                                      bool
      exclusive)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: priority_remove_child
      Src: /src/curl/lib/url.c:3991,1
    - Dst: Curl_data_priority_add_child
      Src: /src/curl/lib/url.c:3993,1
    - Dst: priority_remove_child
      Src: /src/curl/lib/url.c:3997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3998
      start: 3987
    functionDepth: 2
    functionLinenumber: 3987
    functionLinenumberEnd: 3998
    functionName: data_priority_cleanup
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - Curl_data_priority_add_child
    - priority_remove_child
    linkageType: ''
    returnType: void
    signature: void data_priority_cleanup(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/url.c:4003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 4001
    functionDepth: 0
    functionLinenumber: 4001
    functionLinenumberEnd: 4004
    functionName: Curl_data_priority_clear_state
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_data_priority_clear_state(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_add2
      Src: /src/curl/lib/url.c:4012,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/url.c:4012,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:4012,1
    - Dst: meta_dtor
      Src: /src/curl/lib/url.c:4014,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/url.c:4014,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:4014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - conn
    - key
    - meta_data
    - meta_dtor
    argTypes:
    - struct connectdata*
    - char*
    - void*
    - Curl_meta_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4018
      start: 4009
    functionDepth: 1
    functionLinenumber: 4009
    functionLinenumberEnd: 4018
    functionName: Curl_conn_meta_set
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 2
    functionsReached:
    - strlen
    - meta_dtor
    - CURL_UNCONST
    - Curl_hash_add2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_meta_set(struct connectdata *conn, const char *key,\n
      \                           void *meta_data, Curl_meta_dtor *meta_dtor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_delete
      Src: /src/curl/lib/url.c:4022,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/url.c:4022,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:4022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - key
    argTypes:
    - struct connectdata*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4020
    functionDepth: 1
    functionLinenumber: 4020
    functionLinenumberEnd: 4023
    functionName: Curl_conn_meta_remove
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached:
    - Curl_hash_delete
    - strlen
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void Curl_conn_meta_remove(struct connectdata *conn, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/url.c:4027,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/url.c:4027,1
    - Dst: strlen
      Src: /src/curl/lib/url.c:4027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - key
    argTypes:
    - struct connectdata*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4028
      start: 4025
    functionDepth: 1
    functionLinenumber: 4025
    functionLinenumberEnd: 4028
    functionName: Curl_conn_meta_get
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 21
    functionsReached:
    - strlen
    - Curl_hash_pick
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void *Curl_conn_meta_get(struct connectdata *conn, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - CURLcode
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4033
      start: 4030
    functionDepth: 0
    functionLinenumber: 4030
    functionLinenumberEnd: 4033
    functionName: Curl_1st_err
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_1st_err(CURLcode r1, CURLcode r2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - CURLcode
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 4035
    functionDepth: 0
    functionLinenumber: 4035
    functionLinenumberEnd: 4042
    functionName: Curl_1st_fatal
    functionSourceFile: /src/curl/lib/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_1st_fatal(CURLcode r1, CURLcode r2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/cfilters.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: Curl_cf_def_close
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: void Curl_cf_def_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: Curl_cf_def_shutdown
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_shutdown(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data, bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: Curl_cf_def_adjust_pollset
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_adjust_pollset(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    struct easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/curl/lib/cfilters.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: Curl_cf_def_data_pending
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cf_def_data_pending(struct Curl_cfilter *cf,\n                              const
      struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_send
      Src: /src/curl/lib/cfilters.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: Curl_cf_def_send
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                          const void *buf, size_t len, bool eos,\n                          size_t
      *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_recv
      Src: /src/curl/lib/cfilters.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: Curl_cf_def_recv
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                          char *buf, size_t len, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/curl/lib/cfilters.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: Curl_cf_def_conn_is_alive
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::is_alive
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cf_def_conn_is_alive(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               bool *input_pending)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::keep_alive
      Src: /src/curl/lib/cfilters.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: Curl_cf_def_conn_keep_alive
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::keep_alive
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_conn_keep_alive(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/cfilters.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: Curl_cf_def_query
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_query(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           int query, int *pres1, void *pres2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cft::destroy
      Src: /src/curl/lib/cfilters.c:145,1
    - Dst: free
      Src: /src/curl/lib/cfilters.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pcf
    - data
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: Curl_conn_cf_discard_chain
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - free
    - cft::destroy
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_cf_discard_chain(struct Curl_cfilter **pcf,\n                                struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/cfilters.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - conn
    - index
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: Curl_conn_cf_discard_all
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - Curl_conn_cf_discard_chain
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_cf_discard_all(struct Curl_easy *data,\n                              struct
      connectdata *conn, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:162,1
    - Dst: struct Curl_cfilter*::cft::do_close
      Src: /src/curl/lib/cfilters.c:166,1
    - Dst: Curl_shutdown_clear
      Src: /src/curl/lib/cfilters.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - index
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: Curl_conn_close
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_shutdown_clear
    - struct Curl_cfilter*::cft::do_close
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_conn_close(struct Curl_easy *data, int index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:178,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:180,1
    - Dst: curlx_now
      Src: /src/curl/lib/cfilters.c:194,1
    - Dst: Curl_shutdown_started
      Src: /src/curl/lib/cfilters.c:195,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cfilters.c:196,1
    - Dst: Curl_shutdown_start
      Src: /src/curl/lib/cfilters.c:198,1
    - Dst: Curl_shutdown_timeleft
      Src: /src/curl/lib/cfilters.c:201,1
    - Dst: infof
      Src: /src/curl/lib/cfilters.c:204,1
    - Dst: struct Curl_cfilter*::cft::do_shutdown
      Src: /src/curl/lib/cfilters.c:212,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cfilters.c:214,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cfilters.c:218,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cfilters.c:221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - data
    - sockindex
    - done
    argTypes:
    - struct Curl_easy*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 228
    functionName: Curl_conn_shutdown
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - Curl_shutdown_start
    - CURL_TRC_CF
    - CURL_TRC_M
    - curlx_now
    - struct Curl_cfilter*::cft::do_shutdown
    - CONN_SOCK_IDX_VALID
    - Curl_shutdown_started
    - Curl_shutdown_timeleft
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_conn_shutdown(struct Curl_easy *data, int sockindex,
      bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:235,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:236,1
    - Dst: struct Curl_cfilter*::cft::do_recv
      Src: /src/curl/lib/cfilters.c:241,1
    - Dst: failf
      Src: /src/curl/lib/cfilters.c:242,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - data
    - num
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: Curl_cf_recv
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - failf
    - struct Curl_cfilter*::cft::do_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_recv(struct Curl_easy *data, int num, char *buf,\n
      \                     size_t len, size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:254,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:255,1
    - Dst: struct Curl_cfilter*::cft::do_send
      Src: /src/curl/lib/cfilters.c:260,1
    - Dst: failf
      Src: /src/curl/lib/cfilters.c:262,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - data
    - num
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 266
    functionName: Curl_cf_send
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::do_send
    - DEBUGASSERT
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_send(struct Curl_easy *data, int num,\n                      const
      void *mem, size_t len, bool eos,\n                      size_t *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_recv
      Src: /src/curl/lib/cfilters.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - writer_ctx
    - buf
    - blen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: cf_bufq_reader
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_bufq_reader(void *writer_ctx,\n                               unsigned
      char *buf, size_t blen,\n                               size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_sipn
      Src: /src/curl/lib/cfilters.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - cf
    - data
    - bufq
    - maxlen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct bufq*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: Curl_cf_recv_bufq
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_sipn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_recv_bufq(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct bufq *bufq,\n                           size_t
      maxlen,\n                           size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/cfilters.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - writer_ctx
    - buf
    - buflen
    - pnwritten
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: cf_bufq_writer
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_bufq_writer(void *writer_ctx,\n                               const
      unsigned char *buf, size_t buflen,\n                               size_t *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_write_pass
      Src: /src/curl/lib/cfilters.c:322,1
    - Dst: Curl_bufq_pass
      Src: /src/curl/lib/cfilters.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - cf
    - data
    - bufq
    - buf
    - blen
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct bufq*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: Curl_cf_send_bufq
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_pass
    - Curl_bufq_write_pass
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_send_bufq(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct bufq *bufq,\n                           const
      unsigned char *buf, size_t blen,\n                           size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:335,1
    - Dst: calloc
      Src: /src/curl/lib/cfilters.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pcf
    - cft
    - ctx
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_cftype*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 346
    functionName: Curl_cf_create
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 5
    functionsReached:
    - calloc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_create(struct Curl_cfilter **pcf,\n                        const
      struct Curl_cftype *cft,\n                        void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:354,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:355,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:356,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cfilters.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - data
    - conn
    - index
    - cf
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: Curl_conn_cf_add
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_cf_add(struct Curl_easy *data,\n                      struct
      connectdata *conn,\n                      int index,\n                      struct
      Curl_cfilter *cf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:370,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:371,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - cf_at
    - cf_new
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 383
    functionName: Curl_conn_cf_insert_after
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_cf_insert_after(struct Curl_cfilter *cf_at,\n                               struct
      Curl_cfilter *cf_new)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/cfilters.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pcf
    - data
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: Curl_conn_cf_discard
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_cf_discard(struct Curl_cfilter **pcf,\n                          struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::do_connect
      Src: /src/curl/lib/cfilters.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: Curl_conn_cf_connect
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::do_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_connect(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::do_close
      Src: /src/curl/lib/cfilters.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: Curl_conn_cf_close
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::do_close
    linkageType: ''
    returnType: void
    signature: void Curl_conn_cf_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::do_send
      Src: /src/curl/lib/cfilters.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: Curl_conn_cf_send
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::do_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                           const void *buf, size_t len, bool eos,\n
      \                          size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::do_recv
      Src: /src/curl/lib/cfilters.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: Curl_conn_cf_recv
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::do_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                           char *buf, size_t len, size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/cfilters.c:447,1
    - Dst: Curl_conn_cf_get_ip_info
      Src: /src/curl/lib/cfilters.c:452,1
    - Dst: infof
      Src: /src/curl/lib/cfilters.c:456,1
    - Dst: CURL_CONN_HOST_DISPNAME
      Src: /src/curl/lib/cfilters.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - cf
    argTypes:
    - struct Curl_easy*
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 463
    functionName: cf_verboseconnect
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_ip_info
    - CURL_CONN_HOST_DISPNAME
    - infof
    - Curl_trc_is_verbose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_verboseconnect(struct Curl_easy *data,\n                                  struct
      Curl_cfilter *cf)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:478,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:479,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:480,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/cfilters.c:493,1
    - Dst: Curl_pollfds_init
      Src: /src/curl/lib/cfilters.c:494,1
    - Dst: Curl_conn_needs_flush
      Src: /src/curl/lib/cfilters.c:496,1
    - Dst: DEBUGF
      Src: /src/curl/lib/cfilters.c:497,1
    - Dst: infof
      Src: /src/curl/lib/cfilters.c:497,1
    - Dst: Curl_conn_flush
      Src: /src/curl/lib/cfilters.c:498,1
    - Dst: struct Curl_cfilter*::cft::do_connect
      Src: /src/curl/lib/cfilters.c:503,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cfilters.c:504,1
    - Dst: cf_cntrl_update_info
      Src: /src/curl/lib/cfilters.c:510,1
    - Dst: conn_report_connect_stats
      Src: /src/curl/lib/cfilters.c:511,1
    - Dst: curlx_now
      Src: /src/curl/lib/cfilters.c:512,1
    - Dst: cf_verboseconnect
      Src: /src/curl/lib/cfilters.c:514,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cfilters.c:519,1
    - Dst: conn_report_connect_stats
      Src: /src/curl/lib/cfilters.c:521,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/cfilters.c:529,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/cfilters.c:530,1
    - Dst: failf
      Src: /src/curl/lib/cfilters.c:535,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cfilters.c:540,1
    - Dst: Curl_pollset_reset
      Src: /src/curl/lib/cfilters.c:541,1
    - Dst: Curl_pollfds_reset
      Src: /src/curl/lib/cfilters.c:542,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/curl/lib/cfilters.c:545,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/cfilters.c:546,1
    - Dst: Curl_pollfds_add_ps
      Src: /src/curl/lib/cfilters.c:549,1
    - Dst: Curl_poll
      Src: /src/curl/lib/cfilters.c:553,1
    - Dst: CURLMIN
      Src: /src/curl/lib/cfilters.c:554,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cfilters.c:555,1
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/cfilters.c:566,1
    - Dst: Curl_pollfds_cleanup
      Src: /src/curl/lib/cfilters.c:567,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 4
    argNames:
    - data
    - sockindex
    - blocking
    - done
    argTypes:
    - struct Curl_easy*
    - int
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 569
    functionName: Curl_conn_connect
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - struct Curl_cfilter*::cft::do_connect
    - Curl_conn_needs_flush
    - Curl_pollset_init
    - Curl_conn_cf_get_socket
    - failf
    - DEBUGF
    - Curl_pollset_reset
    - curlx_now
    - conn_report_connect_stats
    - Curl_pollfds_reset
    - Curl_pollfds_init
    - cf_cntrl_update_info
    - CURL_TRC_CF
    - Curl_pollfds_cleanup
    - cf_verboseconnect
    - CONN_SOCK_IDX_VALID
    - Curl_conn_flush
    - DEBUGASSERT
    - Curl_poll
    - Curl_pollfds_add_ps
    - Curl_timeleft
    - Curl_pollset_cleanup
    - CURLMIN
    - Curl_pollset_set_out_only
    - infof
    - Curl_conn_adjust_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_connect(struct Curl_easy *data,\n                           int
      sockindex,\n                           bool blocking,\n                           bool
      *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - sockindex
    argTypes:
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 576
    functionName: Curl_conn_is_setup
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_setup(struct connectdata *conn, int sockindex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - sockindex
    argTypes:
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 586
    functionName: Curl_conn_is_connected
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_connected(struct connectdata *conn, int sockindex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 603
    functionName: Curl_conn_is_ip_connected
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_ip_connected(struct Curl_easy *data, int sockindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 614
    functionName: cf_is_ssl
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_is_ssl(struct Curl_cfilter *cf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:618,1
    - Dst: cf_is_ssl
      Src: /src/curl/lib/cfilters.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - sockindex
    argTypes:
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: Curl_conn_is_ssl
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 10
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - cf_is_ssl
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_ssl(struct connectdata *conn, int sockindex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:627,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/cfilters.c:629,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - data
    - conn
    - sockindex
    - info
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - struct curl_tlssessioninfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 636
    functionName: Curl_conn_get_ssl_info
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_ssl
    - CONN_SOCK_IDX_VALID
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_get_ssl_info(struct Curl_easy *data,\n                            struct
      connectdata *conn, int sockindex,\n                            struct curl_tlssessioninfo
      *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:643,1
    - Dst: Curl_conn_cf_get_ip_info
      Src: /src/curl/lib/cfilters.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - data
    - conn
    - sockindex
    - is_ipv6
    - ipquad
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - bool*
    - struct ip_quadruple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: Curl_conn_get_ip_info
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_ip_info
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_get_ip_info(struct Curl_easy *data,\n                               struct
      connectdata *conn, int sockindex,\n                               bool *is_ipv6,
      struct ip_quadruple *ipquad)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - sockindex
    argTypes:
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 664
    functionName: Curl_conn_is_multiplex
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_is_multiplex(struct connectdata *conn, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_transport
      Src: /src/curl/lib/cfilters.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 671
    functionName: Curl_conn_get_transport
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_transport
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char Curl_conn_get_transport(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_alpn_negotiated
      Src: /src/curl/lib/cfilters.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: Curl_conn_get_alpn_negotiated
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - Curl_conn_cf_get_alpn_negotiated
    linkageType: ''
    returnType: char
    signature: "char *Curl_conn_get_alpn_negotiated(struct Curl_easy *data,\n                                          struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:691,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 702
    functionName: Curl_conn_http_version
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 3
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char Curl_conn_http_version(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:709,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:710,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:711,1
    - Dst: struct Curl_cfilter*::cft::has_data_pending
      Src: /src/curl/lib/cfilters.c:719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 722
    functionName: Curl_conn_data_pending
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - struct Curl_cfilter*::cft::has_data_pending
    - DEBUGASSERT
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_data_pending(struct Curl_easy *data, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 732
    functionName: Curl_conn_cf_needs_flush
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_cf_needs_flush(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:736,1
    - Dst: Curl_conn_cf_needs_flush
      Src: /src/curl/lib/cfilters.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 739
    functionName: Curl_conn_needs_flush
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - Curl_conn_cf_needs_flush
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: bool
    signature: bool Curl_conn_needs_flush(struct Curl_easy *data, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::adjust_pollset
      Src: /src/curl/lib/cfilters.c:755,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 759
    functionName: Curl_conn_cf_adjust_pollset
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::adjust_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_adjust_pollset(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:768,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:769,1
    - Dst: Curl_conn_cf_adjust_pollset
      Src: /src/curl/lib/cfilters.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - ps
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 774
    functionName: Curl_conn_adjust_pollset
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - Curl_conn_cf_adjust_pollset
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_adjust_pollset(struct Curl_easy *data,\n                                  struct
      connectdata *conn,\n                                  struct easy_pollset *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:783,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:784,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:785,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/cfilters.c:786,1
    - Dst: Curl_conn_cf_adjust_pollset
      Src: /src/curl/lib/cfilters.c:788,1
    - Dst: Curl_pollset_poll
      Src: /src/curl/lib/cfilters.c:790,1
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/cfilters.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - timeout_ms
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 793
    functionName: Curl_conn_cf_poll
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_cleanup
    - Curl_pollset_poll
    - Curl_conn_cf_adjust_pollset
    - Curl_pollset_init
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int Curl_conn_cf_poll(struct Curl_cfilter *cf,\n                      struct
      Curl_easy *data,\n                      timediff_t timeout_ms)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:801,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:807,1
    - Dst: cft::query
      Src: /src/curl/lib/cfilters.c:818,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/cfilters.c:819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - data
    - sockindex
    - phost
    - pport
    argTypes:
    - struct Curl_easy*
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 825
    functionName: Curl_conn_get_current_host
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - DEBUGASSERT
    - CONN_SOCK_IDX_VALID
    - cft::query
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_get_current_host(struct Curl_easy *data, int sockindex,\n
      \                               const char **phost, int *pport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 837
    functionName: Curl_cf_def_cntrl
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_def_cntrl(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           int event, int arg1, void *arg2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::cntrl
      Src: /src/curl/lib/cfilters.c:849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - cf
    - data
    - ignore_result
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 854
    functionName: Curl_conn_cf_cntrl
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::cft::cntrl
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_cntrl(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            bool ignore_result,\n                            int
      event, int arg1, void *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 863
    functionName: Curl_conn_cf_get_socket
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t Curl_conn_cf_get_socket(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 872
    functionName: Curl_conn_cf_get_transport
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char Curl_conn_cf_get_transport(struct Curl_cfilter *cf,\n
      \                                        struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cfilters.c:878,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:879,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/cfilters.c:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 883
    functionName: Curl_conn_cf_get_alpn_negotiated
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_CF
    - CURL_UNCONST
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: char
    signature: "char *Curl_conn_cf_get_alpn_negotiated(struct Curl_cfilter *cf,\n
      \                                            struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:890,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/cfilters.c:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 894
    functionName: cf_get_remote_addr
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: struct Curl_sockaddr_ex
    signature: 'struct Curl_sockaddr_ex *

      cf_get_remote_addr(struct Curl_cfilter *cf, struct Curl_easy *data)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cf
    - data
    - is_ipv6
    - ipquad
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    - struct ip_quadruple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 907
    functionName: Curl_conn_cf_get_ip_info
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_cf_get_ip_info(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  bool *is_ipv6, struct ip_quadruple
      *ipquad)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/cfilters.c:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 922
    functionName: Curl_conn_get_first_socket
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    linkageType: ''
    returnType: curl_socket_t
    signature: curl_socket_t Curl_conn_get_first_socket(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:928,1
    - Dst: cf_get_remote_addr
      Src: /src/curl/lib/cfilters.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 931
    functionName: Curl_conn_get_remote_addr
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - cf_get_remote_addr
    linkageType: ''
    returnType: struct Curl_sockaddr_ex
    signature: 'struct Curl_sockaddr_ex *

      Curl_conn_get_remote_addr(struct Curl_easy *data, int sockindex)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:936,1
    - Dst: Curl_conn_cf_cntrl
      Src: /src/curl/lib/cfilters.c:939,1
    - Dst: fake_sclose
      Src: /src/curl/lib/cfilters.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 944
    functionName: Curl_conn_forget_socket
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - fake_sclose
    - CONN_SOCK_IDX_VALID
    - Curl_conn_cf_cntrl
    linkageType: ''
    returnType: void
    signature: void Curl_conn_forget_socket(struct Curl_easy *data, int sockindex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cfilters.c:954,1
    - Dst: Curl_conn_cf_cntrl
      Src: /src/curl/lib/cfilters.c:955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - conn
    - data
    - ignore_result
    - event
    - arg1
    - arg2
    argTypes:
    - struct connectdata*
    - struct Curl_easy*
    - bool
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 961
    functionName: cf_cntrl_all
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_cntrl
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_cntrl_all(struct connectdata *conn,\n                             struct
      Curl_easy *data,\n                             bool ignore_result,\n                             int
      event, int arg1, void *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/curl/lib/cfilters.c:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 967
    functionName: Curl_conn_ev_data_setup
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_conn_ev_data_setup(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:971,1
    - Dst: Curl_conn_cf_cntrl
      Src: /src/curl/lib/cfilters.c:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 975
    functionName: Curl_conn_flush
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 2
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - Curl_conn_cf_cntrl
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_conn_flush(struct Curl_easy *data, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/curl/lib/cfilters.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: Curl_conn_ev_data_done_send
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: void
    signature: void Curl_conn_ev_data_done_send(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/curl/lib/cfilters.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - premature
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: Curl_conn_ev_data_done
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: void
    signature: void Curl_conn_ev_data_done(struct Curl_easy *data, bool premature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/curl/lib/cfilters.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - do_pause
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 999
    functionName: Curl_conn_ev_data_pause
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_conn_ev_data_pause(struct Curl_easy *data, bool do_pause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_cntrl_all
      Src: /src/curl/lib/cfilters.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1005
    functionName: cf_cntrl_update_info
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - cf_cntrl_all
    linkageType: ''
    returnType: void
    signature: "void cf_cntrl_update_info(struct Curl_easy *data,\n                                 struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/cfilters.c:1018,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:1019,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/curl/lib/cfilters.c:1021,1
    - Dst: memset
      Src: /src/curl/lib/cfilters.c:1023,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:1024,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/curl/lib/cfilters.c:1026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1028
    functionName: conn_report_connect_stats
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::query
    - Curl_pgrsTimeWas
    - memset
    linkageType: ''
    returnType: void
    signature: "void conn_report_connect_stats(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::cft::is_alive
      Src: /src/curl/lib/cfilters.c:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - data
    - conn
    - input_pending
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1036
    functionName: Curl_conn_is_alive
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - struct Curl_cfilter*::cft::is_alive
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_is_alive(struct Curl_easy *data, struct connectdata
      *conn,\n                        bool *input_pending)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:1044,1
    - Dst: struct Curl_cfilter*::cft::keep_alive
      Src: /src/curl/lib/cfilters.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1048
    functionName: Curl_conn_keep_alive
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - struct Curl_cfilter*::cft::keep_alive
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_keep_alive(struct Curl_easy *data,\n                              struct
      connectdata *conn,\n                              int sockindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:1058,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1068
    functionName: Curl_conn_get_max_concurrent
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 1
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_conn_get_max_concurrent(struct Curl_easy *data,\n                                    struct
      connectdata *conn,\n                                    int sockindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:1078,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cfilters.c:1082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1085
    functionName: Curl_conn_get_stream_error
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - struct Curl_cfilter*::cft::query
    linkageType: ''
    returnType: int
    signature: "int Curl_conn_get_stream_error(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               int sockindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sockfd
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1093
    functionName: Curl_conn_sockindex
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Curl_conn_sockindex(struct Curl_easy *data, curl_socket_t sockfd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:1098,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:1099,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:1100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - data
    - sockindex
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1106
    functionName: Curl_conn_recv
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_recv(struct Curl_easy *data, int sockindex,\n                        char
      *buf, size_t blen, size_t *pnread)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:1114,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:1115,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cfilters.c:1116,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:1116,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/cfilters.c:1117,1
    - Dst: getenv
      Src: /src/curl/lib/cfilters.c:1123,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/cfilters.c:1126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 6
    argNames:
    - data
    - sockindex
    - buf
    - blen
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1138
    functionName: Curl_conn_send
    functionSourceFile: /src/curl/lib/cfilters.c
    functionUses: 4
    functionsReached:
    - curlx_str_number
    - DEBUGASSERT
    - CONN_SOCK_IDX_VALID
    - getenv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_send(struct Curl_easy *data, int sockindex,\n                        const
      void *buf, size_t blen, bool eos,\n                        size_t *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:77,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:79,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:82,1
    - Dst: do_init_writer_stack
      Src: /src/curl/lib/sendf.c:86,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:89,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/sendf.c:92,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/sendf.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - data
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 96
    functionName: Curl_client_write
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 10
    functionsReached:
    - Curl_cwriter_write
    - DEBUGASSERT
    - CURL_TRC_WRITE
    - do_init_writer_stack
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_client_write(struct Curl_easy *data,\n                           int
      type, const char *buf, size_t blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cwriter*::cwt::do_close
      Src: /src/curl/lib/sendf.c:103,1
    - Dst: free
      Src: /src/curl/lib/sendf.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: cl_reset_writer
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - free
    - struct Curl_cwriter*::cwt::do_close
    linkageType: ''
    returnType: void
    signature: void cl_reset_writer(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::do_close
      Src: /src/curl/lib/sendf.c:114,1
    - Dst: free
      Src: /src/curl/lib/sendf.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: cl_reset_reader
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - free
    - struct Curl_creader*::crt::do_close
    linkageType: ''
    returnType: void
    signature: void cl_reset_reader(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cl_reset_reader
      Src: /src/curl/lib/sendf.c:122,1
    - Dst: cl_reset_writer
      Src: /src/curl/lib/sendf.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: Curl_client_cleanup
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - cl_reset_writer
    - cl_reset_reader
    linkageType: ''
    returnType: void
    signature: void Curl_client_cleanup(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:133,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:136,1
    - Dst: cl_reset_reader
      Src: /src/curl/lib/sendf.c:137,1
    - Dst: cl_reset_writer
      Src: /src/curl/lib/sendf.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: Curl_client_reset
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_READ
    - cl_reset_writer
    - cl_reset_reader
    linkageType: ''
    returnType: void
    signature: void Curl_client_reset(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:151,1
    - Dst: struct Curl_creader*::crt::cntrl
      Src: /src/curl/lib/sendf.c:153,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:155,1
    - Dst: cl_reset_reader
      Src: /src/curl/lib/sendf.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: Curl_client_start
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_READ
    - cl_reset_reader
    - failf
    - struct Curl_creader*::crt::cntrl
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_client_start(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: Curl_creader_will_rewind
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_creader_will_rewind(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - enable
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: Curl_creader_set_rewind
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_creader_set_rewind(struct Curl_easy *data, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cwriter*::cwt::do_write
      Src: /src/curl/lib/sendf.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: Curl_cwriter_write
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - struct Curl_cwriter*::cwt::do_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_write(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer, int type,\n                            const char *buf,
      size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: Curl_cwriter_def_init
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_def_init(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/sendf.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: Curl_cwriter_def_write
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_def_write(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer, int type,\n                                const char
      *buf, size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: Curl_cwriter_def_close
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_cwriter_def_close(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - limit
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: get_max_body_write_len
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_max_body_write_len(struct Curl_easy *data, curl_off_t limit)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/sendf.c:247,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/sendf.c:254,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/sendf.c:255,1
    - Dst: streamclose
      Src: /src/curl/lib/sendf.c:268,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/sendf.c:269,1
    - Dst: get_max_body_write_len
      Src: /src/curl/lib/sendf.c:284,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:296,1
    - Dst: get_max_body_write_len
      Src: /src/curl/lib/sendf.c:305,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/sendf.c:312,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/sendf.c:313,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/sendf.c:320,1
    - Dst: infof
      Src: /src/curl/lib/sendf.c:326,1
    - Dst: connclose
      Src: /src/curl/lib/sendf.c:334,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:338,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 345
    functionName: cw_download_write
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - failf
    - Curl_pgrsTime
    - get_max_body_write_len
    - Curl_pgrsSetDownloadCounter
    - CURL_TRC_WRITE
    - connclose
    - streamclose
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_download_write(struct Curl_easy *data,\n                                  struct
      Curl_cwriter *writer, int type,\n                                  const char
      *buf, size_t nbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_debug
      Src: /src/curl/lib/sendf.c:363,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/sendf.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: cw_raw_write
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_raw_write(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer, int type,\n                             const char *buf,
      size_t nbytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:387,1
    - Dst: calloc
      Src: /src/curl/lib/sendf.c:388,1
    - Dst: struct Curl_cwtype*::do_init
      Src: /src/curl/lib/sendf.c:396,1
    - Dst: free
      Src: /src/curl/lib/sendf.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - pwriter
    - data
    - cwt
    - phase
    argTypes:
    - struct Curl_cwriter**
    - struct Curl_easy*
    - struct Curl_cwtype*
    - Curl_cwriter_phase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 403
    functionName: Curl_cwriter_create
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - free
    - calloc
    - DEBUGASSERT
    - struct Curl_cwtype*::do_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_create(struct Curl_cwriter **pwriter,\n                             struct
      Curl_easy *data,\n                             const struct Curl_cwtype *cwt,\n
      \                            Curl_cwriter_phase phase)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cwriter*::cwt::do_close
      Src: /src/curl/lib/sendf.c:409,1
    - Dst: free
      Src: /src/curl/lib/sendf.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: Curl_cwriter_free
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - free
    - struct Curl_cwriter*::cwt::do_close
    linkageType: ''
    returnType: void
    signature: "void Curl_cwriter_free(struct Curl_easy *data,\n                       struct
      Curl_cwriter *writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - phase
    argTypes:
    - struct Curl_easy*
    - Curl_cwriter_phase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: Curl_cwriter_count
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_cwriter_count(struct Curl_easy *data, Curl_cwriter_phase
      phase)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:431,1
    - Dst: Curl_cwriter_create
      Src: /src/curl/lib/sendf.c:432,1
    - Dst: Curl_cwriter_create
      Src: /src/curl/lib/sendf.c:440,1
    - Dst: Curl_cwriter_add
      Src: /src/curl/lib/sendf.c:443,1
    - Dst: Curl_cwriter_free
      Src: /src/curl/lib/sendf.c:445,1
    - Dst: Curl_cwriter_create
      Src: /src/curl/lib/sendf.c:450,1
    - Dst: Curl_cwriter_add
      Src: /src/curl/lib/sendf.c:452,1
    - Dst: Curl_cwriter_free
      Src: /src/curl/lib/sendf.c:454,1
    - Dst: Curl_cwriter_create
      Src: /src/curl/lib/sendf.c:459,1
    - Dst: Curl_cwriter_add
      Src: /src/curl/lib/sendf.c:461,1
    - Dst: Curl_cwriter_free
      Src: /src/curl/lib/sendf.c:463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 469
    functionName: do_init_writer_stack
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - Curl_cwriter_add
    - DEBUGASSERT
    - Curl_cwriter_free
    - Curl_cwriter_create
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode do_init_writer_stack(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_init_writer_stack
      Src: /src/curl/lib/sendf.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 490
    functionName: Curl_cwriter_add
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 2
    functionsReached:
    - do_init_writer_stack
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cwriter_add(struct Curl_easy *data,\n                          struct
      Curl_cwriter *writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/lib/sendf.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - name
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 501
    functionName: Curl_cwriter_get_by_name
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct Curl_cwriter
    signature: "struct Curl_cwriter *Curl_cwriter_get_by_name(struct Curl_easy *data,\n
      \                                             const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - cwt
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwtype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 512
    functionName: Curl_cwriter_get_by_type
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct Curl_cwriter
    signature: "struct Curl_cwriter *Curl_cwriter_get_by_type(struct Curl_easy *data,\n
      \                                             const struct Curl_cwtype *cwt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: Curl_cwriter_is_content_decoding
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_cwriter_is_content_decoding(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cw_out_is_paused
      Src: /src/curl/lib/sendf.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: Curl_cwriter_is_paused
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 2
    functionsReached:
    - Curl_cw_out_is_paused
    linkageType: ''
    returnType: bool
    signature: bool Curl_cwriter_is_paused(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cw_out_unpause
      Src: /src/curl/lib/sendf.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 7
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: Curl_cwriter_unpause
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - Curl_cw_out_unpause
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cwriter_unpause(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::do_read
      Src: /src/curl/lib/sendf.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - nread
    - eos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 543
    functionName: Curl_creader_read
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - struct Curl_creader*::crt::do_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_read(struct Curl_easy *data,\n                           struct
      Curl_creader *reader,\n                           char *buf, size_t blen, size_t
      *nread, bool *eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::cntrl
      Src: /src/curl/lib/sendf.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 552
    functionName: Curl_creader_clear_eos
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_creader*::crt::cntrl
    linkageType: ''
    returnType: void
    signature: "void Curl_creader_clear_eos(struct Curl_easy *data,\n                            struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: Curl_creader_def_init
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_def_init(struct Curl_easy *data,\n                               struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 567
    functionName: Curl_creader_def_close
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_creader_def_close(struct Curl_easy *data,\n                            struct
      Curl_creader *reader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::next::crt::do_read
      Src: /src/curl/lib/sendf.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - nread
    - eos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: Curl_creader_def_read
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - struct Curl_creader*::next::crt::do_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_def_read(struct Curl_easy *data,\n                               struct
      Curl_creader *reader,\n                               char *buf, size_t blen,\n
      \                              size_t *nread, bool *eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: Curl_creader_def_needs_rewind
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_creader_def_needs_rewind(struct Curl_easy *data,\n                                   struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::next::crt::total_length
      Src: /src/curl/lib/sendf.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: Curl_creader_def_total_length
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - struct Curl_creader*::next::crt::total_length
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t Curl_creader_def_total_length(struct Curl_easy *data,\n
      \                                        struct Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - reader
    - offset
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: Curl_creader_def_resume_from
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_def_resume_from(struct Curl_easy *data,\n                                      struct
      Curl_creader *reader,\n                                      curl_off_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - reader
    - opcode
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - Curl_creader_cntrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 617
    functionName: Curl_creader_def_cntrl
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_def_cntrl(struct Curl_easy *data,\n                                struct
      Curl_creader *reader,\n                                Curl_creader_cntrl opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 625
    functionName: Curl_creader_def_is_paused
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_creader_def_is_paused(struct Curl_easy *data,\n                                struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - reader
    - premature
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: Curl_creader_def_done
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_creader_def_done(struct Curl_easy *data,\n                           struct
      Curl_creader *reader, int premature)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 657
    functionName: cr_in_init
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_in_init(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:692,1
    - Dst: struct cr_in_ctx*::read_cb
      Src: /src/curl/lib/sendf.c:693,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:694,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:701,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:713,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:726,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:731,1
    - Dst: Curl_xfer_pause_send
      Src: /src/curl/lib/sendf.c:735,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:741,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:756,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 761
    functionName: cr_in_read
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_READ
    - Curl_xfer_pause_send
    - Curl_set_in_callback
    - struct cr_in_ctx*::read_cb
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_in_read(struct Curl_easy *data,\n                           struct
      Curl_creader *reader,\n                           char *buf, size_t blen,\n
      \                          size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: cr_in_needs_rewind
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_in_needs_rewind(struct Curl_easy *data,\n                               struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 777
    functionName: cr_in_total_length
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_in_total_length(struct Curl_easy *data,\n                                     struct
      Curl_creader *reader)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:786,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:792,1
    - Dst: struct Curl_easy*::set::seek_func
      Src: /src/curl/lib/sendf.c:793,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:794,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:801,1
    - Dst: curlx_sotouz
      Src: /src/curl/lib/sendf.c:810,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:813,1
    - Dst: struct cr_in_ctx*::read_cb
      Src: /src/curl/lib/sendf.c:814,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:816,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:822,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:834,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - data
    - reader
    - offset
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 840
    functionName: cr_in_resume_from
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - failf
    - struct Curl_easy*::set::seek_func
    - struct cr_in_ctx*::read_cb
    - curlx_sotouz
    - DEBUGASSERT
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_in_resume_from(struct Curl_easy *data,\n                                  struct
      Curl_creader *reader,\n                                  curl_off_t offset)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:854,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:856,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:857,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:859,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:866,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/sendf.c:869,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:870,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:872,1
    - Dst: fseek
      Src: /src/curl/lib/sendf.c:888,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:889,1
    - Dst: failf
      Src: /src/curl/lib/sendf.c:897,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 901
    functionName: cr_in_rewind
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_READ
    - fseek
    - failf
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_in_rewind(struct Curl_easy *data,\n                             struct
      Curl_creader *reader)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cr_in_rewind
      Src: /src/curl/lib/sendf.c:911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - data
    - reader
    - opcode
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - Curl_creader_cntrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 922
    functionName: cr_in_cntrl
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - cr_in_rewind
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_in_cntrl(struct Curl_easy *data,\n                            struct
      Curl_creader *reader,\n                            Curl_creader_cntrl opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 930
    functionName: cr_in_is_paused
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_in_is_paused(struct Curl_easy *data,\n                            struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:955,1
    - Dst: calloc
      Src: /src/curl/lib/sendf.c:956,1
    - Dst: struct Curl_crtype*::do_init
      Src: /src/curl/lib/sendf.c:964,1
    - Dst: free
      Src: /src/curl/lib/sendf.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - preader
    - data
    - crt
    - phase
    argTypes:
    - struct Curl_creader**
    - struct Curl_easy*
    - struct Curl_crtype*
    - Curl_creader_phase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 971
    functionName: Curl_creader_create
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - free
    - calloc
    - struct Curl_crtype*::do_init
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_create(struct Curl_creader **preader,\n                             struct
      Curl_easy *data,\n                             const struct Curl_crtype *crt,\n
      \                            Curl_creader_phase phase)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::do_close
      Src: /src/curl/lib/sendf.c:976,1
    - Dst: free
      Src: /src/curl/lib/sendf.c:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 979
    functionName: Curl_creader_free
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - free
    - struct Curl_creader*::crt::do_close
    linkageType: ''
    returnType: void
    signature: void Curl_creader_free(struct Curl_easy *data, struct Curl_creader
      *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/sendf.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 995
    functionName: cr_lc_init
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_lc_init(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/sendf.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1002
    functionName: cr_lc_close
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void cr_lc_close(struct Curl_easy *data, struct Curl_creader *reader)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/sendf.c:1021,1
    - Dst: Curl_creader_read
      Src: /src/curl/lib/sendf.c:1029,1
    - Dst: memchr
      Src: /src/curl/lib/sendf.c:1034,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/sendf.c:1053,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/sendf.c:1055,1
    - Dst: STRCONST
      Src: /src/curl/lib/sendf.c:1055,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/sendf.c:1062,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1068,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/sendf.c:1068,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/sendf.c:1070,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/sendf.c:1071,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:1078,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1081
    functionName: cr_lc_read
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - Curl_bufq_cread
    - Curl_bufq_is_empty
    - CURL_TRC_READ
    - Curl_creader_read
    - memchr
    - STRCONST
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_lc_read(struct Curl_easy *data,\n                           struct
      Curl_creader *reader,\n                           char *buf, size_t blen,\n
      \                          size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1090
    functionName: cr_lc_total_length
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_lc_total_length(struct Curl_easy *data,\n                                     struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/curl/lib/sendf.c:1111,1
    - Dst: Curl_creader_add
      Src: /src/curl/lib/sendf.c:1114,1
    - Dst: Curl_creader_free
      Src: /src/curl/lib/sendf.c:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1106
    functionDepth: 2
    functionLinenumber: 1106
    functionLinenumberEnd: 1119
    functionName: cr_lc_add
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - Curl_creader_free
    - Curl_creader_create
    - Curl_creader_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_lc_add(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1127,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1128,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1129,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1130,1
    - Dst: struct Curl_creader*::crt::total_length
      Src: /src/curl/lib/sendf.c:1133,1
    - Dst: cr_lc_add
      Src: /src/curl/lib/sendf.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - r
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1147
    functionName: do_init_reader_stack
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - cr_lc_add
    - DEBUGASSERT
    - struct Curl_creader*::crt::total_length
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode do_init_reader_stack(struct Curl_easy *data,\n                                     struct
      Curl_creader *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/curl/lib/sendf.c:1155,1
    - Dst: cl_reset_reader
      Src: /src/curl/lib/sendf.c:1161,1
    - Dst: do_init_reader_stack
      Src: /src/curl/lib/sendf.c:1162,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:1164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1149
    functionDepth: 4
    functionLinenumber: 1149
    functionLinenumberEnd: 1167
    functionName: Curl_creader_set_fread
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 3
    functionsReached:
    - do_init_reader_stack
    - cl_reset_reader
    - Curl_creader_create
    - CURL_TRC_READ
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_set_fread(struct Curl_easy *data, curl_off_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_set_fread
      Src: /src/curl/lib/sendf.c:1176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1169
    functionDepth: 5
    functionLinenumber: 1169
    functionLinenumberEnd: 1188
    functionName: Curl_creader_add
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 4
    functionsReached:
    - Curl_creader_set_fread
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_add(struct Curl_easy *data,\n                          struct
      Curl_creader *reader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1194,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1195,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1196,1
    - Dst: cl_reset_reader
      Src: /src/curl/lib/sendf.c:1198,1
    - Dst: do_init_reader_stack
      Src: /src/curl/lib/sendf.c:1199,1
    - Dst: Curl_creader_free
      Src: /src/curl/lib/sendf.c:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - r
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1190
    functionDepth: 4
    functionLinenumber: 1190
    functionLinenumberEnd: 1203
    functionName: Curl_creader_set
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - do_init_reader_stack
    - cl_reset_reader
    - DEBUGASSERT
    - Curl_creader_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_set(struct Curl_easy *data, struct Curl_creader
      *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1210,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1211,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1212,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1213,1
    - Dst: Curl_creader_set_fread
      Src: /src/curl/lib/sendf.c:1216,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1219,1
    - Dst: Curl_creader_read
      Src: /src/curl/lib/sendf.c:1222,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - data
    - buf
    - blen
    - nread
    - eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1205
    functionDepth: 5
    functionLinenumber: 1205
    functionLinenumberEnd: 1227
    functionName: Curl_client_read
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_READ
    - Curl_creader_read
    - DEBUGASSERT
    - Curl_creader_set_fread
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_client_read(struct Curl_easy *data, char *buf, size_t
      blen,\n                          size_t *nread, bool *eos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::needs_rewind
      Src: /src/curl/lib/sendf.c:1233,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:1234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1240
    functionName: Curl_creader_needs_rewind
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_READ
    - struct Curl_creader*::crt::needs_rewind
    linkageType: ''
    returnType: bool
    signature: bool Curl_creader_needs_rewind(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1254
    functionName: cr_null_read
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_null_read(struct Curl_easy *data,\n                             struct
      Curl_creader *reader,\n                             char *buf, size_t blen,\n
      \                            size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1263
    functionName: cr_null_total_length
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_null_total_length(struct Curl_easy *data,\n                                       struct
      Curl_creader *reader)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/curl/lib/sendf.c:1284,1
    - Dst: cl_reset_reader
      Src: /src/curl/lib/sendf.c:1288,1
    - Dst: do_init_reader_stack
      Src: /src/curl/lib/sendf.c:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1279
    functionDepth: 4
    functionLinenumber: 1279
    functionLinenumberEnd: 1290
    functionName: Curl_creader_set_null
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 2
    functionsReached:
    - do_init_reader_stack
    - cl_reset_reader
    - Curl_creader_create
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_set_null(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/sendf.c:1315,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:1320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1323
    functionName: cr_buf_read
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CURL_TRC_READ
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_buf_read(struct Curl_easy *data,\n                            struct
      Curl_creader *reader,\n                            char *buf, size_t blen,\n
      \                           size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1331
    functionName: cr_buf_needs_rewind
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_buf_needs_rewind(struct Curl_easy *data,\n                                struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - reader
    - opcode
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - Curl_creader_cntrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1347
    functionName: cr_buf_cntrl
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_buf_cntrl(struct Curl_easy *data,\n                             struct
      Curl_creader *reader,\n                             Curl_creader_cntrl opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1355
    functionName: cr_buf_total_length
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_buf_total_length(struct Curl_easy *data,\n                                      struct
      Curl_creader *reader)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/sendf.c:1365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - reader
    - offset
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1378
    functionName: cr_buf_resume_from
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_buf_resume_from(struct Curl_easy *data,\n                                   struct
      Curl_creader *reader,\n                                   curl_off_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/curl/lib/sendf.c:1401,1
    - Dst: cl_reset_reader
      Src: /src/curl/lib/sendf.c:1409,1
    - Dst: do_init_reader_stack
      Src: /src/curl/lib/sendf.c:1410,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/sendf.c:1412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - data
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1394
    functionDepth: 4
    functionLinenumber: 1394
    functionLinenumberEnd: 1414
    functionName: Curl_creader_set_buf
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - do_init_reader_stack
    - cl_reset_reader
    - Curl_creader_create
    - CURL_TRC_READ
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_creader_set_buf(struct Curl_easy *data,\n                              const
      char *buf, size_t blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::total_length
      Src: /src/curl/lib/sendf.c:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1420
    functionName: Curl_creader_total_length
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 6
    functionsReached:
    - struct Curl_creader*::crt::total_length
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t Curl_creader_total_length(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::total_length
      Src: /src/curl/lib/sendf.c:1427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1428
    functionName: Curl_creader_client_length
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_creader*::crt::total_length
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t Curl_creader_client_length(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::resume_from
      Src: /src/curl/lib/sendf.c:1435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1436
    functionName: Curl_creader_resume_from
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_creader*::crt::resume_from
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_resume_from(struct Curl_easy *data, curl_off_t
      offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::cntrl
      Src: /src/curl/lib/sendf.c:1444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1450
    functionName: Curl_creader_unpause
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_creader*::crt::cntrl
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_unpause(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::is_paused
      Src: /src/curl/lib/sendf.c:1457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1462
    functionName: Curl_creader_is_paused
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 1
    functionsReached:
    - struct Curl_creader*::crt::is_paused
    linkageType: ''
    returnType: bool
    signature: bool Curl_creader_is_paused(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_creader*::crt::done
      Src: /src/curl/lib/sendf.c:1468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - premature
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1471
    functionName: Curl_creader_done
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 0
    functionsReached:
    - struct Curl_creader*::crt::done
    linkageType: ''
    returnType: void
    signature: void Curl_creader_done(struct Curl_easy *data, int premature)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - crt
    argTypes:
    - struct Curl_easy*
    - struct Curl_crtype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1483
    functionName: Curl_creader_get_by_type
    functionSourceFile: /src/curl/lib/sendf.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct Curl_creader
    signature: "struct Curl_creader *Curl_creader_get_by_type(struct Curl_easy *data,\n
      \                                             const struct Curl_crtype *crt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GSS_ERROR
      Src: /src/curl/lib/socks_gssapi.c:59,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/socks_gssapi.c:65,1
    - Dst: gss_display_status
      Src: /src/curl/lib/socks_gssapi.c:69,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/socks_gssapi.c:74,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:77,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:80,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/socks_gssapi.c:82,1
    - Dst: gss_display_status
      Src: /src/curl/lib/socks_gssapi.c:87,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/socks_gssapi.c:92,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:95,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:98,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:100,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/socks_gssapi.c:101,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/socks_gssapi.c:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - data
    - major_status
    - minor_status
    - function
    argTypes:
    - struct Curl_easy*
    - OM_uint32
    - OM_uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 107
    functionName: check_gss_err
    functionSourceFile: /src/curl/lib/socks_gssapi.c
    functionUses: 0
    functionsReached:
    - failf
    - gss_release_buffer
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_dyn_init
    - gss_display_status
    - GSS_ERROR
    - curlx_dyn_ptr
    linkageType: ''
    returnType: int
    signature: "int check_gss_err(struct Curl_easy *data,\n                         OM_uint32
      major_status,\n                         OM_uint32 minor_status,\n                         const
      char *function)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/socks_gssapi.c:133,1
    - Dst: strchr
      Src: /src/curl/lib/socks_gssapi.c:146,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/socks_gssapi.c:148,1
    - Dst: gss_import_name
      Src: /src/curl/lib/socks_gssapi.c:152,1
    - Dst: malloc
      Src: /src/curl/lib/socks_gssapi.c:156,1
    - Dst: strlen
      Src: /src/curl/lib/socks_gssapi.c:157,1
    - Dst: strlen
      Src: /src/curl/lib/socks_gssapi.c:161,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/socks_gssapi.c:162,1
    - Dst: gss_import_name
      Src: /src/curl/lib/socks_gssapi.c:165,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:169,1
    - Dst: check_gss_err
      Src: /src/curl/lib/socks_gssapi.c:171,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:173,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:174,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socks_gssapi.c:178,1
    - Dst: Curl_gss_init_sec_context
      Src: /src/curl/lib/socks_gssapi.c:183,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:195,1
    - Dst: check_gss_err
      Src: /src/curl/lib/socks_gssapi.c:196,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:200,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:201,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:202,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:203,1
    - Dst: htons
      Src: /src/curl/lib/socks_gssapi.c:210,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_gssapi.c:211,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_gssapi.c:213,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:216,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:217,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:218,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:219,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_gssapi.c:223,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:227,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:228,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:229,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:230,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:236,1
    - Dst: Curl_blockread_all
      Src: /src/curl/lib/socks_gssapi.c:250,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:252,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:253,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:254,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:260,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:262,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:263,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:268,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:270,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:271,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_gssapi.c:275,1
    - Dst: ntohs
      Src: /src/curl/lib/socks_gssapi.c:276,1
    - Dst: malloc
      Src: /src/curl/lib/socks_gssapi.c:279,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:281,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:284,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:285,1
    - Dst: Curl_blockread_all
      Src: /src/curl/lib/socks_gssapi.c:289,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:293,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:294,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:295,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:296,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:303,1
    - Dst: gss_inquire_context
      Src: /src/curl/lib/socks_gssapi.c:306,1
    - Dst: check_gss_err
      Src: /src/curl/lib/socks_gssapi.c:309,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:311,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:312,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:313,1
    - Dst: gss_display_name
      Src: /src/curl/lib/socks_gssapi.c:316,1
    - Dst: check_gss_err
      Src: /src/curl/lib/socks_gssapi.c:318,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:320,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:321,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:322,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:323,1
    - Dst: malloc
      Src: /src/curl/lib/socks_gssapi.c:326,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:328,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:329,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:330,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_gssapi.c:334,1
    - Dst: gss_release_name
      Src: /src/curl/lib/socks_gssapi.c:336,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:337,1
    - Dst: infof
      Src: /src/curl/lib/socks_gssapi.c:338,1
    - Dst: free
      Src: /src/curl/lib/socks_gssapi.c:339,1
    - Dst: infof
      Src: /src/curl/lib/socks_gssapi.c:354,1
    - Dst: htons
      Src: /src/curl/lib/socks_gssapi.c:389,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_gssapi.c:390,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/socks_gssapi.c:394,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:396,1
    - Dst: gss_wrap
      Src: /src/curl/lib/socks_gssapi.c:400,1
    - Dst: check_gss_err
      Src: /src/curl/lib/socks_gssapi.c:404,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:405,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:406,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:407,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:408,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:411,1
    - Dst: htons
      Src: /src/curl/lib/socks_gssapi.c:413,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_gssapi.c:414,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_gssapi.c:417,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:420,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:421,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:422,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_gssapi.c:427,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_gssapi.c:428,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:431,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:432,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_gssapi.c:437,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:440,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:441,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:442,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:445,1
    - Dst: Curl_blockread_all
      Src: /src/curl/lib/socks_gssapi.c:448,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:450,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:451,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:457,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:459,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:464,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:466,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_gssapi.c:470,1
    - Dst: ntohs
      Src: /src/curl/lib/socks_gssapi.c:471,1
    - Dst: malloc
      Src: /src/curl/lib/socks_gssapi.c:474,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:476,1
    - Dst: Curl_blockread_all
      Src: /src/curl/lib/socks_gssapi.c:479,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:483,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:484,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:485,1
    - Dst: gss_unwrap
      Src: /src/curl/lib/socks_gssapi.c:490,1
    - Dst: check_gss_err
      Src: /src/curl/lib/socks_gssapi.c:494,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:495,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:496,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:497,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:498,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:501,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:504,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:506,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:507,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_gssapi.c:511,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:512,1
    - Dst: failf
      Src: /src/curl/lib/socks_gssapi.c:516,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:518,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:519,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_gssapi.c:523,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/socks_gssapi.c:524,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socks_gssapi.c:527,1
    - Dst: infof
      Src: /src/curl/lib/socks_gssapi.c:529,1
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/socks_gssapi.c:536,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 247
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 539
    functionName: Curl_SOCKS5_gssapi_negotiate
    functionSourceFile: /src/curl/lib/socks_gssapi.c
    functionUses: 0
    functionsReached:
    - Curl_gss_init_sec_context
    - curlx_nonblock
    - failf
    - gss_release_name
    - strchr
    - ntohs
    - Curl_memdup
    - gss_display_name
    - gss_unwrap
    - strlen
    - curl_msnprintf
    - memcpy
    - free
    - Curl_gss_delete_sec_context
    - Curl_blockread_all
    - malloc
    - gss_import_name
    - gss_wrap
    - gss_inquire_context
    - gss_release_buffer
    - Curl_conn_cf_send
    - check_gss_err
    - infof
    - htons
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: Curl_parsenetrc
    functionSourceFile: /src/curl/lib/netrc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_parsenetrc(a,b,c,d,e,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - slots
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: uint_hash_hash
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int uint_hash_hash(unsigned int id, unsigned int slots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:56,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - h
    - slots
    - dtor
    argTypes:
    - struct uint_hash*
    - unsigned int
    - Curl_uint_hash_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: Curl_uint_hash_init
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_uint_hash_init(struct uint_hash *h,\n                         unsigned
      int slots,\n                         Curl_uint_hash_dtor *dtor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/uint-hash.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - id
    - value
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: uint_hash_mk_entry
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct uint_hash_entry
    signature: struct uint_hash_entry *uint_hash_mk_entry(unsigned int id, void *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:85,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:86,1
    - Dst: struct uint_hash*::dtor
      Src: /src/curl/lib/uint-hash.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - h
    - e
    argTypes:
    - struct uint_hash*
    - struct uint_hash_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: uint_hash_entry_clear
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - struct uint_hash*::dtor
    linkageType: ''
    returnType: void
    signature: "void uint_hash_entry_clear(struct uint_hash *h,\n                                  struct
      uint_hash_entry *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint_hash_entry_clear
      Src: /src/curl/lib/uint-hash.c:97,1
    - Dst: free
      Src: /src/curl/lib/uint-hash.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - e
    argTypes:
    - struct uint_hash*
    - struct uint_hash_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: uint_hash_entry_destroy
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - free
    - uint_hash_entry_clear
    linkageType: ''
    returnType: void
    signature: "void uint_hash_entry_destroy(struct uint_hash *h,\n                                    struct
      uint_hash_entry *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - h
    - he_anchor
    - he
    argTypes:
    - struct uint_hash*
    - struct uint_hash_entry**
    - struct uint_hash_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: uint_hash_entry_unlink
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void uint_hash_entry_unlink(struct uint_hash *h,\n                                   struct
      uint_hash_entry **he_anchor,\n                                   struct uint_hash_entry
      *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - h
    - he_anchor
    - he
    argTypes:
    - struct uint_hash*
    - struct uint_hash_entry**
    - struct uint_hash_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: uint_hash_elem_link
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void uint_hash_elem_link(struct uint_hash *h,\n                                struct
      uint_hash_entry **he_anchor,\n                                struct uint_hash_entry
      *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: CURL_UINT_HASH_SLOT
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UINT_HASH_SLOT(h,id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: CURL_UINT_HASH_SLOT_ADDR
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UINT_HASH_SLOT_ADDR(h,id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:125,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:126,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:127,1
    - Dst: calloc
      Src: /src/curl/lib/uint-hash.c:129,1
    - Dst: CURL_UINT_HASH_SLOT_ADDR
      Src: /src/curl/lib/uint-hash.c:134,1
    - Dst: uint_hash_entry_clear
      Src: /src/curl/lib/uint-hash.c:138,1
    - Dst: uint_hash_mk_entry
      Src: /src/curl/lib/uint-hash.c:144,1
    - Dst: uint_hash_elem_link
      Src: /src/curl/lib/uint-hash.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - h
    - id
    - value
    argTypes:
    - struct uint_hash*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: Curl_uint_hash_set
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - calloc
    - uint_hash_elem_link
    - CURL_UINT_HASH_SLOT_ADDR
    - uint_hash_entry_clear
    - uint_hash_mk_entry
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_hash_set(struct uint_hash *h, unsigned int id, void
      *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:154,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:155,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:156,1
    - Dst: CURL_UINT_HASH_SLOT_ADDR
      Src: /src/curl/lib/uint-hash.c:160,1
    - Dst: uint_hash_entry_unlink
      Src: /src/curl/lib/uint-hash.c:164,1
    - Dst: uint_hash_entry_destroy
      Src: /src/curl/lib/uint-hash.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - h
    - id
    argTypes:
    - struct uint_hash*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: Curl_uint_hash_remove
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - uint_hash_entry_unlink
    - uint_hash_entry_destroy
    - DEBUGASSERT
    - CURL_UINT_HASH_SLOT_ADDR
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_hash_remove(struct uint_hash *h, unsigned int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:176,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:177,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:180,1
    - Dst: CURL_UINT_HASH_SLOT
      Src: /src/curl/lib/uint-hash.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - h
    - id
    argTypes:
    - struct uint_hash*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: Curl_uint_hash_get
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - CURL_UINT_HASH_SLOT
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void *Curl_uint_hash_get(struct uint_hash *h, unsigned int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:197,1
    - Dst: uint_hash_entry_unlink
      Src: /src/curl/lib/uint-hash.c:202,1
    - Dst: uint_hash_entry_destroy
      Src: /src/curl/lib/uint-hash.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: uint_hash_clear
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - uint_hash_entry_destroy
    - DEBUGASSERT
    - uint_hash_entry_unlink
    linkageType: ''
    returnType: void
    signature: void uint_hash_clear(struct uint_hash *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint_hash_clear
      Src: /src/curl/lib/uint-hash.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: Curl_uint_hash_clear
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - uint_hash_clear
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST Curl_uint_hash_clear(struct uint_hash *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:218,1
    - Dst: uint_hash_clear
      Src: /src/curl/lib/uint-hash.c:220,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/uint-hash.c:221,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: Curl_uint_hash_destroy
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 1
    functionsReached:
    - Curl_safefree
    - DEBUGASSERT
    - uint_hash_clear
    linkageType: ''
    returnType: void
    signature: void Curl_uint_hash_destroy(struct uint_hash *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct uint_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: Curl_uint_hash_count
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_hash_count(struct uint_hash *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-hash.c:240,1
    - Dst: cb
      Src: /src/curl/lib/uint-hash.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - h
    - cb
    - user_data
    argTypes:
    - struct uint_hash*
    - Curl_uint_hash_visit_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: Curl_uint_hash_visit
    functionSourceFile: /src/curl/lib/uint-hash.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - cb
    linkageType: ''
    returnType: void
    signature: "void Curl_uint_hash_visit(struct uint_hash *h,\n                          Curl_uint_hash_visit_cb
      *cb,\n                          void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/curl/lib/tftp.c:214,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:218,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:243,1
    - Dst: time
      Src: /src/curl/lib/tftp.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct tftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 251
    functionName: tftp_set_timeouts
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_timeleft
    - failf
    - time
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_set_timeouts(struct tftp_conn *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - num
    argTypes:
    - struct tftp_packet*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: setpacketevent
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setpacketevent(struct tftp_packet *packet, unsigned short num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - packet
    - num
    argTypes:
    - struct tftp_packet*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: setpacketblock
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setpacketblock(struct tftp_packet *packet, unsigned short num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct tftp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: getrpacketevent
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short getrpacketevent(const struct tftp_packet *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct tftp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: getrpacketblock
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short getrpacketblock(const struct tftp_packet *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/curl/lib/tftp.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - maxlen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: tftp_strnlen
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: size_t
    signature: size_t tftp_strnlen(const char *string, size_t maxlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tftp_strnlen
      Src: /src/curl/lib/tftp.c:295,1
    - Dst: tftp_strnlen
      Src: /src/curl/lib/tftp.c:302,1
    - Dst: strlen
      Src: /src/curl/lib/tftp.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - len
    - option
    - value
    argTypes:
    - char*
    - size_t
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 310
    functionName: tftp_option_get
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - tftp_strnlen
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *tftp_option_get(const char *buf, size_t len,\n                                   const
      char **option, const char **value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tftp_option_get
      Src: /src/curl/lib/tftp.c:324,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:326,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:330,1
    - Dst: checkprefix
      Src: /src/curl/lib/tftp.c:332,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/tftp.c:334,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:335,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:340,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:344,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:352,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:358,1
    - Dst: checkprefix
      Src: /src/curl/lib/tftp.c:361,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/tftp.c:366,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:368,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:371,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/tftp.c:373,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - state
    - ptr
    - len
    argTypes:
    - struct tftp_conn*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 379
    functionName: tftp_parse_option_ack
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_pgrsSetDownloadSize
    - curlx_str_number
    - infof
    - checkprefix
    - tftp_option_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_parse_option_ack(struct tftp_conn *state,\n                                      const
      char *ptr, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/tftp.c:384,1
    - Dst: strcpy
      Src: /src/curl/lib/tftp.c:386,1
    - Dst: strlen
      Src: /src/curl/lib/tftp.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - state
    - csize
    - buf
    - option
    argTypes:
    - struct tftp_conn*
    - size_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: tftp_option_add
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_option_add(struct tftp_conn *state, size_t *csize,\n
      \                               char *buf, const char *option)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/tftp.c:398,1
    - Dst: tftp_set_timeouts
      Src: /src/curl/lib/tftp.c:401,1
    - Dst: tftp_tx
      Src: /src/curl/lib/tftp.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: tftp_connect_for_tx
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - infof
    - tftp_tx
    - tftp_set_timeouts
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_connect_for_tx(struct tftp_conn *state,\n                                    tftp_event_t
      event)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/tftp.c:414,1
    - Dst: tftp_set_timeouts
      Src: /src/curl/lib/tftp.c:417,1
    - Dst: tftp_rx
      Src: /src/curl/lib/tftp.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: tftp_connect_for_rx
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - infof
    - tftp_set_timeouts
    - tftp_rx
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_connect_for_rx(struct tftp_conn *state,\n                                    tftp_event_t
      event)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: setpacketevent
      Src: /src/curl/lib/tftp.c:452,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/tftp.c:454,1
    - Dst: setpacketevent
      Src: /src/curl/lib/tftp.c:458,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:464,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/tftp.c:467,1
    - Dst: strlen
      Src: /src/curl/lib/tftp.c:472,1
    - Dst: strlen
      Src: /src/curl/lib/tftp.c:472,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:473,1
    - Dst: free
      Src: /src/curl/lib/tftp.c:474,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/tftp.c:478,1
    - Dst: strlen
      Src: /src/curl/lib/tftp.c:481,1
    - Dst: strlen
      Src: /src/curl/lib/tftp.c:481,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/tftp.c:487,1
    - Dst: tftp_option_add
      Src: /src/curl/lib/tftp.c:491,1
    - Dst: tftp_option_add
      Src: /src/curl/lib/tftp.c:495,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/tftp.c:499,1
    - Dst: tftp_option_add
      Src: /src/curl/lib/tftp.c:501,1
    - Dst: tftp_option_add
      Src: /src/curl/lib/tftp.c:505,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/tftp.c:509,1
    - Dst: tftp_option_add
      Src: /src/curl/lib/tftp.c:511,1
    - Dst: tftp_option_add
      Src: /src/curl/lib/tftp.c:515,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:519,1
    - Dst: free
      Src: /src/curl/lib/tftp.c:520,1
    - Dst: Curl_conn_get_remote_addr
      Src: /src/curl/lib/tftp.c:532,1
    - Dst: sendto
      Src: /src/curl/lib/tftp.c:536,1
    - Dst: CURL_SENDTO_ARG5
      Src: /src/curl/lib/tftp.c:538,1
    - Dst: free
      Src: /src/curl/lib/tftp.c:540,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:543,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/tftp.c:543,1
    - Dst: tftp_connect_for_tx
      Src: /src/curl/lib/tftp.c:550,1
    - Dst: tftp_connect_for_rx
      Src: /src/curl/lib/tftp.c:553,1
    - Dst: tftp_connect_for_tx
      Src: /src/curl/lib/tftp.c:558,1
    - Dst: tftp_connect_for_rx
      Src: /src/curl/lib/tftp.c:562,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:570,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 85
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 423
    functionDepth: 6
    functionLinenumber: 423
    functionLinenumberEnd: 575
    functionName: tftp_send_first
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - strlen
    - failf
    - tftp_option_add
    - Curl_pgrsSetUploadSize
    - curl_msnprintf
    - Curl_conn_get_remote_addr
    - curlx_strerror
    - sendto
    - tftp_connect_for_rx
    - free
    - tftp_connect_for_tx
    - setpacketevent
    - CURL_SENDTO_ARG5
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_send_first(struct tftp_conn *state,\n                                tftp_event_t
      event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 529
    functionName: CURL_SENDTO_ARG5
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SENDTO_ARG5(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: CURL_SENDTO_ARG5
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SENDTO_ARG5(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 580
    functionName: NEXT_BLOCKNUM
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_BLOCKNUM(x)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getrpacketblock
      Src: /src/curl/lib/tftp.c:599,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/curl/lib/tftp.c:600,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:607,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:611,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/curl/lib/tftp.c:613,1
    - Dst: setpacketevent
      Src: /src/curl/lib/tftp.c:619,1
    - Dst: setpacketblock
      Src: /src/curl/lib/tftp.c:620,1
    - Dst: sendto
      Src: /src/curl/lib/tftp.c:621,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:626,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/tftp.c:626,1
    - Dst: time
      Src: /src/curl/lib/tftp.c:637,1
    - Dst: setpacketevent
      Src: /src/curl/lib/tftp.c:644,1
    - Dst: setpacketblock
      Src: /src/curl/lib/tftp.c:645,1
    - Dst: sendto
      Src: /src/curl/lib/tftp.c:646,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:651,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/tftp.c:651,1
    - Dst: time
      Src: /src/curl/lib/tftp.c:657,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:663,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/curl/lib/tftp.c:665,1
    - Dst: sendto
      Src: /src/curl/lib/tftp.c:672,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:677,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/tftp.c:677,1
    - Dst: setpacketevent
      Src: /src/curl/lib/tftp.c:684,1
    - Dst: setpacketblock
      Src: /src/curl/lib/tftp.c:685,1
    - Dst: sendto
      Src: /src/curl/lib/tftp.c:686,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:696,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 701
    functionName: tftp_rx
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 1
    functionsReached:
    - getrpacketblock
    - failf
    - curlx_strerror
    - sendto
    - setpacketblock
    - setpacketevent
    - infof
    - NEXT_BLOCKNUM
    - time
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_rx(struct tftp_conn *state, tftp_event_t event)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getrpacketblock
      Src: /src/curl/lib/tftp.c:727,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:737,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:742,1
    - Dst: sendto
      Src: /src/curl/lib/tftp.c:748,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:754,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/tftp.c:755,1
    - Dst: time
      Src: /src/curl/lib/tftp.c:764,1
    - Dst: setpacketevent
      Src: /src/curl/lib/tftp.c:771,1
    - Dst: setpacketblock
      Src: /src/curl/lib/tftp.c:772,1
    - Dst: Curl_client_read
      Src: /src/curl/lib/tftp.c:785,1
    - Dst: sendto
      Src: /src/curl/lib/tftp.c:793,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:799,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/tftp.c:799,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/tftp.c:804,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:810,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/curl/lib/tftp.c:811,1
    - Dst: sendto
      Src: /src/curl/lib/tftp.c:819,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:825,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/tftp.c:825,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/tftp.c:829,1
    - Dst: setpacketevent
      Src: /src/curl/lib/tftp.c:835,1
    - Dst: setpacketblock
      Src: /src/curl/lib/tftp.c:836,1
    - Dst: sendto
      Src: /src/curl/lib/tftp.c:837,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:846,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 710
    functionDepth: 6
    functionLinenumber: 710
    functionLinenumberEnd: 851
    functionName: tftp_tx
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 1
    functionsReached:
    - Curl_pgrsSetUploadCounter
    - getrpacketblock
    - failf
    - curlx_strerror
    - sendto
    - setpacketblock
    - setpacketevent
    - infof
    - NEXT_BLOCKNUM
    - Curl_client_read
    - time
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_tx(struct tftp_conn *state, tftp_event_t event)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - error
    argTypes:
    - tftp_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 903
    functionName: tftp_translate_code
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_translate_code(tftp_error_t error)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGF
      Src: /src/curl/lib/tftp.c:920,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:920,1
    - Dst: tftp_send_first
      Src: /src/curl/lib/tftp.c:921,1
    - Dst: DEBUGF
      Src: /src/curl/lib/tftp.c:924,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:924,1
    - Dst: tftp_rx
      Src: /src/curl/lib/tftp.c:925,1
    - Dst: DEBUGF
      Src: /src/curl/lib/tftp.c:928,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:928,1
    - Dst: tftp_tx
      Src: /src/curl/lib/tftp.c:929,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:932,1
    - Dst: DEBUGF
      Src: /src/curl/lib/tftp.c:935,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:935,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 912
    functionDepth: 7
    functionLinenumber: 912
    functionLinenumberEnd: 942
    functionName: tftp_state_machine
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - failf
    - tftp_rx
    - DEBUGF
    - tftp_tx
    - tftp_send_first
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_state_machine(struct tftp_conn *state,\n                                   tftp_event_t
      event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/tftp.c:949,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/tftp.c:950,1
    - Dst: free
      Src: /src/curl/lib/tftp.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 952
    functionName: tftp_conn_dtor
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void tftp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/tftp.c:972,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/tftp.c:974,1
    - Dst: calloc
      Src: /src/curl/lib/tftp.c:988,1
    - Dst: calloc
      Src: /src/curl/lib/tftp.c:995,1
    - Dst: connclose
      Src: /src/curl/lib/tftp.c:1003,1
    - Dst: Curl_conn_get_remote_addr
      Src: /src/curl/lib/tftp.c:1012,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/tftp.c:1013,1
    - Dst: tftp_set_timeouts
      Src: /src/curl/lib/tftp.c:1020,1
    - Dst: bind
      Src: /src/curl/lib/tftp.c:1038,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:1042,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/tftp.c:1043,1
    - Dst: Curl_pgrsStartNow
      Src: /src/curl/lib/tftp.c:1049,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 1054
    functionName: tftp_connect
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - tftp_set_timeouts
    - calloc
    - bind
    - failf
    - curlx_strerror
    - Curl_conn_get_remote_addr
    - connclose
    - Curl_pgrsStartNow
    - Curl_conn_meta_set
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_connect(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/tftp.c:1068,1
    - Dst: Curl_pgrsDone
      Src: /src/curl/lib/tftp.c:1073,1
    - Dst: tftp_translate_code
      Src: /src/curl/lib/tftp.c:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1081
    functionName: tftp_done
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - tftp_translate_code
    - Curl_pgrsDone
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_in
      Src: /src/curl/lib/tftp.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1087
    functionName: tftp_pollset
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_in
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/curl/lib/tftp.c:1104,1
    - Dst: memcmp
      Src: /src/curl/lib/tftp.c:1114,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:1115,1
    - Dst: memcpy
      Src: /src/curl/lib/tftp.c:1123,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:1129,1
    - Dst: getrpacketevent
      Src: /src/curl/lib/tftp.c:1135,1
    - Dst: NEXT_BLOCKNUM
      Src: /src/curl/lib/tftp.c:1142,1
    - Dst: getrpacketblock
      Src: /src/curl/lib/tftp.c:1142,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/tftp.c:1143,1
    - Dst: tftp_state_machine
      Src: /src/curl/lib/tftp.c:1147,1
    - Dst: getrpacketblock
      Src: /src/curl/lib/tftp.c:1154,1
    - Dst: tftp_strnlen
      Src: /src/curl/lib/tftp.c:1158,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:1159,1
    - Dst: tftp_parse_option_ack
      Src: /src/curl/lib/tftp.c:1165,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:1174,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/tftp.c:1179,1
    - Dst: tftp_state_machine
      Src: /src/curl/lib/tftp.c:1180,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 2
    argNames:
    - data
    - state
    argTypes:
    - struct Curl_easy*
    - struct tftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1096
    functionDepth: 8
    functionLinenumber: 1096
    functionLinenumberEnd: 1185
    functionName: tftp_receive_packet
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - getrpacketevent
    - getrpacketblock
    - failf
    - Curl_client_write
    - recvfrom
    - memcpy
    - Curl_pgrsUpdate
    - tftp_state_machine
    - memcmp
    - infof
    - tftp_parse_option_ack
    - NEXT_BLOCKNUM
    - tftp_strnlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_receive_packet(struct Curl_easy *data,\n                                    struct
      tftp_conn *state)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/curl/lib/tftp.c:1203,1
    - Dst: time
      Src: /src/curl/lib/tftp.c:1210,1
    - Dst: time
      Src: /src/curl/lib/tftp.c:1214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - struct tftp_conn*
    - tftp_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1218
    functionName: tftp_state_timeout
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - Curl_timeleft
    - time
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t tftp_state_timeout(struct tftp_conn *state,\n                                     tftp_event_t
      *event)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/tftp.c:1232,1
    - Dst: tftp_state_timeout
      Src: /src/curl/lib/tftp.c:1239,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:1241,1
    - Dst: tftp_state_machine
      Src: /src/curl/lib/tftp.c:1245,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/tftp.c:1251,1
    - Dst: SOCKET_READABLE
      Src: /src/curl/lib/tftp.c:1255,1
    - Dst: failf
      Src: /src/curl/lib/tftp.c:1261,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/tftp.c:1261,1
    - Dst: tftp_receive_packet
      Src: /src/curl/lib/tftp.c:1265,1
    - Dst: tftp_state_machine
      Src: /src/curl/lib/tftp.c:1268,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/tftp.c:1274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1227
    functionDepth: 9
    functionLinenumber: 1227
    functionLinenumberEnd: 1280
    functionName: tftp_multi_statemach
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - failf
    - curlx_strerror
    - Curl_xfer_setup_nop
    - SOCKET_READABLE
    - tftp_state_timeout
    - Curl_conn_meta_get
    - tftp_receive_packet
    - tftp_state_machine
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tftp_multi_statemach
      Src: /src/curl/lib/tftp.c:1292,1
    - Dst: DEBUGF
      Src: /src/curl/lib/tftp.c:1295,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:1295,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/tftp.c:1301,1
    - Dst: Curl_speedcheck
      Src: /src/curl/lib/tftp.c:1304,1
    - Dst: curlx_now
      Src: /src/curl/lib/tftp.c:1304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1289
    functionDepth: 10
    functionLinenumber: 1289
    functionLinenumberEnd: 1307
    functionName: tftp_doing
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - curlx_now
    - Curl_pgrsUpdate
    - tftp_multi_statemach
    - infof
    - Curl_speedcheck
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/tftp.c:1320,1
    - Dst: tftp_state_machine
      Src: /src/curl/lib/tftp.c:1326,1
    - Dst: tftp_multi_statemach
      Src: /src/curl/lib/tftp.c:1331,1
    - Dst: DEBUGF
      Src: /src/curl/lib/tftp.c:1334,1
    - Dst: infof
      Src: /src/curl/lib/tftp.c:1334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1316
    functionDepth: 10
    functionLinenumber: 1316
    functionLinenumberEnd: 1337
    functionName: tftp_perform
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - Curl_conn_meta_get
    - tftp_multi_statemach
    - infof
    - tftp_state_machine
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_perform(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/tftp.c:1353,1
    - Dst: tftp_connect
      Src: /src/curl/lib/tftp.c:1359,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/tftp.c:1363,1
    - Dst: tftp_perform
      Src: /src/curl/lib/tftp.c:1368,1
    - Dst: tftp_translate_code
      Src: /src/curl/lib/tftp.c:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1350
    functionDepth: 11
    functionLinenumber: 1350
    functionLinenumberEnd: 1377
    functionName: tftp_do
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - tftp_translate_code
    - tftp_perform
    - tftp_connect
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode tftp_do(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/tftp.c:1383,1
    - Dst: memcmp
      Src: /src/curl/lib/tftp.c:1388,1
    - Dst: memcmp
      Src: /src/curl/lib/tftp.c:1392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1398
    functionName: tftp_setup_connection
    functionSourceFile: /src/curl/lib/tftp.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tftp_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: IS_HTTPS_PROXY
    functionSourceFile: /src/curl/lib/http_proxy.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HTTPS_PROXY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: Curl_raw_toupper
    functionSourceFile: /src/curl/lib/strcase.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char Curl_raw_toupper(char in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Curl_raw_tolower
    functionSourceFile: /src/curl/lib/strcase.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char Curl_raw_tolower(char in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/strcase.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: Curl_strntoupper
    functionSourceFile: /src/curl/lib/strcase.c
    functionUses: 2
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: void
    signature: void Curl_strntoupper(char *dest, const char *src, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_tolower
      Src: /src/curl/lib/strcase.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: Curl_strntolower
    functionSourceFile: /src/curl/lib/strcase.c
    functionUses: 6
    functionsReached:
    - Curl_raw_tolower
    linkageType: ''
    returnType: void
    signature: void Curl_strntolower(char *dest, const char *src, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/lib/strcase.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: Curl_safecmp
    functionSourceFile: /src/curl/lib/strcase.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool Curl_safecmp(char *a, char *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: Curl_timestrcmp
    functionSourceFile: /src/curl/lib/strcase.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Curl_timestrcmp(const char *a, const char *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: chunk_is_empty
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool chunk_is_empty(const struct buf_chunk *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: chunk_is_full
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool chunk_is_full(const struct buf_chunk *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: chunk_len
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t chunk_len(const struct buf_chunk *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: chunk_reset
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chunk_reset(struct buf_chunk *chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:58,1
    - Dst: CURLMIN
      Src: /src/curl/lib/bufq.c:60,1
    - Dst: memcpy
      Src: /src/curl/lib/bufq.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - chunk
    - buf
    - len
    argTypes:
    - struct buf_chunk*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: chunk_append
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CURLMIN
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t chunk_append(struct buf_chunk *chunk,\n                           const
      unsigned char *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:72,1
    - Dst: memcpy
      Src: /src/curl/lib/bufq.c:77,1
    - Dst: memcpy
      Src: /src/curl/lib/bufq.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - chunk
    - buf
    - len
    argTypes:
    - struct buf_chunk*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: chunk_read
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - memcpy
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: "size_t chunk_read(struct buf_chunk *chunk,\n                         unsigned
      char *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:97,1
    - Dst: reader
      Src: /src/curl/lib/bufq.c:102,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - chunk
    - max_len
    - reader
    - reader_ctx
    - pnread
    argTypes:
    - struct buf_chunk*
    - size_t
    - Curl_bufq_reader*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: chunk_slurpn
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - reader
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode chunk_slurpn(struct buf_chunk *chunk, size_t max_len,\n                             Curl_bufq_reader
      *reader,\n                             void *reader_ctx, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - chunk
    - pbuf
    - plen
    argTypes:
    - struct buf_chunk*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: chunk_peek
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void chunk_peek(const struct buf_chunk *chunk,\n                       const
      unsigned char **pbuf, size_t *plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - chunk
    - offset
    - pbuf
    - plen
    argTypes:
    - struct buf_chunk*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: chunk_peek_at
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void chunk_peek_at(const struct buf_chunk *chunk, size_t offset,\n
      \                         const unsigned char **pbuf, size_t *plen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:130,1
    - Dst: CURLMIN
      Src: /src/curl/lib/bufq.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - chunk
    - amount
    argTypes:
    - struct buf_chunk*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: chunk_skip
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t chunk_skip(struct buf_chunk *chunk, size_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/bufq.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - anchor
    argTypes:
    - struct buf_chunk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: chunk_list_free
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void chunk_list_free(struct buf_chunk **anchor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:154,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:155,1
    - Dst: memset
      Src: /src/curl/lib/bufq.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pool
    - chunk_size
    - spare_max
    argTypes:
    - struct bufc_pool*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: Curl_bufcp_init
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: "void Curl_bufcp_init(struct bufc_pool *pool,\n                     size_t
      chunk_size, size_t spare_max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/curl/lib/bufq.c:170,1
    - Dst: calloc
      Src: /src/curl/lib/bufq.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - pool
    - pchunk
    argTypes:
    - struct bufc_pool*
    - struct buf_chunk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 189
    functionName: bufcp_take
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - calloc
    - chunk_reset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bufcp_take(struct bufc_pool *pool,\n                           struct
      buf_chunk **pchunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/bufq.c:195,1
    - Dst: chunk_reset
      Src: /src/curl/lib/bufq.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pool
    - chunk
    argTypes:
    - struct bufc_pool*
    - struct buf_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: bufcp_put
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - free
    - chunk_reset
    linkageType: ''
    returnType: void
    signature: "void bufcp_put(struct bufc_pool *pool,\n                      struct
      buf_chunk *chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_list_free
      Src: /src/curl/lib/bufq.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct bufc_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: Curl_bufcp_free
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - chunk_list_free
    linkageType: ''
    returnType: void
    signature: void Curl_bufcp_free(struct bufc_pool *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:214,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:215,1
    - Dst: memset
      Src: /src/curl/lib/bufq.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - q
    - pool
    - chunk_size
    - max_chunks
    - opts
    argTypes:
    - struct bufq*
    - struct bufc_pool*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: bufq_init
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: "void bufq_init(struct bufq *q, struct bufc_pool *pool,\n                      size_t
      chunk_size, size_t max_chunks, int opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufq_init
      Src: /src/curl/lib/bufq.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - chunk_size
    - max_chunks
    - opts
    argTypes:
    - struct bufq*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: Curl_bufq_init2
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 5
    functionsReached:
    - bufq_init
    linkageType: ''
    returnType: void
    signature: "void Curl_bufq_init2(struct bufq *q, size_t chunk_size, size_t max_chunks,\n
      \                    int opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufq_init
      Src: /src/curl/lib/bufq.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - q
    - chunk_size
    - max_chunks
    argTypes:
    - struct bufq*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: Curl_bufq_init
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - bufq_init
    linkageType: ''
    returnType: void
    signature: void Curl_bufq_init(struct bufq *q, size_t chunk_size, size_t max_chunks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufq_init
      Src: /src/curl/lib/bufq.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - pool
    - max_chunks
    - opts
    argTypes:
    - struct bufq*
    - struct bufc_pool*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: Curl_bufq_initp
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - bufq_init
    linkageType: ''
    returnType: void
    signature: "void Curl_bufq_initp(struct bufq *q, struct bufc_pool *pool,\n                     size_t
      max_chunks, int opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_list_free
      Src: /src/curl/lib/bufq.c:242,1
    - Dst: chunk_list_free
      Src: /src/curl/lib/bufq.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: Curl_bufq_free
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 7
    functionsReached:
    - chunk_list_free
    linkageType: ''
    returnType: void
    signature: void Curl_bufq_free(struct bufq *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: Curl_bufq_reset
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_bufq_reset(struct bufq *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_len
      Src: /src/curl/lib/bufq.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: Curl_bufq_len
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 6
    functionsReached:
    - chunk_len
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_bufq_len(const struct bufq *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_empty
      Src: /src/curl/lib/bufq.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: Curl_bufq_is_empty
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 10
    functionsReached:
    - chunk_is_empty
    linkageType: ''
    returnType: bool
    signature: bool Curl_bufq_is_empty(const struct bufq *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_full
      Src: /src/curl/lib/bufq.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: Curl_bufq_is_full
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - chunk_is_full
    linkageType: ''
    returnType: bool
    signature: bool Curl_bufq_is_full(const struct bufq *q)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/curl/lib/bufq.c:295,1
    - Dst: bufcp_take
      Src: /src/curl/lib/bufq.c:303,1
    - Dst: calloc
      Src: /src/curl/lib/bufq.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 321
    functionName: get_spare
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - bufcp_take
    - calloc
    - chunk_reset
    linkageType: ''
    returnType: struct buf_chunk
    signature: struct buf_chunk *get_spare(struct bufq *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_empty
      Src: /src/curl/lib/bufq.c:327,1
    - Dst: bufcp_put
      Src: /src/curl/lib/bufq.c:333,1
    - Dst: free
      Src: /src/curl/lib/bufq.c:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 349
    functionName: prune_head
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - free
    - bufcp_put
    - chunk_is_empty
    linkageType: ''
    returnType: void
    signature: void prune_head(struct bufq *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_full
      Src: /src/curl/lib/bufq.c:355,1
    - Dst: get_spare
      Src: /src/curl/lib/bufq.c:357,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct bufq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: get_non_full_tail
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - get_spare
    - DEBUGASSERT
    - chunk_is_full
    linkageType: ''
    returnType: struct buf_chunk
    signature: struct buf_chunk *get_non_full_tail(struct bufq *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:379,1
    - Dst: get_non_full_tail
      Src: /src/curl/lib/bufq.c:382,1
    - Dst: chunk_append
      Src: /src/curl/lib/bufq.c:389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - q
    - buf
    - len
    - pnwritten
    argTypes:
    - struct bufq*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 4
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: Curl_bufq_write
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 6
    functionsReached:
    - chunk_append
    - get_non_full_tail
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_write(struct bufq *q,\n                         const
      unsigned char *buf, size_t len,\n                         size_t *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/bufq.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - buf
    - len
    - pnwritten
    argTypes:
    - struct bufq*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 5
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: Curl_bufq_cwrite
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_cwrite(struct bufq *q,\n                          const
      char *buf, size_t len,\n                          size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chunk_read
      Src: /src/curl/lib/bufq.c:411,1
    - Dst: prune_head
      Src: /src/curl/lib/bufq.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - q
    - buf
    - len
    - pnread
    argTypes:
    - struct bufq*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 420
    functionName: Curl_bufq_read
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 3
    functionsReached:
    - prune_head
    - chunk_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_read(struct bufq *q, unsigned char *buf, size_t
      len,\n                        size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_read
      Src: /src/curl/lib/bufq.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - buf
    - len
    - pnread
    argTypes:
    - struct bufq*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: Curl_bufq_cread
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 3
    functionsReached:
    - Curl_bufq_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_cread(struct bufq *q, char *buf, size_t len,\n
      \                        size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chunk_is_empty
      Src: /src/curl/lib/bufq.c:431,1
    - Dst: prune_head
      Src: /src/curl/lib/bufq.c:432,1
    - Dst: chunk_is_empty
      Src: /src/curl/lib/bufq.c:434,1
    - Dst: chunk_peek
      Src: /src/curl/lib/bufq.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - q
    - pbuf
    - plen
    argTypes:
    - struct bufq*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: Curl_bufq_peek
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 4
    functionsReached:
    - prune_head
    - chunk_is_empty
    - chunk_peek
    linkageType: ''
    returnType: bool
    signature: "bool Curl_bufq_peek(struct bufq *q,\n                    const unsigned
      char **pbuf, size_t *plen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chunk_len
      Src: /src/curl/lib/bufq.c:450,1
    - Dst: chunk_peek_at
      Src: /src/curl/lib/bufq.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - q
    - offset
    - pbuf
    - plen
    argTypes:
    - struct bufq*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 464
    functionName: Curl_bufq_peek_at
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - chunk_peek_at
    - chunk_len
    linkageType: ''
    returnType: bool
    signature: "bool Curl_bufq_peek_at(struct bufq *q, size_t offset,\n                       const
      unsigned char **pbuf, size_t *plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_skip
      Src: /src/curl/lib/bufq.c:471,1
    - Dst: prune_head
      Src: /src/curl/lib/bufq.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - q
    - amount
    argTypes:
    - struct bufq*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 475
    functionName: Curl_bufq_skip
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 4
    functionsReached:
    - prune_head
    - chunk_skip
    linkageType: ''
    returnType: void
    signature: void Curl_bufq_skip(struct bufq *q, size_t amount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/bufq.c:485,1
    - Dst: writer
      Src: /src/curl/lib/bufq.c:488,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/bufq.c:504,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - q
    - writer
    - writer_ctx
    - pwritten
    argTypes:
    - struct bufq*
    - Curl_bufq_writer*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 477
    functionDepth: 4
    functionLinenumber: 477
    functionLinenumberEnd: 507
    functionName: Curl_bufq_pass
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - Curl_bufq_peek
    - Curl_bufq_skip
    - writer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_pass(struct bufq *q, Curl_bufq_writer *writer,\n
      \                       void *writer_ctx, size_t *pwritten)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_full
      Src: /src/curl/lib/bufq.c:519,1
    - Dst: Curl_bufq_pass
      Src: /src/curl/lib/bufq.c:521,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/bufq.c:533,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 6
    argNames:
    - q
    - buf
    - len
    - writer
    - writer_ctx
    - pwritten
    argTypes:
    - struct bufq*
    - unsigned char*
    - size_t
    - Curl_bufq_writer*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 509
    functionDepth: 5
    functionLinenumber: 509
    functionLinenumberEnd: 556
    functionName: Curl_bufq_write_pass
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 1
    functionsReached:
    - Curl_bufq_pass
    - Curl_bufq_is_full
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_write_pass(struct bufq *q,\n                              const
      unsigned char *buf, size_t len,\n                              Curl_bufq_writer
      *writer, void *writer_ctx,\n                              size_t *pwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_non_full_tail
      Src: /src/curl/lib/bufq.c:565,1
    - Dst: chunk_slurpn
      Src: /src/curl/lib/bufq.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - q
    - max_len
    - reader
    - reader_ctx
    - pnread
    argTypes:
    - struct bufq*
    - size_t
    - Curl_bufq_reader*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 574
    functionName: Curl_bufq_sipn
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - chunk_slurpn
    - get_non_full_tail
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_sipn(struct bufq *q, size_t max_len,\n                        Curl_bufq_reader
      *reader, void *reader_ctx,\n                        size_t *pnread)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_sipn
      Src: /src/curl/lib/bufq.c:593,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufq.c:608,1
    - Dst: chunk_is_full
      Src: /src/curl/lib/bufq.c:614,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 5
    argNames:
    - q
    - max_len
    - reader
    - reader_ctx
    - pnread
    argTypes:
    - struct bufq*
    - size_t
    - Curl_bufq_reader*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 584
    functionDepth: 5
    functionLinenumber: 584
    functionLinenumberEnd: 618
    functionName: bufq_slurpn
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 0
    functionsReached:
    - chunk_is_full
    - DEBUGASSERT
    - Curl_bufq_sipn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bufq_slurpn(struct bufq *q, size_t max_len,\n                            Curl_bufq_reader
      *reader, void *reader_ctx,\n                            size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufq_slurpn
      Src: /src/curl/lib/bufq.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - q
    - reader
    - reader_ctx
    - pnread
    argTypes:
    - struct bufq*
    - Curl_bufq_reader*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 6
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: Curl_bufq_slurp
    functionSourceFile: /src/curl/lib/bufq.c
    functionUses: 2
    functionsReached:
    - bufq_slurpn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_bufq_slurp(struct bufq *q, Curl_bufq_reader *reader,\n
      \                        void *reader_ctx, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/multi_ntfy.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: mnfty_chunk_create
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct mntfy_chunk
    signature: struct mntfy_chunk *mnfty_chunk_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/multi_ntfy.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct mntfy_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: mnfty_chunk_destroy
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mnfty_chunk_destroy(struct mntfy_chunk *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/multi_ntfy.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct mntfy_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: mnfty_chunk_reset
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void mnfty_chunk_reset(struct mntfy_chunk *chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - chunk
    - data
    - type
    argTypes:
    - struct mntfy_chunk*
    - struct Curl_easy*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: mntfy_chunk_append
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool mntfy_chunk_append(struct mntfy_chunk *chunk,\n                               struct
      Curl_easy *data,\n                               unsigned int type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mnfty_chunk_create
      Src: /src/curl/lib/multi_ntfy.c:88,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ntfy.c:91,1
    - Dst: mnfty_chunk_create
      Src: /src/curl/lib/multi_ntfy.c:98,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ntfy.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - mntfy
    argTypes:
    - struct curl_multi_ntfy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: mntfy_non_full_tail
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - mnfty_chunk_create
    - DEBUGASSERT
    linkageType: ''
    returnType: struct mntfy_chunk
    signature: struct mntfy_chunk *mntfy_non_full_tail(struct curl_multi_ntfy *mntfy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi_ntfy.c:117,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/lib/multi_ntfy.c:119,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ntfy.c:121,1
    - Dst: struct Curl_multi*::ntfy::ntfy_cb
      Src: /src/curl/lib/multi_ntfy.c:123,1
    - Dst: mnfty_chunk_reset
      Src: /src/curl/lib/multi_ntfy.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - multi
    - chunk
    argTypes:
    - struct Curl_multi*
    - struct mntfy_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: mntfy_chunk_dispatch_all
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - Curl_uint_bset_contains
    - mnfty_chunk_reset
    - CURL_TRC_M
    - struct Curl_multi*::ntfy::ntfy_cb
    linkageType: ''
    returnType: void
    signature: "void mntfy_chunk_dispatch_all(struct Curl_multi *multi,\n                                     struct
      mntfy_chunk *chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/multi_ntfy.c:134,1
    - Dst: Curl_uint_bset_init
      Src: /src/curl/lib/multi_ntfy.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: Curl_mntfy_init
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_init
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_mntfy_init(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/lib/multi_ntfy.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: Curl_mntfy_resize
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_resize
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_mntfy_resize(struct Curl_multi *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mnfty_chunk_destroy
      Src: /src/curl/lib/multi_ntfy.c:150,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/lib/multi_ntfy.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: Curl_mntfy_cleanup
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_destroy
    - mnfty_chunk_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_mntfy_cleanup(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_add
      Src: /src/curl/lib/multi_ntfy.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - multi
    - type
    argTypes:
    - struct Curl_multi*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: Curl_mntfy_enable
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_add
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_mntfy_enable(struct Curl_multi *multi, unsigned int
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi_ntfy.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - multi
    - type
    argTypes:
    - struct Curl_multi*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: Curl_mntfy_disable
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_remove
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_mntfy_disable(struct Curl_multi *multi, unsigned int
      type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/lib/multi_ntfy.c:176,1
    - Dst: mntfy_non_full_tail
      Src: /src/curl/lib/multi_ntfy.c:178,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ntfy.c:179,1
    - Dst: mntfy_chunk_append
      Src: /src/curl/lib/multi_ntfy.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - data
    - type
    argTypes:
    - struct Curl_easy*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: Curl_mntfy_add
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - mntfy_chunk_append
    - Curl_uint_bset_contains
    - mntfy_non_full_tail
    - CURL_TRC_M
    linkageType: ''
    returnType: void
    signature: void Curl_mntfy_add(struct Curl_easy *data, unsigned int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ntfy.c:189,1
    - Dst: mntfy_chunk_dispatch_all
      Src: /src/curl/lib/multi_ntfy.c:194,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ntfy.c:195,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ntfy.c:199,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ntfy.c:200,1
    - Dst: mnfty_chunk_destroy
      Src: /src/curl/lib/multi_ntfy.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: Curl_mntfy_dispatch_all
    functionSourceFile: /src/curl/lib/multi_ntfy.c
    functionUses: 0
    functionsReached:
    - mntfy_chunk_dispatch_all
    - DEBUGASSERT
    - mnfty_chunk_destroy
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_mntfy_dispatch_all(struct Curl_multi *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_chunks.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - data
    - ch
    - ignore_body
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: Curl_httpchunk_init
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    linkageType: ''
    returnType: void
    signature: "void Curl_httpchunk_init(struct Curl_easy *data, struct Curl_chunker
      *ch,\n                         bool ignore_body)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http_chunks.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - data
    - ch
    - ignore_body
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: Curl_httpchunk_reset
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_reset
    linkageType: ''
    returnType: void
    signature: "void Curl_httpchunk_reset(struct Curl_easy *data, struct Curl_chunker
      *ch,\n                          bool ignore_body)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http_chunks.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - ch
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: Curl_httpchunk_free
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void Curl_httpchunk_free(struct Curl_easy *data, struct Curl_chunker
      *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - ch
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: Curl_httpchunk_is_done
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_httpchunk_is_done(struct Curl_easy *data, struct Curl_chunker
      *ch)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/http_chunks.c:134,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/http_chunks.c:136,1
    - Dst: ISXDIGIT
      Src: /src/curl/lib/http_chunks.c:147,1
    - Dst: failf
      Src: /src/curl/lib/http_chunks.c:149,1
    - Dst: failf
      Src: /src/curl/lib/http_chunks.c:164,1
    - Dst: curlx_str_hex
      Src: /src/curl/lib/http_chunks.c:172,1
    - Dst: failf
      Src: /src/curl/lib/http_chunks.c:173,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/http_chunks.c:191,1
    - Dst: curlx_sotouz
      Src: /src/curl/lib/http_chunks.c:207,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/http_chunks.c:212,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/http_chunks.c:215,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/http_chunks.c:227,1
    - Dst: Curl_httpchunk_reset
      Src: /src/curl/lib/http_chunks.c:239,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_chunks.c:253,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_chunks.c:258,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_chunks.c:258,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http_chunks.c:264,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http_chunks.c:266,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/http_chunks.c:268,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/http_chunks.c:273,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http_chunks.c:283,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http_chunks.c:296,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/http_chunks.c:348,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/http_chunks.c:354,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 181
    argCount: 6
    argNames:
    - data
    - ch
    - cw_next
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    - struct Curl_cwriter*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 367
    functionName: httpchunk_readwrite
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - curlx_str_hex
    - Curl_httpchunk_reset
    - failf
    - Curl_client_write
    - curlx_sotouz
    - CURL_TRC_WRITE
    - curlx_dyn_reset
    - curlx_dyn_addn
    - ISXDIGIT
    - curlx_dyn_len
    - STRCONST
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode httpchunk_readwrite(struct Curl_easy *data,\n                                    struct
      Curl_chunker *ch,\n                                    struct Curl_cwriter *cw_next,\n
      \                                   const char *buf, size_t blen,\n                                    size_t
      *pconsumed)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - code
    argTypes:
    - CHUNKcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 387
    functionName: Curl_chunked_strerror
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Curl_chunked_strerror(CHUNKcode code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpchunk_readwrite
      Src: /src/curl/lib/http_chunks.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - ch
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - struct Curl_chunker*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: Curl_httpchunk_read
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - httpchunk_readwrite
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_httpchunk_read(struct Curl_easy *data,\n                             struct
      Curl_chunker *ch,\n                             char *buf, size_t blen,\n                             size_t
      *pconsumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_httpchunk_init
      Src: /src/curl/lib/http_chunks.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: cw_chunked_init
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_httpchunk_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_chunked_init(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_httpchunk_free
      Src: /src/curl/lib/http_chunks.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: cw_chunked_close
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_httpchunk_free
    linkageType: ''
    returnType: void
    signature: "void cw_chunked_close(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/http_chunks.c:428,1
    - Dst: httpchunk_readwrite
      Src: /src/curl/lib/http_chunks.c:431,1
    - Dst: failf
      Src: /src/curl/lib/http_chunks.c:436,1
    - Dst: failf
      Src: /src/curl/lib/http_chunks.c:439,1
    - Dst: Curl_chunked_strerror
      Src: /src/curl/lib/http_chunks.c:440,1
    - Dst: infof
      Src: /src/curl/lib/http_chunks.c:450,1
    - Dst: failf
      Src: /src/curl/lib/http_chunks.c:454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 459
    functionName: cw_chunked_write
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - failf
    - Curl_chunked_strerror
    - infof
    - httpchunk_readwrite
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_chunked_write(struct Curl_easy *data,\n                                 struct
      Curl_cwriter *writer, int type,\n                                 const char
      *buf, size_t blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/http_chunks.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: cr_chunked_init
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_chunked_init(struct Curl_easy *data,\n                                struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/http_chunks.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: cr_chunked_close
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: "void cr_chunked_close(struct Curl_easy *data,\n                             struct
      Curl_creader *reader)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/http_chunks.c:509,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/http_chunks.c:510,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_chunks.c:510,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/http_chunks.c:513,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_chunks.c:513,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/http_chunks.c:517,1
    - Dst: struct Curl_easy*::set::trailer_callback
      Src: /src/curl/lib/http_chunks.c:518,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/http_chunks.c:519,1
    - Dst: failf
      Src: /src/curl/lib/http_chunks.c:522,1
    - Dst: strchr
      Src: /src/curl/lib/http_chunks.c:529,1
    - Dst: infof
      Src: /src/curl/lib/http_chunks.c:531,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/http_chunks.c:535,1
    - Dst: strlen
      Src: /src/curl/lib/http_chunks.c:536,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/http_chunks.c:538,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_chunks.c:538,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/http_chunks.c:543,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_chunks.c:543,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/http_chunks.c:546,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/http_chunks.c:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 499
    functionDepth: 6
    functionLinenumber: 499
    functionLinenumberEnd: 550
    functionName: add_last_chunk
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - strlen
    - failf
    - strchr
    - curl_slist_free_all
    - struct Curl_easy*::set::trailer_callback
    - CURL_TRC_READ
    - infof
    - STRCONST
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_last_chunk(struct Curl_easy *data,\n                               struct
      Curl_creader *reader)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_chunks.c:562,1
    - Dst: CURLMIN
      Src: /src/curl/lib/http_chunks.c:563,1
    - Dst: Curl_creader_read
      Src: /src/curl/lib/http_chunks.c:574,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http_chunks.c:586,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/http_chunks.c:590,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/http_chunks.c:592,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/http_chunks.c:594,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/http_chunks.c:595,1
    - Dst: add_last_chunk
      Src: /src/curl/lib/http_chunks.c:602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - data
    - reader
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 552
    functionDepth: 7
    functionLinenumber: 552
    functionLinenumberEnd: 604
    functionName: add_chunk
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - curl_msnprintf
    - add_last_chunk
    - CURLMIN
    - CURL_TRC_READ
    - Curl_creader_read
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_chunk(struct Curl_easy *data,\n                          struct
      Curl_creader *reader,\n                          char *buf, size_t blen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http_chunks.c:618,1
    - Dst: add_chunk
      Src: /src/curl/lib/http_chunks.c:620,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http_chunks.c:625,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/http_chunks.c:626,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http_chunks.c:627,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_chunks.c:636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 606
    functionDepth: 8
    functionLinenumber: 606
    functionLinenumberEnd: 638
    functionName: cr_chunked_read
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_bufq_is_empty
    - Curl_bufq_cread
    - add_chunk
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_chunked_read(struct Curl_easy *data,\n                                struct
      Curl_creader *reader,\n                                char *buf, size_t blen,\n
      \                               size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: cr_chunked_total_length
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_chunked_total_length(struct Curl_easy *data,\n                                          struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/curl/lib/http_chunks.c:669,1
    - Dst: Curl_creader_add
      Src: /src/curl/lib/http_chunks.c:672,1
    - Dst: Curl_creader_free
      Src: /src/curl/lib/http_chunks.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 6
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: Curl_httpchunk_add_reader
    functionSourceFile: /src/curl/lib/http_chunks.c
    functionUses: 1
    functionsReached:
    - Curl_creader_free
    - Curl_creader_create
    - Curl_creader_add
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_httpchunk_add_reader(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/cf-h2-proxy.c:94,1
    - Dst: Curl_bufq_init
      Src: /src/curl/lib/cf-h2-proxy.c:96,1
    - Dst: Curl_http_proxy_get_destination
      Src: /src/curl/lib/cf-h2-proxy.c:98,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/cf-h2-proxy.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: tunnel_stream_init
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_http_proxy_get_destination
    - Curl_bufq_init
    - curl_maprintf
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tunnel_stream_init(struct Curl_cfilter *cf,\n                                   struct
      tunnel_stream *ts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_resp_free
      Src: /src/curl/lib/cf-h2-proxy.c:113,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/cf-h2-proxy.c:114,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/cf-h2-proxy.c:115,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-h2-proxy.c:116,1
    - Dst: memset
      Src: /src/curl/lib/cf-h2-proxy.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: tunnel_stream_clear
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    - Curl_http_resp_free
    - memset
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void tunnel_stream_clear(struct tunnel_stream *ts)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:141,1
    - Dst: tunnel_stream_clear
      Src: /src/curl/lib/cf-h2-proxy.c:142,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:146,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:151,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:156,1
    - Dst: infof
      Src: /src/curl/lib/cf-h2-proxy.c:158,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-h2-proxy.c:161,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:164,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-h2-proxy.c:169,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - cf
    - ts
    - new_state
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct tunnel_stream*
    - h2_tunnel_state
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 172
    functionName: h2_tunnel_go_state
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - Curl_safefree
    - CURL_TRC_CF
    - tunnel_stream_clear
    - infof
    linkageType: ''
    returnType: void
    signature: "void h2_tunnel_go_state(struct Curl_cfilter *cf,\n                               struct
      tunnel_stream *ts,\n                               h2_tunnel_state new_state,\n
      \                              struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_del
      Src: /src/curl/lib/cf-h2-proxy.c:201,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/cf-h2-proxy.c:203,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/cf-h2-proxy.c:204,1
    - Dst: tunnel_stream_clear
      Src: /src/curl/lib/cf-h2-proxy.c:205,1
    - Dst: memset
      Src: /src/curl/lib/cf-h2-proxy.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_proxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: cf_h2_proxy_ctx_clear
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    - memset
    - nghttp2_session_del
    - tunnel_stream_clear
    linkageType: ''
    returnType: void
    signature: void cf_h2_proxy_ctx_clear(struct cf_h2_proxy_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_h2_proxy_ctx_clear
      Src: /src/curl/lib/cf-h2-proxy.c:213,1
    - Dst: free
      Src: /src/curl/lib/cf-h2-proxy.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_proxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: cf_h2_proxy_ctx_free
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - free
    - cf_h2_proxy_ctx_clear
    linkageType: ''
    returnType: void
    signature: void cf_h2_proxy_ctx_free(struct cf_h2_proxy_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:225,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/cf-h2-proxy.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - cf
    - data
    - tunnel
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: drain_tunnel
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - Curl_bufq_is_empty
    linkageType: ''
    returnType: void
    signature: "void drain_tunnel(struct Curl_cfilter *cf,\n                         struct
      Curl_easy *data,\n                         struct tunnel_stream *tunnel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/cf-h2-proxy.c:236,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/cf-h2-proxy.c:238,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - writer_ctx
    - buf
    - buflen
    - pnwritten
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 245
    functionName: proxy_h2_nw_out_writer
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_CURRENT
    - Curl_conn_cf_send
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_nw_out_writer(void *writer_ctx,\n                                       const
      unsigned char *buf, size_t buflen,\n                                       size_t
      *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_option_new
      Src: /src/curl/lib/cf-h2-proxy.c:255,1
    - Dst: nghttp2_option_set_no_auto_window_update
      Src: /src/curl/lib/cf-h2-proxy.c:259,1
    - Dst: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
      Src: /src/curl/lib/cf-h2-proxy.c:264,1
    - Dst: nghttp2_session_client_new3
      Src: /src/curl/lib/cf-h2-proxy.c:266,1
    - Dst: nghttp2_option_del
      Src: /src/curl/lib/cf-h2-proxy.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - cbs
    argTypes:
    - struct Curl_cfilter*
    - nghttp2_session_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: proxy_h2_client_new
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_option_del
    - nghttp2_session_client_new3
    - nghttp2_option_set_no_auto_window_update
    - nghttp2_option_new
    - nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_client_new(struct Curl_cfilter *cf,\n                               nghttp2_session_callbacks
      *cbs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:306,1
    - Dst: memset
      Src: /src/curl/lib/cf-h2-proxy.c:307,1
    - Dst: Curl_bufq_init
      Src: /src/curl/lib/cf-h2-proxy.c:309,1
    - Dst: Curl_bufq_init
      Src: /src/curl/lib/cf-h2-proxy.c:310,1
    - Dst: tunnel_stream_init
      Src: /src/curl/lib/cf-h2-proxy.c:312,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/curl/lib/cf-h2-proxy.c:315,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:317,1
    - Dst: nghttp2_session_callbacks_set_send_callback
      Src: /src/curl/lib/cf-h2-proxy.c:321,1
    - Dst: nghttp2_session_callbacks_set_on_frame_recv_callback
      Src: /src/curl/lib/cf-h2-proxy.c:322,1
    - Dst: nghttp2_session_callbacks_set_on_frame_send_callback
      Src: /src/curl/lib/cf-h2-proxy.c:325,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/curl/lib/cf-h2-proxy.c:328,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/curl/lib/cf-h2-proxy.c:330,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/curl/lib/cf-h2-proxy.c:332,1
    - Dst: proxy_h2_client_new
      Src: /src/curl/lib/cf-h2-proxy.c:335,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:337,1
    - Dst: Curl_multi_max_concurrent_streams
      Src: /src/curl/lib/cf-h2-proxy.c:345,1
    - Dst: nghttp2_submit_settings
      Src: /src/curl/lib/cf-h2-proxy.c:350,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:352,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/cf-h2-proxy.c:353,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/curl/lib/cf-h2-proxy.c:359,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:362,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/cf-h2-proxy.c:363,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/curl/lib/cf-h2-proxy.c:374,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 298
    functionDepth: 7
    functionLinenumber: 298
    functionLinenumberEnd: 377
    functionName: cf_h2_proxy_ctx_init
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - nghttp2_submit_settings
    - nghttp2_session_callbacks_set_send_callback
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_callbacks_set_on_frame_recv_callback
    - failf
    - Curl_multi_max_concurrent_streams
    - Curl_bufq_init
    - nghttp2_session_callbacks_set_on_frame_send_callback
    - nghttp2_session_callbacks_new
    - nghttp2_session_set_local_window_size
    - nghttp2_session_callbacks_set_on_header_callback
    - proxy_h2_client_new
    - CURL_TRC_CF
    - nghttp2_session_callbacks_del
    - tunnel_stream_init
    - DEBUGASSERT
    - memset
    - nghttp2_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_ctx_init(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_read
      Src: /src/curl/lib/cf-h2-proxy.c:381,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/cf-h2-proxy.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_proxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: proxy_h2_should_close_session
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_want_read
    - nghttp2_session_want_write
    linkageType: ''
    returnType: int
    signature: int proxy_h2_should_close_session(struct cf_h2_proxy_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:393,1
    - Dst: Curl_bufq_pass
      Src: /src/curl/lib/cf-h2-proxy.c:396,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:400,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/cf-h2-proxy.c:401,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:406,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 385
    functionDepth: 5
    functionLinenumber: 385
    functionLinenumberEnd: 408
    functionName: proxy_h2_nw_out_flush
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_pass
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_nw_out_flush(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/cf-h2-proxy.c:424,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/curl/lib/cf-h2-proxy.c:426,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:427,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:429,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/cf-h2-proxy.c:431,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/cf-h2-proxy.c:440,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:441,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:442,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:446,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/cf-h2-proxy.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cf
    - data
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 415
    functionDepth: 4
    functionLinenumber: 415
    functionLinenumberEnd: 452
    functionName: proxy_h2_process_pending_input
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_mem_recv
    - failf
    - CURL_TRC_CF
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - Curl_bufq_skip
    - nghttp2_strerror
    - Curl_bufq_peek
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_process_pending_input(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          CURLcode *err)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:462,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:463,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/cf-h2-proxy.c:464,1
    - Dst: proxy_h2_process_pending_input
      Src: /src/curl/lib/cf-h2-proxy.c:465,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:473,1
    - Dst: Curl_bufq_is_full
      Src: /src/curl/lib/cf-h2-proxy.c:474,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/curl/lib/cf-h2-proxy.c:476,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:477,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/cf-h2-proxy.c:478,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:481,1
    - Dst: proxy_h2_process_pending_input
      Src: /src/curl/lib/cf-h2-proxy.c:491,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:495,1
    - Dst: connclose
      Src: /src/curl/lib/cf-h2-proxy.c:496,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 500
    functionName: proxy_h2_progress_ingress
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - proxy_h2_process_pending_input
    - Curl_bufq_len
    - Curl_bufq_is_full
    - Curl_bufq_is_empty
    - connclose
    - Curl_cf_recv_bufq
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_progress_ingress(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/cf-h2-proxy.c:509,1
    - Dst: nghttp2_session_send
      Src: /src/curl/lib/cf-h2-proxy.c:510,1
    - Dst: nghttp2_is_fatal
      Src: /src/curl/lib/cf-h2-proxy.c:512,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:513,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/cf-h2-proxy.c:514,1
    - Dst: proxy_h2_nw_out_flush
      Src: /src/curl/lib/cf-h2-proxy.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 502
    functionDepth: 6
    functionLinenumber: 502
    functionLinenumberEnd: 518
    functionName: proxy_h2_progress_egress
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - proxy_h2_nw_out_flush
    - nghttp2_is_fatal
    - nghttp2_session_send
    - nghttp2_session_want_write
    - nghttp2_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_progress_egress(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/cf-h2-proxy.c:526,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:532,1
    - Dst: Curl_bufq_write_pass
      Src: /src/curl/lib/cf-h2-proxy.c:534,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - h2
    - buf
    - blen
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 520
    functionDepth: 6
    functionLinenumber: 520
    functionLinenumberEnd: 550
    functionName: on_session_send
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - failf
    - Curl_bufq_write_pass
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t on_session_send(nghttp2_session *h2,\n                               const
      uint8_t *buf, size_t blen, int flags,\n                               void *userp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:558,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:565,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:572,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:577,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:584,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:586,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:590,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:595,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-h2-proxy.c:601,1
    - Dst: memcpy
      Src: /src/curl/lib/cf-h2-proxy.c:605,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:607,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:613,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-h2-proxy.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - frame
    - buffer
    - blen
    argTypes:
    - nghttp2_frame*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 553
    functionDepth: 6
    functionLinenumber: 553
    functionLinenumberEnd: 622
    functionName: proxy_h2_fr_print
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CURL_ARRAYSIZE
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_fr_print(const nghttp2_frame *frame,\n                             char
      *buffer, size_t blen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/cf-h2-proxy.c:629,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:632,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/curl/lib/cf-h2-proxy.c:633,1
    - Dst: proxy_h2_fr_print
      Src: /src/curl/lib/cf-h2-proxy.c:636,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 624
    functionDepth: 7
    functionLinenumber: 624
    functionLinenumberEnd: 641
    functionName: proxy_h2_on_frame_send
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_trc_cf_is_verbose
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - proxy_h2_fr_print
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_on_frame_send(nghttp2_session *session,\n                                  const
      nghttp2_frame *frame,\n                                  void *userp)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/cf-h2-proxy.c:650,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:654,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/curl/lib/cf-h2-proxy.c:656,1
    - Dst: proxy_h2_fr_print
      Src: /src/curl/lib/cf-h2-proxy.c:659,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:661,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:667,1
    - Dst: CURL_WANT_SEND
      Src: /src/curl/lib/cf-h2-proxy.c:675,1
    - Dst: drain_tunnel
      Src: /src/curl/lib/cf-h2-proxy.c:676,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:689,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:701,1
    - Dst: CURL_WANT_SEND
      Src: /src/curl/lib/cf-h2-proxy.c:710,1
    - Dst: drain_tunnel
      Src: /src/curl/lib/cf-h2-proxy.c:711,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 644
    functionDepth: 7
    functionLinenumber: 644
    functionLinenumberEnd: 718
    functionName: proxy_h2_on_frame_recv
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_trc_cf_is_verbose
    - CF_DATA_CURRENT
    - CURL_WANT_SEND
    - drain_tunnel
    - DEBUGASSERT
    - proxy_h2_fr_print
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_on_frame_recv(nghttp2_session *session,\n                                  const
      nghttp2_frame *frame,\n                                  void *userp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/cf-h2-proxy.c:729,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:736,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:738,1
    - Dst: memcmp
      Src: /src/curl/lib/cf-h2-proxy.c:753,1
    - Dst: Curl_http_decode_status
      Src: /src/curl/lib/cf-h2-proxy.c:759,1
    - Dst: Curl_http_resp_make
      Src: /src/curl/lib/cf-h2-proxy.c:763,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:768,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/cf-h2-proxy.c:776,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 8
    argNames:
    - session
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 786
    functionName: proxy_h2_on_header
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_http_decode_status
    - CF_DATA_CURRENT
    - memcmp
    - Curl_dynhds_add
    - Curl_http_resp_make
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_on_header(nghttp2_session *session,\n                              const
      nghttp2_frame *frame,\n                              const uint8_t *name, size_t
      namelen,\n                              const uint8_t *value, size_t valuelen,\n
      \                             uint8_t flags,\n                              void
      *userp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/cf-h2-proxy.c:797,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/curl/lib/cf-h2-proxy.c:809,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:812,1
    - Dst: Curl_bufq_read
      Src: /src/curl/lib/cf-h2-proxy.c:814,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:820,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 7
    argNames:
    - session
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - userp
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 788
    functionDepth: 4
    functionLinenumber: 788
    functionLinenumberEnd: 827
    functionName: tunnel_send_callback
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_user_data
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - CF_DATA_CURRENT
    - Curl_bufq_read
    - DEBUGASSERT
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tunnel_send_callback(nghttp2_session *session,\n                                    int32_t
      stream_id,\n                                    uint8_t *buf, size_t length,\n
      \                                   uint32_t *data_flags,\n                                    nghttp2_data_source
      *source,\n                                    void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:840,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/cf-h2-proxy.c:845,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - session
    - flags
    - stream_id
    - mem
    - len
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 829
    functionDepth: 5
    functionLinenumber: 829
    functionLinenumberEnd: 856
    functionName: tunnel_recv_callback
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_bufq_write
    linkageType: ''
    returnType: int
    signature: "int tunnel_recv_callback(nghttp2_session *session, uint8_t flags,\n
      \                               int32_t stream_id,\n                                const
      uint8_t *mem, size_t len, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/cf-h2-proxy.c:864,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:872,1
    - Dst: nghttp2_http2_strerror
      Src: /src/curl/lib/cf-h2-proxy.c:873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - session
    - stream_id
    - error_code
    - userp
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 878
    functionName: proxy_h2_on_stream_close
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_CURRENT
    - nghttp2_http2_strerror
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int proxy_h2_on_stream_close(nghttp2_session *session,\n                                    int32_t
      stream_id,\n                                    uint32_t error_code, void *userp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/cf-h2-proxy.c:897,1
    - Dst: Curl_http_req_to_h2
      Src: /src/curl/lib/cf-h2-proxy.c:898,1
    - Dst: Curl_dynhds_to_nva
      Src: /src/curl/lib/cf-h2-proxy.c:902,1
    - Dst: nghttp2_submit_request
      Src: /src/curl/lib/cf-h2-proxy.c:913,1
    - Dst: nghttp2_submit_request
      Src: /src/curl/lib/cf-h2-proxy.c:917,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:922,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/cf-h2-proxy.c:923,1
    - Dst: free
      Src: /src/curl/lib/cf-h2-proxy.c:930,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/cf-h2-proxy.c:931,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 9
    argNames:
    - pstream_id
    - cf
    - data
    - h2
    - req
    - pri_spec
    - stream_user_data
    - read_callback
    - read_ctx
    argTypes:
    - int32_t*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - nghttp2_session*
    - struct httpreq*
    - nghttp2_priority_spec*
    - void*
    - nghttp2_data_source_read_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 880
    functionDepth: 3
    functionLinenumber: 880
    functionLinenumberEnd: 934
    functionName: proxy_h2_submit
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_http_req_to_h2
    - Curl_dynhds_free
    - free
    - Curl_dynhds_to_nva
    - nghttp2_strerror
    - Curl_dynhds_init
    - nghttp2_submit_request
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode proxy_h2_submit(int32_t *pstream_id,\n                                struct
      Curl_cfilter *cf,\n                                struct Curl_easy *data,\n
      \                               nghttp2_session *h2,\n                                struct
      httpreq *req,\n                                const nghttp2_priority_spec *pri_spec,\n
      \                               void *stream_user_data,\n                               nghttp2_data_source_read_callback
      read_callback,\n                                void *read_ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_proxy_create_CONNECT
      Src: /src/curl/lib/cf-h2-proxy.c:944,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/cf-h2-proxy.c:947,1
    - Dst: infof
      Src: /src/curl/lib/cf-h2-proxy.c:951,1
    - Dst: proxy_h2_submit
      Src: /src/curl/lib/cf-h2-proxy.c:953,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:956,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/cf-h2-proxy.c:957,1
    - Dst: Curl_http_req_free
      Src: /src/curl/lib/cf-h2-proxy.c:962,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 936
    functionDepth: 5
    functionLinenumber: 936
    functionLinenumberEnd: 966
    functionName: submit_CONNECT
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_http_proxy_create_CONNECT
    - Curl_http_req_free
    - infof
    - Curl_creader_set_null
    - nghttp2_strerror
    - proxy_h2_submit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode submit_CONNECT(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct tunnel_stream *ts)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:976,1
    - Dst: infof
      Src: /src/curl/lib/cf-h2-proxy.c:978,1
    - Dst: h2_tunnel_go_state
      Src: /src/curl/lib/cf-h2-proxy.c:979,1
    - Dst: Curl_dynhds_cget
      Src: /src/curl/lib/cf-h2-proxy.c:984,1
    - Dst: Curl_dynhds_cget
      Src: /src/curl/lib/cf-h2-proxy.c:987,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:991,1
    - Dst: Curl_http_input_auth
      Src: /src/curl/lib/cf-h2-proxy.c:993,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-h2-proxy.c:999,1
    - Dst: h2_tunnel_go_state
      Src: /src/curl/lib/cf-h2-proxy.c:1000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 968
    functionDepth: 4
    functionLinenumber: 968
    functionLinenumberEnd: 1007
    functionName: inspect_response
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - CURL_TRC_CF
    - h2_tunnel_go_state
    - infof
    - DEBUGASSERT
    - Curl_http_input_auth
    - Curl_dynhds_cget
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode inspect_response(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct tunnel_stream *ts)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:1016,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:1017,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1022,1
    - Dst: submit_CONNECT
      Src: /src/curl/lib/cf-h2-proxy.c:1023,1
    - Dst: h2_tunnel_go_state
      Src: /src/curl/lib/cf-h2-proxy.c:1026,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-h2-proxy.c:1027,1
    - Dst: proxy_h2_progress_ingress
      Src: /src/curl/lib/cf-h2-proxy.c:1031,1
    - Dst: proxy_h2_progress_egress
      Src: /src/curl/lib/cf-h2-proxy.c:1033,1
    - Dst: h2_tunnel_go_state
      Src: /src/curl/lib/cf-h2-proxy.c:1035,1
    - Dst: h2_tunnel_go_state
      Src: /src/curl/lib/cf-h2-proxy.c:1040,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-h2-proxy.c:1046,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:1049,1
    - Dst: inspect_response
      Src: /src/curl/lib/cf-h2-proxy.c:1050,1
    - Dst: h2_tunnel_go_state
      Src: /src/curl/lib/cf-h2-proxy.c:1069,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct tunnel_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1009
    functionDepth: 7
    functionLinenumber: 1009
    functionLinenumberEnd: 1071
    functionName: H2_CONNECT
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - submit_CONNECT
    - proxy_h2_progress_ingress
    - CURL_TRC_CF
    - proxy_h2_progress_egress
    - h2_tunnel_go_state
    - inspect_response
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode H2_CONNECT(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct tunnel_stream *ts)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/cf-h2-proxy.c:1090,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1097,1
    - Dst: cf_h2_proxy_ctx_init
      Src: /src/curl/lib/cf-h2-proxy.c:1099,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:1103,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/cf-h2-proxy.c:1105,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:1107,1
    - Dst: H2_CONNECT
      Src: /src/curl/lib/cf-h2-proxy.c:1115,1
    - Dst: Curl_req_soft_reset
      Src: /src/curl/lib/cf-h2-proxy.c:1122,1
    - Dst: Curl_client_reset
      Src: /src/curl/lib/cf-h2-proxy.c:1123,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1073
    functionDepth: 8
    functionLinenumber: 1073
    functionLinenumberEnd: 1127
    functionName: cf_h2_proxy_connect
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - cf_h2_proxy_ctx_init
    - Curl_timeleft
    - failf
    - CF_DATA_RESTORE
    - Curl_req_soft_reset
    - Curl_conn_cf_connect
    - H2_CONNECT
    - Curl_client_reset
    - DEBUGASSERT
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_connect(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1136,1
    - Dst: cf_h2_proxy_ctx_clear
      Src: /src/curl/lib/cf-h2-proxy.c:1137,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1138,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/cf-h2-proxy.c:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1129
    functionDepth: 4
    functionLinenumber: 1129
    functionLinenumberEnd: 1142
    functionName: cf_h2_proxy_close
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_close
    - CF_DATA_RESTORE
    - CF_DATA_SAVE
    - cf_h2_proxy_ctx_clear
    linkageType: ''
    returnType: void
    signature: void cf_h2_proxy_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_h2_proxy_ctx_free
      Src: /src/curl/lib/cf-h2-proxy.c:1151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1144
    functionDepth: 5
    functionLinenumber: 1144
    functionLinenumberEnd: 1154
    functionName: cf_h2_proxy_destroy
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - cf_h2_proxy_ctx_free
    linkageType: ''
    returnType: void
    signature: "void cf_h2_proxy_destroy(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1169,1
    - Dst: nghttp2_submit_goaway
      Src: /src/curl/lib/cf-h2-proxy.c:1172,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:1177,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/cf-h2-proxy.c:1178,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/cf-h2-proxy.c:1186,1
    - Dst: proxy_h2_progress_egress
      Src: /src/curl/lib/cf-h2-proxy.c:1187,1
    - Dst: nghttp2_session_want_read
      Src: /src/curl/lib/cf-h2-proxy.c:1188,1
    - Dst: proxy_h2_progress_ingress
      Src: /src/curl/lib/cf-h2-proxy.c:1189,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/cf-h2-proxy.c:1192,1
    - Dst: nghttp2_session_want_read
      Src: /src/curl/lib/cf-h2-proxy.c:1193,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1195,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1156
    functionDepth: 7
    functionLinenumber: 1156
    functionLinenumberEnd: 1198
    functionName: cf_h2_proxy_shutdown
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_goaway
    - failf
    - proxy_h2_progress_ingress
    - CF_DATA_RESTORE
    - proxy_h2_progress_egress
    - nghttp2_session_want_write
    - nghttp2_session_want_read
    - nghttp2_strerror
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_shutdown(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data, bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1204,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1206,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/curl/lib/cf-h2-proxy.c:1208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1209
    functionName: cf_h2_proxy_data_pending
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::has_data_pending
    - Curl_bufq_is_empty
    linkageType: ''
    returnType: bool
    signature: "bool cf_h2_proxy_data_pending(struct Curl_cfilter *cf,\n                                     const
      struct Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/cf-h2-proxy.c:1217,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/cf-h2-proxy.c:1222,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1223,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1224,1
    - Dst: nghttp2_session_want_read
      Src: /src/curl/lib/cf-h2-proxy.c:1225,1
    - Dst: Curl_pollset_check
      Src: /src/curl/lib/cf-h2-proxy.c:1228,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1233,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/curl/lib/cf-h2-proxy.c:1234,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/curl/lib/cf-h2-proxy.c:1236,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/cf-h2-proxy.c:1240,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1241,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1242,1
    - Dst: Curl_pollset_set
      Src: /src/curl/lib/cf-h2-proxy.c:1244,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1245,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1247,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1251,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/cf-h2-proxy.c:1252,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1253,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1254,1
    - Dst: nghttp2_session_want_read
      Src: /src/curl/lib/cf-h2-proxy.c:1255,1
    - Dst: Curl_pollset_set
      Src: /src/curl/lib/cf-h2-proxy.c:1256,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1257,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1259,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1262
    functionName: cf_h2_proxy_adjust_pollset
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    - CF_DATA_RESTORE
    - nghttp2_session_get_stream_remote_window_size
    - CURL_TRC_CF
    - Curl_pollset_set
    - Curl_bufq_is_empty
    - nghttp2_session_get_remote_window_size
    - nghttp2_session_want_write
    - nghttp2_session_want_read
    - Curl_pollset_check
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_adjust_pollset(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           struct easy_pollset
      *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1272,1
    - Dst: connclose
      Src: /src/curl/lib/cf-h2-proxy.c:1274,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:1278,1
    - Dst: nghttp2_http2_strerror
      Src: /src/curl/lib/cf-h2-proxy.c:1279,1
    - Dst: failf
      Src: /src/curl/lib/cf-h2-proxy.c:1284,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cf
    - data
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1291
    functionName: h2_handle_tunnel_close
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - nghttp2_http2_strerror
    - connclose
    - failf
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_handle_tunnel_close(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       size_t *pnread)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1300,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/cf-h2-proxy.c:1301,1
    - Dst: h2_handle_tunnel_close
      Src: /src/curl/lib/cf-h2-proxy.c:1304,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1307,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1293
    functionDepth: 5
    functionLinenumber: 1293
    functionLinenumberEnd: 1319
    functionName: tunnel_recv
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - h2_handle_tunnel_close
    - Curl_bufq_is_empty
    - CURL_TRC_CF
    - Curl_bufq_cread
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tunnel_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                           char *buf, size_t len, size_t *pnread)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1331,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1338,1
    - Dst: proxy_h2_progress_ingress
      Src: /src/curl/lib/cf-h2-proxy.c:1339,1
    - Dst: tunnel_recv
      Src: /src/curl/lib/cf-h2-proxy.c:1344,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1347,1
    - Dst: nghttp2_session_consume
      Src: /src/curl/lib/cf-h2-proxy.c:1349,1
    - Dst: Curl_1st_fatal
      Src: /src/curl/lib/cf-h2-proxy.c:1352,1
    - Dst: proxy_h2_progress_egress
      Src: /src/curl/lib/cf-h2-proxy.c:1352,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1355,1
    - Dst: drain_tunnel
      Src: /src/curl/lib/cf-h2-proxy.c:1359,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1361,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1363,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1321
    functionDepth: 7
    functionLinenumber: 1321
    functionLinenumberEnd: 1365
    functionName: cf_h2_proxy_recv
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - tunnel_recv
    - proxy_h2_progress_ingress
    - CURL_TRC_CF
    - CF_DATA_RESTORE
    - proxy_h2_progress_egress
    - Curl_bufq_is_empty
    - Curl_1st_fatal
    - nghttp2_session_consume
    - drain_tunnel
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_recv(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 char *buf, size_t len,\n
      \                                size_t *pnread)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1379,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/cf-h2-proxy.c:1391,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1392,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1396,1
    - Dst: nghttp2_session_resume_data
      Src: /src/curl/lib/cf-h2-proxy.c:1398,1
    - Dst: nghttp2_is_fatal
      Src: /src/curl/lib/cf-h2-proxy.c:1399,1
    - Dst: Curl_1st_fatal
      Src: /src/curl/lib/cf-h2-proxy.c:1405,1
    - Dst: proxy_h2_progress_ingress
      Src: /src/curl/lib/cf-h2-proxy.c:1405,1
    - Dst: Curl_1st_fatal
      Src: /src/curl/lib/cf-h2-proxy.c:1406,1
    - Dst: proxy_h2_progress_egress
      Src: /src/curl/lib/cf-h2-proxy.c:1406,1
    - Dst: proxy_h2_should_close_session
      Src: /src/curl/lib/cf-h2-proxy.c:1408,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1415,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1421,1
    - Dst: drain_tunnel
      Src: /src/curl/lib/cf-h2-proxy.c:1425,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1427,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/curl/lib/cf-h2-proxy.c:1430,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/curl/lib/cf-h2-proxy.c:1432,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/cf-h2-proxy.c:1433,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/cf-h2-proxy.c:1434,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1435,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1367
    functionDepth: 7
    functionLinenumber: 1367
    functionLinenumberEnd: 1437
    functionName: cf_h2_proxy_send
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - proxy_h2_progress_ingress
    - CURL_TRC_CF
    - nghttp2_session_get_stream_remote_window_size
    - CF_DATA_RESTORE
    - proxy_h2_progress_egress
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - Curl_bufq_write
    - nghttp2_is_fatal
    - nghttp2_session_get_remote_window_size
    - drain_tunnel
    - nghttp2_session_resume_data
    - Curl_1st_fatal
    - proxy_h2_should_close_session
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_send(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 const void *buf, size_t len,
      bool eos,\n                                 size_t *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1446,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1447,1
    - Dst: nghttp2_session_resume_data
      Src: /src/curl/lib/cf-h2-proxy.c:1449,1
    - Dst: nghttp2_is_fatal
      Src: /src/curl/lib/cf-h2-proxy.c:1450,1
    - Dst: proxy_h2_progress_egress
      Src: /src/curl/lib/cf-h2-proxy.c:1456,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1459,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/curl/lib/cf-h2-proxy.c:1462,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/curl/lib/cf-h2-proxy.c:1464,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/cf-h2-proxy.c:1465,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/cf-h2-proxy.c:1466,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1439
    functionDepth: 7
    functionLinenumber: 1439
    functionLinenumberEnd: 1469
    functionName: cf_h2_proxy_flush
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - nghttp2_session_get_stream_remote_window_size
    - proxy_h2_progress_egress
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - nghttp2_is_fatal
    - nghttp2_session_get_remote_window_size
    - nghttp2_session_resume_data
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_flush(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/curl/lib/cf-h2-proxy.c:1479,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/curl/lib/cf-h2-proxy.c:1490,1
    - Dst: proxy_h2_process_pending_input
      Src: /src/curl/lib/cf-h2-proxy.c:1492,1
    - Dst: proxy_h2_should_close_session
      Src: /src/curl/lib/cf-h2-proxy.c:1496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1471
    functionDepth: 5
    functionLinenumber: 1471
    functionLinenumberEnd: 1506
    functionName: proxy_h2_connisalive
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_cf_recv_bufq
    - struct Curl_cfilter*::next::cft::is_alive
    - proxy_h2_process_pending_input
    - proxy_h2_should_close_session
    linkageType: ''
    returnType: bool
    signature: "bool proxy_h2_connisalive(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *input_pending)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1517,1
    - Dst: proxy_h2_connisalive
      Src: /src/curl/lib/cf-h2-proxy.c:1518,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1519,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1508
    functionDepth: 6
    functionLinenumber: 1508
    functionLinenumberEnd: 1523
    functionName: cf_h2_proxy_is_alive
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - proxy_h2_connisalive
    - CURL_TRC_CF
    - CF_DATA_SAVE
    linkageType: ''
    returnType: bool
    signature: "bool cf_h2_proxy_is_alive(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *input_pending)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1537,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cf-h2-proxy.c:1538,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h2-proxy.c:1539,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h2-proxy.c:1547,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/cf-h2-proxy.c:1555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1525
    functionDepth: 2
    functionLinenumber: 1525
    functionLinenumberEnd: 1557
    functionName: cf_h2_proxy_query
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_empty
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::query
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_query(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  int query, int *pres1, void
      *pres2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/cf-h2-proxy.c:1571,1
    - Dst: cf_h2_proxy_flush
      Src: /src/curl/lib/cf-h2-proxy.c:1572,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/cf-h2-proxy.c:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1559
    functionDepth: 8
    functionLinenumber: 1559
    functionLinenumberEnd: 1579
    functionName: cf_h2_proxy_cntrl
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - cf_h2_proxy_flush
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_proxy_cntrl(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  int event, int arg1, void
      *arg2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/cf-h2-proxy.c:1607,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/cf-h2-proxy.c:1611,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/cf-h2-proxy.c:1615,1
    - Dst: cf_h2_proxy_ctx_free
      Src: /src/curl/lib/cf-h2-proxy.c:1620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1599
    functionDepth: 5
    functionLinenumber: 1599
    functionLinenumberEnd: 1622
    functionName: Curl_cf_h2_proxy_insert_after
    functionSourceFile: /src/curl/lib/cf-h2-proxy.c
    functionUses: 0
    functionsReached:
    - calloc
    - cf_h2_proxy_ctx_free
    - Curl_cf_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_h2_proxy_insert_after(struct Curl_cfilter *cf,\n
      \                                      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - value
    argTypes:
    - struct Curl_multi*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: mev_in_callback
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mev_in_callback(struct Curl_multi *multi, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - key_length
    - slots_num
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: mev_sh_entry_hash
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mev_sh_entry_hash(void *key, size_t key_length, size_t slots_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - k1
    - k1_len
    - k2
    - k2_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: mev_sh_entry_compare
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mev_sh_entry_compare(void *k1, size_t k1_len,\n                                   void
      *k2, size_t k2_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_destroy
      Src: /src/curl/lib/multi_ev.c:87,1
    - Dst: free
      Src: /src/curl/lib/multi_ev.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - freethis
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: mev_sh_entry_dtor
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void mev_sh_entry_dtor(void *freethis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/multi_ev.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sh
    - s
    argTypes:
    - struct Curl_hash*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: mev_sh_entry_get
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_hash_pick
    linkageType: ''
    returnType: struct mev_sh_entry
    signature: 'struct mev_sh_entry *

      mev_sh_entry_get(struct Curl_hash *sh, curl_socket_t s)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mev_sh_entry_get
      Src: /src/curl/lib/multi_ev.c:106,1
    - Dst: calloc
      Src: /src/curl/lib/multi_ev.c:115,1
    - Dst: Curl_uint_spbset_init
      Src: /src/curl/lib/multi_ev.c:119,1
    - Dst: Curl_hash_add
      Src: /src/curl/lib/multi_ev.c:122,1
    - Dst: mev_sh_entry_dtor
      Src: /src/curl/lib/multi_ev.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - sh
    - s
    argTypes:
    - struct Curl_hash*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: mev_sh_entry_add
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_sh_entry_get
    - calloc
    - Curl_hash_add
    - Curl_uint_spbset_init
    - mev_sh_entry_dtor
    linkageType: ''
    returnType: struct mev_sh_entry
    signature: 'struct mev_sh_entry *

      mev_sh_entry_add(struct Curl_hash *sh, curl_socket_t s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_delete
      Src: /src/curl/lib/multi_ev.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - s
    argTypes:
    - struct Curl_multi*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: mev_sh_entry_kill
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_hash_delete
    linkageType: ''
    returnType: void
    signature: void mev_sh_entry_kill(struct Curl_multi *multi, curl_socket_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_count
      Src: /src/curl/lib/multi_ev.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct mev_sh_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: mev_sh_entry_user_count
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_count
    linkageType: ''
    returnType: size_t
    signature: size_t mev_sh_entry_user_count(struct mev_sh_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_contains
      Src: /src/curl/lib/multi_ev.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - data
    argTypes:
    - struct mev_sh_entry*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: mev_sh_entry_xfer_known
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_contains
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_xfer_known(struct mev_sh_entry *e,\n                                    struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - conn
    argTypes:
    - struct mev_sh_entry*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: mev_sh_entry_conn_known
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_conn_known(struct mev_sh_entry *e,\n                                    struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:157,1
    - Dst: mev_sh_entry_user_count
      Src: /src/curl/lib/multi_ev.c:157,1
    - Dst: Curl_uint_spbset_add
      Src: /src/curl/lib/multi_ev.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - data
    argTypes:
    - struct mev_sh_entry*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: mev_sh_entry_xfer_add
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_sh_entry_user_count
    - DEBUGASSERT
    - Curl_uint_spbset_add
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_xfer_add(struct mev_sh_entry *e,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:165,1
    - Dst: mev_sh_entry_user_count
      Src: /src/curl/lib/multi_ev.c:165,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e
    - conn
    argTypes:
    - struct mev_sh_entry*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: mev_sh_entry_conn_add
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_sh_entry_user_count
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_conn_add(struct mev_sh_entry *e,\n                                  struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_contains
      Src: /src/curl/lib/multi_ev.c:177,1
    - Dst: Curl_uint_spbset_remove
      Src: /src/curl/lib/multi_ev.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - e
    - data
    argTypes:
    - struct mev_sh_entry*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: mev_sh_entry_xfer_remove
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_remove
    - Curl_uint_spbset_contains
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_xfer_remove(struct mev_sh_entry *e,\n                                     struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e
    - conn
    argTypes:
    - struct mev_sh_entry*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: mev_sh_entry_conn_remove
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool mev_sh_entry_conn_remove(struct mev_sh_entry *e,\n                                     struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mev_sh_entry_get
      Src: /src/curl/lib/multi_ev.c:201,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ev.c:209,1
    - Dst: mev_in_callback
      Src: /src/curl/lib/multi_ev.c:211,1
    - Dst: struct Curl_multi*::socket_cb
      Src: /src/curl/lib/multi_ev.c:212,1
    - Dst: mev_in_callback
      Src: /src/curl/lib/multi_ev.c:214,1
    - Dst: mev_sh_entry_kill
      Src: /src/curl/lib/multi_ev.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - multi
    - data
    - s
    - cause
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - curl_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: mev_forget_socket
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_sh_entry_get
    - mev_in_callback
    - CURL_TRC_M
    - mev_sh_entry_kill
    - struct Curl_multi*::socket_cb
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode mev_forget_socket(struct Curl_multi *multi,\n                                   struct
      Curl_easy *data,\n                                   curl_socket_t s,\n                                   const
      char *cause)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:236,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:247,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:255,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:262,1
    - Dst: mev_sh_entry_user_count
      Src: /src/curl/lib/multi_ev.c:262,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:263,1
    - Dst: mev_sh_entry_user_count
      Src: /src/curl/lib/multi_ev.c:263,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:264,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ev.c:266,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ev.c:279,1
    - Dst: mev_in_callback
      Src: /src/curl/lib/multi_ev.c:282,1
    - Dst: struct Curl_multi*::socket_cb
      Src: /src/curl/lib/multi_ev.c:283,1
    - Dst: mev_in_callback
      Src: /src/curl/lib/multi_ev.c:285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 6
    argNames:
    - multi
    - data
    - entry
    - s
    - last_action
    - cur_action
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct mev_sh_entry*
    - curl_socket_t
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 293
    functionName: mev_sh_entry_update
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_in_callback
    - CURL_TRC_M
    - mev_sh_entry_user_count
    - DEBUGASSERT
    - struct Curl_multi*::socket_cb
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode mev_sh_entry_update(struct Curl_multi *multi,\n                                     struct
      Curl_easy *data,\n                                     struct mev_sh_entry *entry,\n
      \                                    curl_socket_t s,\n                                     unsigned
      char last_action,\n                                     unsigned char cur_action)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:314,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:315,1
    - Dst: mev_sh_entry_get
      Src: /src/curl/lib/multi_ev.c:324,1
    - Dst: mev_sh_entry_add
      Src: /src/curl/lib/multi_ev.c:328,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ev.c:331,1
    - Dst: mev_sh_entry_conn_known
      Src: /src/curl/lib/multi_ev.c:334,1
    - Dst: mev_sh_entry_xfer_known
      Src: /src/curl/lib/multi_ev.c:337,1
    - Dst: mev_sh_entry_conn_add
      Src: /src/curl/lib/multi_ev.c:348,1
    - Dst: mev_sh_entry_xfer_add
      Src: /src/curl/lib/multi_ev.c:352,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ev.c:355,1
    - Dst: Curl_uint_spbset_count
      Src: /src/curl/lib/multi_ev.c:359,1
    - Dst: mev_sh_entry_update
      Src: /src/curl/lib/multi_ev.c:371,1
    - Dst: mev_sh_entry_get
      Src: /src/curl/lib/multi_ev.c:392,1
    - Dst: mev_sh_entry_conn_remove
      Src: /src/curl/lib/multi_ev.c:399,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ev.c:403,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:405,1
    - Dst: mev_sh_entry_xfer_remove
      Src: /src/curl/lib/multi_ev.c:409,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ev.c:413,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:415,1
    - Dst: mev_sh_entry_user_count
      Src: /src/curl/lib/multi_ev.c:419,1
    - Dst: mev_sh_entry_update
      Src: /src/curl/lib/multi_ev.c:421,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ev.c:425,1
    - Dst: Curl_uint_spbset_count
      Src: /src/curl/lib/multi_ev.c:427,1
    - Dst: mev_forget_socket
      Src: /src/curl/lib/multi_ev.c:431,1
    - Dst: Curl_pollset_move
      Src: /src/curl/lib/multi_ev.c:438,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 5
    argNames:
    - multi
    - data
    - conn
    - ps
    - prev_ps
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    - struct easy_pollset*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 440
    functionName: mev_pollset_diff
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_forget_socket
    - mev_sh_entry_get
    - CURL_TRC_M
    - mev_sh_entry_conn_add
    - mev_sh_entry_user_count
    - mev_sh_entry_add
    - mev_sh_entry_xfer_add
    - Curl_pollset_move
    - mev_sh_entry_conn_known
    - Curl_uint_spbset_count
    - mev_sh_entry_conn_remove
    - mev_sh_entry_xfer_remove
    - mev_sh_entry_update
    - DEBUGASSERT
    - mev_sh_entry_xfer_known
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode mev_pollset_diff(struct Curl_multi *multi,\n                                  struct
      Curl_easy *data,\n                                  struct connectdata *conn,\n
      \                                 struct easy_pollset *ps,\n                                  struct
      easy_pollset *prev_ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/multi_ev.c:448,1
    - Dst: free
      Src: /src/curl/lib/multi_ev.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 451
    functionName: mev_pollset_dtor
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_cleanup
    - free
    linkageType: ''
    returnType: void
    signature: void mev_pollset_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_create
      Src: /src/curl/lib/multi_ev.c:458,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/multi_ev.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: mev_add_new_conn_pollset
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_create
    - Curl_conn_meta_set
    linkageType: ''
    returnType: struct easy_pollset
    signature: 'struct easy_pollset *

      mev_add_new_conn_pollset(struct connectdata *conn)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_create
      Src: /src/curl/lib/multi_ev.c:471,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/multi_ev.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: mev_add_new_xfer_pollset
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_create
    - Curl_meta_set
    linkageType: ''
    returnType: struct easy_pollset
    signature: 'struct easy_pollset *

      mev_add_new_xfer_pollset(struct Curl_easy *data)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/multi_ev.c:485,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/multi_ev.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 489
    functionName: mev_get_last_pollset
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_meta_get
    - Curl_conn_meta_get
    linkageType: ''
    returnType: struct easy_pollset
    signature: "struct easy_pollset *\nmev_get_last_pollset(struct Curl_easy *data,\n
      \                    struct connectdata *conn)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/multi_ev.c:501,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/multi_ev.c:503,1
    - Dst: Curl_multi_pollset
      Src: /src/curl/lib/multi_ev.c:511,1
    - Dst: mev_get_last_pollset
      Src: /src/curl/lib/multi_ev.c:512,1
    - Dst: mev_add_new_conn_pollset
      Src: /src/curl/lib/multi_ev.c:516,1
    - Dst: mev_add_new_xfer_pollset
      Src: /src/curl/lib/multi_ev.c:518,1
    - Dst: mev_pollset_diff
      Src: /src/curl/lib/multi_ev.c:526,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:528,1
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/multi_ev.c:530,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - multi
    - data
    - conn
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 532
    functionName: mev_assess
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_add_new_conn_pollset
    - Curl_pollset_cleanup
    - mev_pollset_diff
    - Curl_multi_pollset
    - Curl_pollset_init
    - mev_get_last_pollset
    - DEBUGASSERT
    - mev_add_new_xfer_pollset
    - Curl_conn_adjust_pollset
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode mev_assess(struct Curl_multi *multi,\n                            struct
      Curl_easy *data,\n                            struct connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mev_assess
      Src: /src/curl/lib/multi_ev.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 5
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: Curl_multi_ev_assess_xfer
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 1
    functionsReached:
    - mev_assess
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_ev_assess_xfer(struct Curl_multi *multi,\n                                    struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mev_assess
      Src: /src/curl/lib/multi_ev.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - multi
    - data
    - conn
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 5
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: Curl_multi_ev_assess_conn
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_assess
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_ev_assess_conn(struct Curl_multi *multi,\n                                    struct
      Curl_easy *data,\n                                    struct connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_first
      Src: /src/curl/lib/multi_ev.c:553,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi_ev.c:555,1
    - Dst: Curl_multi_ev_assess_xfer
      Src: /src/curl/lib/multi_ev.c:557,1
    - Dst: Curl_uint_bset_next
      Src: /src/curl/lib/multi_ev.c:559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - multi
    - set
    argTypes:
    - struct Curl_multi*
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 547
    functionDepth: 6
    functionLinenumber: 547
    functionLinenumberEnd: 562
    functionName: Curl_multi_ev_assess_xfer_bset
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - Curl_uint_bset_first
    - Curl_uint_bset_next
    - Curl_multi_ev_assess_xfer
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_ev_assess_xfer_bset(struct Curl_multi *multi,\n
      \                                        struct uint_bset *set)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mev_sh_entry_get
      Src: /src/curl/lib/multi_ev.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - multi
    - s
    - user_data
    argTypes:
    - struct Curl_multi*
    - curl_socket_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 574
    functionName: Curl_multi_ev_assign
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_sh_entry_get
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_ev_assign(struct Curl_multi *multi,\n                               curl_socket_t
      s,\n                               void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:582,1
    - Dst: mev_sh_entry_get
      Src: /src/curl/lib/multi_ev.c:583,1
    - Dst: Curl_uint_spbset_first
      Src: /src/curl/lib/multi_ev.c:594,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi_ev.c:596,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/multi_ev.c:598,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi_ev.c:601,1
    - Dst: Curl_uint_spbset_remove
      Src: /src/curl/lib/multi_ev.c:602,1
    - Dst: Curl_uint_spbset_next
      Src: /src/curl/lib/multi_ev.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - multi
    - s
    - run_cpool
    argTypes:
    - struct Curl_multi*
    - curl_socket_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 611
    functionName: Curl_multi_ev_dirty_xfers
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_uint_spbset_remove
    - Curl_multi_get_easy
    - mev_sh_entry_get
    - CURL_TRC_M
    - Curl_uint_spbset_first
    - Curl_uint_spbset_next
    - Curl_multi_mark_dirty
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_multi_ev_dirty_xfers(struct Curl_multi *multi,\n                               curl_socket_t
      s,\n                               bool *run_cpool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mev_forget_socket
      Src: /src/curl/lib/multi_ev.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - multi
    - data
    - s
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: Curl_multi_ev_socket_done
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_forget_socket
    linkageType: ''
    returnType: void
    signature: "void Curl_multi_ev_socket_done(struct Curl_multi *multi,\n                               struct
      Curl_easy *data, curl_socket_t s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi_ev.c:622,1
    - Dst: mev_assess
      Src: /src/curl/lib/multi_ev.c:624,1
    - Dst: Curl_meta_remove
      Src: /src/curl/lib/multi_ev.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 619
    functionDepth: 5
    functionLinenumber: 619
    functionLinenumberEnd: 627
    functionName: Curl_multi_ev_xfer_done
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_assess
    - DEBUGASSERT
    - Curl_meta_remove
    linkageType: ''
    returnType: void
    signature: "void Curl_multi_ev_xfer_done(struct Curl_multi *multi,\n                             struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mev_assess
      Src: /src/curl/lib/multi_ev.c:633,1
    - Dst: Curl_conn_meta_remove
      Src: /src/curl/lib/multi_ev.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - multi
    - data
    - conn
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 629
    functionDepth: 5
    functionLinenumber: 629
    functionLinenumberEnd: 635
    functionName: Curl_multi_ev_conn_done
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - mev_assess
    - Curl_conn_meta_remove
    linkageType: ''
    returnType: void
    signature: "void Curl_multi_ev_conn_done(struct Curl_multi *multi,\n                             struct
      Curl_easy *data,\n                             struct connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/curl/lib/multi_ev.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - hashsize
    argTypes:
    - struct Curl_multi*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: Curl_multi_ev_init
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_hash_init
    linkageType: ''
    returnType: void
    signature: void Curl_multi_ev_init(struct Curl_multi *multi, size_t hashsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_destroy
      Src: /src/curl/lib/multi_ev.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: Curl_multi_ev_cleanup
    functionSourceFile: /src/curl/lib/multi_ev.c
    functionUses: 0
    functionsReached:
    - Curl_hash_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_multi_ev_cleanup(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:58,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/socks_sspi.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - data
    - status
    - function
    argTypes:
    - struct Curl_easy*
    - SECURITY_STATUS
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: check_sspi_err
    functionSourceFile: /src/curl/lib/socks_sspi.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_sspi_strerror
    linkageType: ''
    returnType: int
    signature: "int check_sspi_err(struct Curl_easy *data,\n                          SECURITY_STATUS
      status,\n                          const char *function)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/lib/socks_sspi.c:104,1
    - Dst: strdup
      Src: /src/curl/lib/socks_sspi.c:105,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/socks_sspi.c:107,1
    - Dst: memset
      Src: /src/curl/lib/socks_sspi.c:136,1
    - Dst: memset
      Src: /src/curl/lib/socks_sspi.c:137,1
    - Dst: AcquireCredentialsHandle
      Src: /src/curl/lib/socks_sspi.c:145,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/socks_sspi.c:146,1
    - Dst: TEXT
      Src: /src/curl/lib/socks_sspi.c:146,1
    - Dst: check_sspi_err
      Src: /src/curl/lib/socks_sspi.c:151,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:152,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socks_sspi.c:157,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/socks_sspi.c:164,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/socks_sspi.c:171,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/socks_sspi.c:183,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/socks_sspi.c:185,1
    - Dst: check_sspi_err
      Src: /src/curl/lib/socks_sspi.c:188,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:189,1
    - Dst: htons
      Src: /src/curl/lib/socks_sspi.c:202,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:203,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_sspi.c:205,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:208,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_sspi.c:213,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:217,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/socks_sspi.c:224,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/socks_sspi.c:229,1
    - Dst: Curl_blockread_all
      Src: /src/curl/lib/socks_sspi.c:245,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:247,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:255,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:262,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:268,1
    - Dst: ntohs
      Src: /src/curl/lib/socks_sspi.c:269,1
    - Dst: malloc
      Src: /src/curl/lib/socks_sspi.c:272,1
    - Dst: Curl_blockread_all
      Src: /src/curl/lib/socks_sspi.c:278,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:282,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/socks_sspi.c:291,1
    - Dst: QueryCredentialsAttributes
      Src: /src/curl/lib/socks_sspi.c:294,1
    - Dst: check_sspi_err
      Src: /src/curl/lib/socks_sspi.c:297,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:298,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/curl/lib/socks_sspi.c:304,1
    - Dst: infof
      Src: /src/curl/lib/socks_sspi.c:305,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/socks_sspi.c:307,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/socks_sspi.c:309,1
    - Dst: infof
      Src: /src/curl/lib/socks_sspi.c:325,1
    - Dst: htons
      Src: /src/curl/lib/socks_sspi.c:361,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:362,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/socks_sspi.c:365,1
    - Dst: check_sspi_err
      Src: /src/curl/lib/socks_sspi.c:368,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:369,1
    - Dst: malloc
      Src: /src/curl/lib/socks_sspi.c:376,1
    - Dst: malloc
      Src: /src/curl/lib/socks_sspi.c:384,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:390,1
    - Dst: malloc
      Src: /src/curl/lib/socks_sspi.c:393,1
    - Dst: EncryptMessage
      Src: /src/curl/lib/socks_sspi.c:398,1
    - Dst: check_sspi_err
      Src: /src/curl/lib/socks_sspi.c:401,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:402,1
    - Dst: malloc
      Src: /src/curl/lib/socks_sspi.c:414,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:420,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:421,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:423,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/socks_sspi.c:426,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/socks_sspi.c:428,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/socks_sspi.c:430,1
    - Dst: htons
      Src: /src/curl/lib/socks_sspi.c:433,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:434,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_sspi.c:437,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:440,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:446,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_sspi.c:447,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:450,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/socks_sspi.c:456,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:459,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/socks_sspi.c:463,1
    - Dst: Curl_blockread_all
      Src: /src/curl/lib/socks_sspi.c:466,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:468,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:476,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:483,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:489,1
    - Dst: ntohs
      Src: /src/curl/lib/socks_sspi.c:490,1
    - Dst: malloc
      Src: /src/curl/lib/socks_sspi.c:493,1
    - Dst: Curl_blockread_all
      Src: /src/curl/lib/socks_sspi.c:499,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:503,1
    - Dst: DecryptMessage
      Src: /src/curl/lib/socks_sspi.c:517,1
    - Dst: check_sspi_err
      Src: /src/curl/lib/socks_sspi.c:524,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:525,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/socks_sspi.c:527,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:535,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/socks_sspi.c:538,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:545,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/socks_sspi.c:546,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/socks_sspi.c:548,1
    - Dst: failf
      Src: /src/curl/lib/socks_sspi.c:554,1
    - Dst: memcpy
      Src: /src/curl/lib/socks_sspi.c:559,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/socks_sspi.c:560,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socks_sspi.c:563,1
    - Dst: infof
      Src: /src/curl/lib/socks_sspi.c:565,1
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/socks_sspi.c:580,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/socks_sspi.c:581,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socks_sspi.c:584,1
    - Dst: free
      Src: /src/curl/lib/socks_sspi.c:585,1
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/socks_sspi.c:586,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/socks_sspi.c:587,1
    - Dst: free
      Src: /src/curl/lib/socks_sspi.c:588,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/socks_sspi.c:590,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/socks_sspi.c:592,1
    - Dst: free
      Src: /src/curl/lib/socks_sspi.c:593,1
    - Dst: free
      Src: /src/curl/lib/socks_sspi.c:594,1
    - Dst: free
      Src: /src/curl/lib/socks_sspi.c:595,1
    - Dst: free
      Src: /src/curl/lib/socks_sspi.c:596,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 340
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 66
    functionDepth: 6
    functionLinenumber: 66
    functionLinenumberEnd: 598
    functionName: Curl_SOCKS5_gssapi_negotiate
    functionSourceFile: /src/curl/lib/socks_sspi.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - QueryContextAttributes
    - curlx_nonblock
    - failf
    - check_sspi_err
    - strdup
    - strchr
    - DecryptMessage
    - curlx_convert_UTF8_to_tchar
    - FreeCredentialsHandle
    - EncryptMessage
    - ntohs
    - InitializeSecurityContext
    - curlx_convert_tchar_to_UTF8
    - curlx_unicodefree
    - curl_maprintf
    - AcquireCredentialsHandle
    - TEXT
    - memcpy
    - free
    - DeleteSecurityContext
    - Curl_blockread_all
    - Curl_safefree
    - malloc
    - FreeContextBuffer
    - Curl_conn_cf_send
    - QueryCredentialsAttributes
    - memset
    - infof
    - htons
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: streamclose
    functionSourceFile: /src/curl/lib/connect.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streamclose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: connclose
    functionSourceFile: /src/curl/lib/connect.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connclose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: connkeep
    functionSourceFile: /src/curl/lib/connect.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connkeep(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: streamclose
    functionSourceFile: /src/curl/lib/connect.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streamclose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: connclose
    functionSourceFile: /src/curl/lib/connect.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connclose(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: connkeep
    functionSourceFile: /src/curl/lib/connect.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connkeep(x,y)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: Curl_ipv6_scope
    functionSourceFile: /src/curl/lib/if2ip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_ipv6_scope(const struct sockaddr *sa)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/curl/lib/if2ip.c:115,1
    - Dst: curl_strequal
      Src: /src/curl/lib/if2ip.c:119,1
    - Dst: Curl_ipv6_scope
      Src: /src/curl/lib/if2ip.c:129,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/if2ip.c:156,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/lib/if2ip.c:164,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/if2ip.c:165,1
    - Dst: curl_strequal
      Src: /src/curl/lib/if2ip.c:170,1
    - Dst: freeifaddrs
      Src: /src/curl/lib/if2ip.c:176,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 6
    argNames:
    - af
    - remote_scope
    - local_scope_id
    - interf
    - buf
    - buf_size
    argTypes:
    - int
    - "USE_IPV6\n                          unsigned"
    - unsigned int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 180
    functionName: Curl_if2ip
    functionSourceFile: /src/curl/lib/if2ip.c
    functionUses: 1
    functionsReached:
    - getifaddrs
    - freeifaddrs
    - curl_msnprintf
    - Curl_ipv6_scope
    - curl_strequal
    - curlx_inet_ntop
    linkageType: ''
    returnType: if2ip_result_t
    signature: "if2ip_result_t Curl_if2ip(int af,\n#ifdef USE_IPV6\n                          unsigned
      int remote_scope,\n                          unsigned int local_scope_id,\n#endif\n
      \                         const char *interf,\n                          char
      *buf, size_t buf_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/if2ip.c:207,1
    - Dst: CURL_SOCKET
      Src: /src/curl/lib/if2ip.c:211,1
    - Dst: memset
      Src: /src/curl/lib/if2ip.c:215,1
    - Dst: memcpy
      Src: /src/curl/lib/if2ip.c:216,1
    - Dst: ioctl
      Src: /src/curl/lib/if2ip.c:224,1
    - Dst: sclose
      Src: /src/curl/lib/if2ip.c:228,1
    - Dst: memcpy
      Src: /src/curl/lib/if2ip.c:236,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/lib/if2ip.c:237,1
    - Dst: sclose
      Src: /src/curl/lib/if2ip.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - af
    - remote_scope
    - local_scope_id
    - interf
    - buf
    - buf_size
    argTypes:
    - int
    - "USE_IPV6\n                          unsigned"
    - unsigned int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 243
    functionName: Curl_if2ip
    functionSourceFile: /src/curl/lib/if2ip.c
    functionUses: 1
    functionsReached:
    - strlen
    - memcpy
    - memset
    - CURL_SOCKET
    - curlx_inet_ntop
    - ioctl
    - sclose
    linkageType: ''
    returnType: if2ip_result_t
    signature: "if2ip_result_t Curl_if2ip(int af,\n#ifdef USE_IPV6\n                          unsigned
      int remote_scope,\n                          unsigned int local_scope_id,\n#endif\n
      \                         const char *interf,\n                          char
      *buf, size_t buf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - af
    - remote_scope
    - local_scope_id
    - interf
    - buf
    - buf_size
    argTypes:
    - int
    - "USE_IPV6\n                          unsigned"
    - unsigned int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: Curl_if2ip
    functionSourceFile: /src/curl/lib/if2ip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: if2ip_result_t
    signature: "if2ip_result_t Curl_if2ip(int af,\n#ifdef USE_IPV6\n                          unsigned
      int remote_scope,\n                          unsigned int local_scope_id,\n#endif\n
      \                         const char *interf,\n                          char
      *buf, size_t buf_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/cshutdn.c:62,1
    - Dst: DEBUGF
      Src: /src/curl/lib/cshutdn.c:66,1
    - Dst: infof
      Src: /src/curl/lib/cshutdn.c:66,1
    - Dst: struct connectdata*::handler::disconnect
      Src: /src/curl/lib/cshutdn.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: cshutdn_run_conn_handler
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_pgrsTime
    - DEBUGF
    - struct connectdata*::handler::disconnect
    linkageType: ''
    returnType: void
    signature: "void cshutdn_run_conn_handler(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:86,1
    - Dst: cshutdn_run_conn_handler
      Src: /src/curl/lib/cshutdn.c:88,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/cshutdn.c:95,1
    - Dst: Curl_conn_shutdown
      Src: /src/curl/lib/cshutdn.c:96,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/cshutdn.c:102,1
    - Dst: Curl_conn_shutdown
      Src: /src/curl/lib/cshutdn.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - data
    - conn
    - done
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 113
    functionName: cshutdn_run_once
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_connected
    - DEBUGASSERT
    - Curl_conn_shutdown
    - cshutdn_run_conn_handler
    linkageType: ''
    returnType: void
    signature: "void cshutdn_run_once(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:119,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/cshutdn.c:120,1
    - Dst: cshutdn_run_once
      Src: /src/curl/lib/cshutdn.c:121,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:122,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/cshutdn.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - done
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: Curl_cshutdn_run_once
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_attach_connection
    - CURL_TRC_M
    - cshutdn_run_once
    - Curl_detach_connection
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_run_once(struct Curl_easy *data,\n                           struct
      connectdata *conn,\n                           bool *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:135,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:137,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:139,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/cshutdn.c:148,1
    - Dst: cshutdn_run_conn_handler
      Src: /src/curl/lib/cshutdn.c:150,1
    - Dst: cshutdn_run_once
      Src: /src/curl/lib/cshutdn.c:154,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:156,1
    - Dst: Curl_conn_close
      Src: /src/curl/lib/cshutdn.c:159,1
    - Dst: Curl_conn_close
      Src: /src/curl/lib/cshutdn.c:160,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/cshutdn.c:161,1
    - Dst: Curl_multi_ev_conn_done
      Src: /src/curl/lib/cshutdn.c:164,1
    - Dst: Curl_conn_free
      Src: /src/curl/lib/cshutdn.c:165,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:168,1
    - Dst: Curl_multi_connchanged
      Src: /src/curl/lib/cshutdn.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - data
    - conn
    - do_shutdown
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 171
    functionName: Curl_cshutdn_terminate
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_attach_connection
    - CURL_TRC_M
    - Curl_multi_connchanged
    - Curl_conn_free
    - cshutdn_run_conn_handler
    - cshutdn_run_once
    - Curl_conn_close
    - Curl_detach_connection
    - Curl_multi_ev_conn_done
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_terminate(struct Curl_easy *data,\n                            struct
      connectdata *conn,\n                            bool do_shutdown)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:180,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cshutdn.c:182,1
    - Dst: strcmp
      Src: /src/curl/lib/cshutdn.c:183,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cshutdn.c:185,1
    - Dst: SIGPIPE_VARIABLE
      Src: /src/curl/lib/cshutdn.c:189,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cshutdn.c:190,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/cshutdn.c:191,1
    - Dst: sigpipe_init
      Src: /src/curl/lib/cshutdn.c:192,1
    - Dst: sigpipe_apply
      Src: /src/curl/lib/cshutdn.c:193,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/curl/lib/cshutdn.c:194,1
    - Dst: sigpipe_restore
      Src: /src/curl/lib/cshutdn.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - cshutdn
    - data
    - destination
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 7
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: cshutdn_destroy_oldest
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - sigpipe_restore
    - Curl_node_elem
    - strcmp
    - sigpipe_init
    - Curl_node_remove
    - sigpipe_apply
    - Curl_node_next
    - SIGPIPE_VARIABLE
    - Curl_cshutdn_terminate
    - Curl_llist_head
    linkageType: ''
    returnType: bool
    signature: "bool cshutdn_destroy_oldest(struct cshutdn *cshutdn,\n                                   struct
      Curl_easy *data,\n                                   const char *destination)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cshutdn_destroy_oldest
      Src: /src/curl/lib/cshutdn.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data
    - destination
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 8
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: Curl_cshutdn_close_oldest
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - cshutdn_destroy_oldest
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cshutdn_close_oldest(struct Curl_easy *data,\n                               const
      char *destination)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollfds_init
      Src: /src/curl/lib/cshutdn.c:221,1
    - Dst: Curl_cshutdn_add_pollfds
      Src: /src/curl/lib/cshutdn.c:223,1
    - Dst: Curl_poll
      Src: /src/curl/lib/cshutdn.c:227,1
    - Dst: CURLMIN
      Src: /src/curl/lib/cshutdn.c:227,1
    - Dst: Curl_pollfds_cleanup
      Src: /src/curl/lib/cshutdn.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cshutdn
    - data
    - timeout_ms
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: cshutdn_wait
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_poll
    - Curl_pollfds_init
    - Curl_pollfds_cleanup
    - Curl_cshutdn_add_pollfds
    - CURLMIN
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cshutdn_wait(struct cshutdn *cshutdn,\n                             struct
      Curl_easy *data,\n                             int timeout_ms)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:238,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:249,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/cshutdn.c:250,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cshutdn.c:252,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cshutdn.c:253,1
    - Dst: Curl_cshutdn_run_once
      Src: /src/curl/lib/cshutdn.c:254,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/cshutdn.c:256,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/curl/lib/cshutdn.c:257,1
    - Dst: curlx_now
      Src: /src/curl/lib/cshutdn.c:263,1
    - Dst: Curl_conn_shutdown_timeleft
      Src: /src/curl/lib/cshutdn.c:266,1
    - Dst: Curl_expire_ex
      Src: /src/curl/lib/cshutdn.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - cshutdn
    - data
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 235
    functionDepth: 7
    functionLinenumber: 235
    functionLinenumberEnd: 275
    functionName: cshutdn_perform
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_M
    - Curl_llist_head
    - Curl_node_elem
    - Curl_cshutdn_run_once
    - curlx_now
    - Curl_conn_shutdown_timeleft
    - Curl_node_remove
    - Curl_cshutdn_terminate
    - Curl_llist_count
    - Curl_node_next
    - Curl_expire_ex
    linkageType: ''
    returnType: void
    signature: "void cshutdn_perform(struct cshutdn *cshutdn,\n                            struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/cshutdn.c:282,1
    - Dst: SIGPIPE_VARIABLE
      Src: /src/curl/lib/cshutdn.c:284,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:286,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:287,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:289,1
    - Dst: sigpipe_init
      Src: /src/curl/lib/cshutdn.c:290,1
    - Dst: sigpipe_apply
      Src: /src/curl/lib/cshutdn.c:291,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:293,1
    - Dst: cshutdn_perform
      Src: /src/curl/lib/cshutdn.c:297,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:299,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:300,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cshutdn.c:305,1
    - Dst: curlx_now
      Src: /src/curl/lib/cshutdn.c:305,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:307,1
    - Dst: cshutdn_wait
      Src: /src/curl/lib/cshutdn.c:313,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:314,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:320,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cshutdn.c:322,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/cshutdn.c:323,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/curl/lib/cshutdn.c:324,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:325,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:327,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/cshutdn.c:327,1
    - Dst: sigpipe_restore
      Src: /src/curl/lib/cshutdn.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - cshutdn
    - data
    - timeout_ms
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 278
    functionDepth: 8
    functionLinenumber: 278
    functionLinenumberEnd: 330
    functionName: cshutdn_terminate_all
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - sigpipe_restore
    - cshutdn_wait
    - CURL_TRC_M
    - cshutdn_perform
    - Curl_node_elem
    - curlx_now
    - curlx_timediff
    - Curl_node_remove
    - sigpipe_apply
    - sigpipe_init
    - SIGPIPE_VARIABLE
    - Curl_cshutdn_terminate
    - Curl_llist_count
    - DEBUGASSERT
    - Curl_llist_head
    linkageType: ''
    returnType: void
    signature: "void cshutdn_terminate_all(struct cshutdn *cshutdn,\n                                  struct
      Curl_easy *data,\n                                  int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:336,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/cshutdn.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cshutdn
    - multi
    argTypes:
    - struct cshutdn*
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: Curl_cshutdn_init
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_llist_init
    linkageType: ''
    returnType: int
    signature: "int Curl_cshutdn_init(struct cshutdn *cshutdn,\n                      struct
      Curl_multi *multi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/cshutdn.c:352,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/cshutdn.c:355,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:361,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/cshutdn.c:362,1
    - Dst: cshutdn_terminate_all
      Src: /src/curl/lib/cshutdn.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cshutdn
    - data
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 344
    functionDepth: 9
    functionLinenumber: 344
    functionLinenumberEnd: 366
    functionName: Curl_cshutdn_destroy
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - cshutdn_terminate_all
    - getenv
    - CURL_TRC_M
    - curlx_str_number
    - Curl_llist_count
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_destroy(struct cshutdn *cshutdn,\n                          struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/curl/lib/cshutdn.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: Curl_cshutdn_count
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_llist_count
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_cshutdn_count(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:383,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cshutdn.c:385,1
    - Dst: strcmp
      Src: /src/curl/lib/cshutdn.c:386,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cshutdn.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - destination
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: Curl_cshutdn_dest_count
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_node_elem
    - strcmp
    - Curl_llist_head
    - Curl_node_next
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_cshutdn_dest_count(struct Curl_easy *data,\n                               const
      char *destination)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:402,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:403,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/cshutdn.c:405,1
    - Dst: Curl_multi_ev_assess_conn
      Src: /src/curl/lib/cshutdn.c:406,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/cshutdn.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cshutdn
    - data
    - conn
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 396
    functionDepth: 6
    functionLinenumber: 396
    functionLinenumberEnd: 409
    functionName: cshutdn_update_ev
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_detach_connection
    - DEBUGASSERT
    - Curl_attach_connection
    - Curl_multi_ev_assess_conn
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode cshutdn_update_ev(struct cshutdn *cshutdn,\n                                   struct
      Curl_easy *data,\n                                   struct connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/curl/lib/cshutdn.c:423,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:424,1
    - Dst: cshutdn_destroy_oldest
      Src: /src/curl/lib/cshutdn.c:426,1
    - Dst: cshutdn_update_ev
      Src: /src/curl/lib/cshutdn.c:430,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:431,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/curl/lib/cshutdn.c:433,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/cshutdn.c:438,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/cshutdn.c:439,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/cshutdn.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cshutdn
    - conn
    - conns_in_pool
    argTypes:
    - struct cshutdn*
    - struct connectdata*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 412
    functionDepth: 8
    functionLinenumber: 412
    functionLinenumberEnd: 442
    functionName: Curl_cshutdn_add
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - cshutdn_destroy_oldest
    - CURL_TRC_M
    - Curl_llist_append
    - Curl_cshutdn_terminate
    - Curl_llist_count
    - cshutdn_update_ev
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_add(struct cshutdn *cshutdn,\n                      struct
      connectdata *conn,\n                      size_t conns_in_pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cshutdn.c:453,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:454,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cshutdn.c:456,1
    - Dst: Curl_cshutdn_run_once
      Src: /src/curl/lib/cshutdn.c:458,1
    - Dst: cshutdn_update_ev
      Src: /src/curl/lib/cshutdn.c:459,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/cshutdn.c:460,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/curl/lib/cshutdn.c:461,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cshutdn.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - cshutdn
    - data
    - s
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 445
    functionDepth: 7
    functionLinenumber: 445
    functionLinenumberEnd: 467
    functionName: cshutdn_multi_socket
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_llist_head
    - Curl_node_elem
    - Curl_cshutdn_run_once
    - Curl_node_remove
    - Curl_cshutdn_terminate
    - Curl_node_next
    - DEBUGASSERT
    - cshutdn_update_ev
    linkageType: ''
    returnType: void
    signature: "void cshutdn_multi_socket(struct cshutdn *cshutdn,\n                                 struct
      Curl_easy *data,\n                                 curl_socket_t s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cshutdn_perform
      Src: /src/curl/lib/cshutdn.c:475,1
    - Dst: cshutdn_multi_socket
      Src: /src/curl/lib/cshutdn.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - cshutdn
    - data
    - s
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 8
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: Curl_cshutdn_perform
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - cshutdn_perform
    - cshutdn_multi_socket
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_perform(struct cshutdn *cshutdn,\n                          struct
      Curl_easy *data,\n                          curl_socket_t s)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:486,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/cshutdn.c:490,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:491,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cshutdn.c:492,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cshutdn.c:494,1
    - Dst: Curl_pollset_reset
      Src: /src/curl/lib/cshutdn.c:497,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/cshutdn.c:498,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/cshutdn.c:499,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/cshutdn.c:500,1
    - Dst: FD_SET
      Src: /src/curl/lib/cshutdn.c:511,1
    - Dst: FD_SET
      Src: /src/curl/lib/cshutdn.c:513,1
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/cshutdn.c:522,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - cshutdn
    - data
    - read_fd_set
    - write_fd_set
    - maxfd
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - fd_set*
    - fd_set*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 524
    functionName: Curl_cshutdn_setfds
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_attach_connection
    - Curl_pollset_cleanup
    - Curl_pollset_reset
    - Curl_node_elem
    - FD_SET
    - Curl_pollset_init
    - Curl_node_next
    - Curl_detach_connection
    - Curl_llist_head
    - Curl_conn_adjust_pollset
    linkageType: ''
    returnType: void
    signature: "void Curl_cshutdn_setfds(struct cshutdn *cshutdn,\n                         struct
      Curl_easy *data,\n                         fd_set *read_fd_set, fd_set *write_fd_set,\n
      \                        int *maxfd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:533,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/cshutdn.c:539,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:540,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cshutdn.c:541,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cshutdn.c:542,1
    - Dst: Curl_pollset_reset
      Src: /src/curl/lib/cshutdn.c:543,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/cshutdn.c:544,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/cshutdn.c:545,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/cshutdn.c:546,1
    - Dst: Curl_waitfds_add_ps
      Src: /src/curl/lib/cshutdn.c:549,1
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/cshutdn.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cshutdn
    - data
    - cwfds
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - struct Curl_waitfds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 554
    functionName: Curl_cshutdn_add_waitfds
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 0
    functionsReached:
    - Curl_waitfds_add_ps
    - Curl_attach_connection
    - Curl_pollset_cleanup
    - Curl_pollset_reset
    - Curl_node_elem
    - Curl_pollset_init
    - Curl_node_next
    - Curl_detach_connection
    - Curl_llist_head
    - Curl_conn_adjust_pollset
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int Curl_cshutdn_add_waitfds(struct cshutdn *cshutdn,\n                                      struct
      Curl_easy *data,\n                                      struct Curl_waitfds
      *cwfds)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:562,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/cshutdn.c:567,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cshutdn.c:568,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cshutdn.c:569,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cshutdn.c:570,1
    - Dst: Curl_pollset_reset
      Src: /src/curl/lib/cshutdn.c:571,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/cshutdn.c:572,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/cshutdn.c:573,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/cshutdn.c:574,1
    - Dst: Curl_pollfds_add_ps
      Src: /src/curl/lib/cshutdn.c:577,1
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/cshutdn.c:579,1
    - Dst: Curl_pollfds_cleanup
      Src: /src/curl/lib/cshutdn.c:580,1
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/cshutdn.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - cshutdn
    - data
    - cpfds
    argTypes:
    - struct cshutdn*
    - struct Curl_easy*
    - struct curl_pollfds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 588
    functionName: Curl_cshutdn_add_pollfds
    functionSourceFile: /src/curl/lib/cshutdn.c
    functionUses: 1
    functionsReached:
    - Curl_pollfds_add_ps
    - Curl_attach_connection
    - Curl_pollfds_cleanup
    - Curl_pollset_cleanup
    - Curl_pollset_reset
    - Curl_node_elem
    - Curl_pollset_init
    - Curl_node_next
    - Curl_detach_connection
    - Curl_llist_head
    - Curl_conn_adjust_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cshutdn_add_pollfds(struct cshutdn *cshutdn,\n                                  struct
      Curl_easy *data,\n                                  struct curl_pollfds *cpfds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - stat_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: filesize
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: filesize(name, stat_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/lib/mime.c:158,1
    - Dst: fread
      Src: /src/curl/lib/mime.c:165,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/mime.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - name
    - stat_buf
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 172
    functionName: VmsRealFileSize
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_fclose
    - curlx_fopen
    - fread
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t VmsRealFileSize(const char *name,\n                           const
      struct_stat *stat_buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VmsRealFileSize
      Src: /src/curl/lib/mime.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - stat_buf
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: VmsSpecialSize
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - VmsRealFileSize
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t VmsSpecialSize(const char *name,\n                                 const
      struct_stat *stat_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - stat_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: filesize
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: filesize(name, stat_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_stat
      Src: /src/curl/lib/mime.c:208,1
    - Dst: curlx_fopen
      Src: /src/curl/lib/mime.c:214,1
    - Dst: curlx_fopen
      Src: /src/curl/lib/mime.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: vmsfopenread
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_fopen
    - curlx_stat
    linkageType: ''
    returnType: FILE
    signature: FILE * vmsfopenread(const char *file, const char *mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/curl/lib/mime.c:257,1
    - Dst: strrchr
      Src: /src/curl/lib/mime.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: Curl_basename
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char *Curl_basename(char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: basename
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: basename(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - state
    - tok
    - ptr
    argTypes:
    - struct mime_state*
    - enum mimestate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: mimesetstate
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mimesetstate(struct mime_state *state,\n                         enum
      mimestate tok, void *ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/mime.c:318,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/mime.c:320,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:320,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/mime.c:325,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/mime.c:327,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/mime.c:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - data
    - src
    - strategy
    argTypes:
    - struct Curl_easy*
    - char*
    - enum mimestrategy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 331
    functionName: escape_string
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - curlx_dyn_addn
    - curlx_dyn_init
    - STRCONST
    - curlx_dyn_ptr
    linkageType: ''
    returnType: char
    signature: "char *escape_string(struct Curl_easy *data,\n                           const
      char *src, enum mimestrategy strategy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/mime.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - hdr
    - lbl
    - len
    argTypes:
    - struct curl_slist*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: match_header
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: char
    signature: char *match_header(struct curl_slist *hdr, const char *lbl, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: match_header
      Src: /src/curl/lib/mime.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - hdrlist
    - hdr
    - len
    argTypes:
    - struct curl_slist*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: search_header
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - match_header
    linkageType: ''
    returnType: char
    signature: "char *search_header(struct curl_slist *hdrlist,\n                           const
      char *hdr, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/lib/mime.c:360,1
    - Dst: strdup
      Src: /src/curl/lib/mime.c:364,1
    - Dst: basename
      Src: /src/curl/lib/mime.c:364,1
    - Dst: free
      Src: /src/curl/lib/mime.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fullfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 369
    functionName: strippath
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - free
    - basename
    - strdup
    linkageType: ''
    returnType: char
    signature: char *strippath(const char *fullfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct mime_encoder_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: cleanup_encoder_state
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_encoder_state(struct mime_encoder_state *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/mime.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buffer
    - size
    - ateof
    - part
    argTypes:
    - char*
    - size_t
    - bool
    - struct curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 400
    functionName: encoder_nop_read
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t encoder_nop_read(char *buffer, size_t size, bool ateof,\n                               struct
      curl_mimepart *part)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: encoder_nop_size
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t encoder_nop_size(curl_mimepart *part)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - buffer
    - size
    - ateof
    - part
    argTypes:
    - char*
    - size_t
    - bool
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 431
    functionName: encoder_7bit_read
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t encoder_7bit_read(char *buffer, size_t size, bool ateof,\n
      \                               curl_mimepart *part)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - buffer
    - size
    - ateof
    - part
    argTypes:
    - char*
    - size_t
    - bool
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 512
    functionName: encoder_base64_read
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t encoder_base64_read(char *buffer, size_t size, bool ateof,\n
      \                                 curl_mimepart *part)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: encoder_base64_size
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t encoder_base64_size(curl_mimepart *part)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - st
    - ateof
    - n
    argTypes:
    - struct mime_encoder_state*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 545
    functionName: qp_lookahead_eol
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int qp_lookahead_eol(struct mime_encoder_state *st, int ateof, size_t
      n)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: qp_lookahead_eol
      Src: /src/curl/lib/mime.c:574,1
    - Dst: qp_lookahead_eol
      Src: /src/curl/lib/mime.c:588,1
    - Dst: qp_lookahead_eol
      Src: /src/curl/lib/mime.c:613,1
    - Dst: strcpy
      Src: /src/curl/lib/mime.c:622,1
    - Dst: memcpy
      Src: /src/curl/lib/mime.c:636,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 4
    argNames:
    - buffer
    - size
    - ateof
    - part
    argTypes:
    - char*
    - size_t
    - bool
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 647
    functionName: encoder_qp_read
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - memcpy
    - qp_lookahead_eol
    - strcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t encoder_qp_read(char *buffer, size_t size, bool ateof,\n                              curl_mimepart
      *part)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: encoder_qp_size
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t encoder_qp_size(curl_mimepart *part)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_sotouz
      Src: /src/curl/lib/mime.c:663,1
    - Dst: memcpy
      Src: /src/curl/lib/mime.c:673,1
    - Dst: curlx_sotouz
      Src: /src/curl/lib/mime.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - instream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 676
    functionName: mime_mem_read
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - memcpy
    - curlx_sotouz
    linkageType: ''
    returnType: size_t
    signature: "size_t mime_mem_read(char *buffer, size_t size, size_t nitems,\n                            void
      *instream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - instream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 696
    functionName: mime_mem_seek
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mime_mem_seek(void *instream, curl_off_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: mime_mem_free
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void mime_mem_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen_read
      Src: /src/curl/lib/mime.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: mime_open_file
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - fopen_read
    linkageType: ''
    returnType: int
    signature: int mime_open_file(curl_mimepart *part)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mime_open_file
      Src: /src/curl/lib/mime.c:724,1
    - Dst: fread
      Src: /src/curl/lib/mime.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - instream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 728
    functionName: mime_file_read
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_open_file
    - fread
    linkageType: ''
    returnType: size_t
    signature: "size_t mime_file_read(char *buffer, size_t size, size_t nitems,\n
      \                            void *instream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mime_open_file
      Src: /src/curl/lib/mime.c:737,1
    - Dst: fseek
      Src: /src/curl/lib/mime.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - instream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 742
    functionName: mime_file_seek
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_open_file
    - fseek
    linkageType: ''
    returnType: int
    signature: int mime_file_seek(void *instream, curl_off_t offset, int whence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fclose
      Src: /src/curl/lib/mime.c:749,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: mime_file_free
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void mime_file_free(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_sotouz
      Src: /src/curl/lib/mime.c:766,1
    - Dst: memcpy
      Src: /src/curl/lib/mime.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - state
    - buffer
    - bufsize
    - bytes
    - numbytes
    - trail
    - traillen
    argTypes:
    - struct mime_state*
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 786
    functionName: readback_bytes
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - memcpy
    - curlx_sotouz
    linkageType: ''
    returnType: size_t
    signature: "size_t readback_bytes(struct mime_state *state,\n                             char
      *buffer, size_t bufsize,\n                             const char *bytes, size_t
      numbytes,\n                             const char *trail, size_t traillen)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mime_subparts_read
      Src: /src/curl/lib/mime.c:816,1
    - Dst: feof
      Src: /src/curl/lib/mime.c:819,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/mime.c:821,1
    - Dst: curl_mimepart*::readfunc
      Src: /src/curl/lib/mime.c:829,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - part
    - buffer
    - bufsize
    - hasread
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 851
    functionName: read_part_content
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - feof
    - mime_subparts_read
    - curl_mimepart*::readfunc
    linkageType: ''
    returnType: size_t
    signature: "size_t read_part_content(curl_mimepart *part,\n                                char
      *buffer, size_t bufsize, bool *hasread)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: curl_mimepart*::encoder::encodefunc
      Src: /src/curl/lib/mime.c:865,1
    - Dst: memmove
      Src: /src/curl/lib/mime.c:887,1
    - Dst: read_part_content
      Src: /src/curl/lib/mime.c:893,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - part
    - buffer
    - bufsize
    - hasread
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 911
    functionName: read_encoded_part_content
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - memmove
    - read_part_content
    - curl_mimepart*::encoder::encodefunc
    linkageType: ''
    returnType: size_t
    signature: "size_t read_encoded_part_content(curl_mimepart *part, char *buffer,\n
      \                                       size_t bufsize, bool *hasread)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:926,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:933,1
    - Dst: match_header
      Src: /src/curl/lib/mime.c:936,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:937,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/mime.c:940,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:943,1
    - Dst: readback_bytes
      Src: /src/curl/lib/mime.c:945,1
    - Dst: strlen
      Src: /src/curl/lib/mime.c:946,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:946,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:948,1
    - Dst: readback_bytes
      Src: /src/curl/lib/mime.c:952,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:952,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:953,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:955,1
    - Dst: cleanup_encoder_state
      Src: /src/curl/lib/mime.c:958,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:959,1
    - Dst: read_encoded_part_content
      Src: /src/curl/lib/mime.c:963,1
    - Dst: read_part_content
      Src: /src/curl/lib/mime.c:965,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:968,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/mime.c:971,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/mime.c:974,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 4
    argNames:
    - part
    - buffer
    - bufsize
    - hasread
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 914
    functionDepth: 3
    functionLinenumber: 914
    functionLinenumberEnd: 995
    functionName: readback_part
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - strlen
    - mimesetstate
    - read_encoded_part_content
    - readback_bytes
    - match_header
    - cleanup_encoder_state
    - read_part_content
    - STRCONST
    - curlx_fclose
    linkageType: ''
    returnType: size_t
    signature: "size_t readback_part(curl_mimepart *part,\n                            char
      *buffer, size_t bufsize, bool *hasread)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1011,1
    - Dst: readback_bytes
      Src: /src/curl/lib/mime.c:1018,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1018,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1019,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1021,1
    - Dst: readback_bytes
      Src: /src/curl/lib/mime.c:1025,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1026,1
    - Dst: readback_bytes
      Src: /src/curl/lib/mime.c:1028,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1029,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1031,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1036,1
    - Dst: readback_part
      Src: /src/curl/lib/mime.c:1039,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1047,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 5
    argNames:
    - buffer
    - size
    - nitems
    - instream
    - hasread
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1064
    functionName: mime_subparts_read
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - readback_part
    - mimesetstate
    - STRCONST
    - readback_bytes
    linkageType: ''
    returnType: size_t
    signature: "size_t mime_subparts_read(char *buffer, size_t size, size_t nitems,\n
      \                                void *instream, bool *hasread)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_encoder_state
      Src: /src/curl/lib/mime.c:1073,1
    - Dst: curl_mimepart*::seekfunc
      Src: /src/curl/lib/mime.c:1077,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1094,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1098
    functionName: mime_part_rewind
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curl_mimepart*::seekfunc
    - cleanup_encoder_state
    - mimesetstate
    linkageType: ''
    returnType: int
    signature: int mime_part_rewind(curl_mimepart *part)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mime_part_rewind
      Src: /src/curl/lib/mime.c:1113,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - instream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1122
    functionName: mime_subparts_seek
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mimesetstate
    - mime_part_rewind
    linkageType: ''
    returnType: int
    signature: int mime_subparts_seek(void *instream, curl_off_t offset, int whence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mimepart*::freefunc
      Src: /src/curl/lib/mime.c:1128,1
    - Dst: cleanup_encoder_state
      Src: /src/curl/lib/mime.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1142
    functionName: cleanup_part_content
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curl_mimepart*::freefunc
    - cleanup_encoder_state
    linkageType: ''
    returnType: void
    signature: void cleanup_part_content(curl_mimepart *part)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/curl/lib/mime.c:1150,1
    - Dst: curl_mime_free
      Src: /src/curl/lib/mime.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1153
    functionName: mime_subparts_free
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curl_mime_free
    - cleanup_part_content
    linkageType: ''
    returnType: void
    signature: void mime_subparts_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/curl/lib/mime.c:1162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1156
    functionDepth: 2
    functionLinenumber: 1156
    functionLinenumberEnd: 1165
    functionName: mime_subparts_unbind
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - cleanup_part_content
    linkageType: ''
    returnType: void
    signature: void mime_subparts_unbind(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/curl/lib/mime.c:1171,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/mime.c:1172,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/mime.c:1174,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:1175,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:1176,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:1177,1
    - Dst: Curl_mime_initpart
      Src: /src/curl/lib/mime.c:1178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1180
    functionName: Curl_mime_cleanpart
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 4
    functionsReached:
    - Curl_safefree
    - Curl_mime_initpart
    - cleanup_part_content
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void Curl_mime_cleanpart(curl_mimepart *part)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mime_subparts_unbind
      Src: /src/curl/lib/mime.c:1188,1
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/mime.c:1192,1
    - Dst: free
      Src: /src/curl/lib/mime.c:1193,1
    - Dst: free
      Src: /src/curl/lib/mime.c:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1197
    functionName: curl_mime_free
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 24
    functionsReached:
    - Curl_mime_cleanpart
    - free
    - mime_subparts_unbind
    linkageType: ''
    returnType: void
    signature: void curl_mime_free(curl_mime *mime)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mime.c:1207,1
    - Dst: curl_mime_data
      Src: /src/curl/lib/mime.c:1214,1
    - Dst: curl_mime_filedata
      Src: /src/curl/lib/mime.c:1217,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/lib/mime.c:1223,1
    - Dst: curl_mime_init
      Src: /src/curl/lib/mime.c:1229,1
    - Dst: curl_mime_subparts
      Src: /src/curl/lib/mime.c:1230,1
    - Dst: curl_mime_addpart
      Src: /src/curl/lib/mime.c:1234,1
    - Dst: Curl_mime_duppart
      Src: /src/curl/lib/mime.c:1235,1
    - Dst: DEBUGF
      Src: /src/curl/lib/mime.c:1239,1
    - Dst: infof
      Src: /src/curl/lib/mime.c:1239,1
    - Dst: Curl_slist_duplicate
      Src: /src/curl/lib/mime.c:1246,1
    - Dst: curl_mime_headers
      Src: /src/curl/lib/mime.c:1253,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/mime.c:1255,1
    - Dst: curl_mime_type
      Src: /src/curl/lib/mime.c:1262,1
    - Dst: curl_mime_name
      Src: /src/curl/lib/mime.c:1265,1
    - Dst: curl_mime_filename
      Src: /src/curl/lib/mime.c:1267,1
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/mime.c:1271,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - data
    - dst
    - src
    argTypes:
    - struct Curl_easy*
    - curl_mimepart*
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1274
    functionName: Curl_mime_duppart
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 2
    functionsReached:
    - curl_mime_init
    - curl_mime_addpart
    - DEBUGF
    - curl_mime_data_cb
    - Curl_mime_duppart
    - curl_mime_headers
    - curl_mime_filename
    - curl_slist_free_all
    - curl_mime_name
    - curl_mime_data
    - curl_mime_subparts
    - curl_mime_type
    - Curl_slist_duplicate
    - infof
    - Curl_mime_cleanpart
    - DEBUGASSERT
    - curl_mime_filedata
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_mime_duppart(struct Curl_easy *data,\n                           curl_mimepart
      *dst, const curl_mimepart *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/mime.c:1285,1
    - Dst: memset
      Src: /src/curl/lib/mime.c:1292,1
    - Dst: Curl_rand_alnum
      Src: /src/curl/lib/mime.c:1293,1
    - Dst: free
      Src: /src/curl/lib/mime.c:1297,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - easy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1304
    functionName: curl_mime_init
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 21
    functionsReached:
    - malloc
    - Curl_rand_alnum
    - mimesetstate
    - free
    - memset
    linkageType: ''
    returnType: curl_mime
    signature: curl_mime *curl_mime_init(void *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/mime.c:1309,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1312
    functionName: Curl_mime_initpart
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 3
    functionsReached:
    - mimesetstate
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_mime_initpart(curl_mimepart *part)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/mime.c:1322,1
    - Dst: Curl_mime_initpart
      Src: /src/curl/lib/mime.c:1325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1315
    functionDepth: 2
    functionLinenumber: 1315
    functionLinenumberEnd: 1337
    functionName: curl_mime_addpart
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 21
    functionsReached:
    - Curl_mime_initpart
    - malloc
    linkageType: ''
    returnType: curl_mimepart
    signature: curl_mimepart *curl_mime_addpart(curl_mime *mime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:1345,1
    - Dst: strdup
      Src: /src/curl/lib/mime.c:1348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - part
    - name
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1354
    functionName: curl_mime_name
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 18
    functionsReached:
    - Curl_safefree
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_name(curl_mimepart *part, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:1362,1
    - Dst: strdup
      Src: /src/curl/lib/mime.c:1365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - part
    - filename
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1371
    functionName: curl_mime_filename
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 6
    functionsReached:
    - Curl_safefree
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_filename(curl_mimepart *part, const char *filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/curl/lib/mime.c:1380,1
    - Dst: strlen
      Src: /src/curl/lib/mime.c:1384,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/mime.c:1386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - part
    - ptr
    - datasize
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1399
    functionName: curl_mime_data
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 16
    functionsReached:
    - Curl_memdup0
    - strlen
    - cleanup_part_content
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data(curl_mimepart *part,\n                        const
      char *ptr, size_t datasize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/curl/lib/mime.c:1409,1
    - Dst: curlx_stat
      Src: /src/curl/lib/mime.c:1415,1
    - Dst: strdup
      Src: /src/curl/lib/mime.c:1418,1
    - Dst: S_ISREG
      Src: /src/curl/lib/mime.c:1423,1
    - Dst: filesize
      Src: /src/curl/lib/mime.c:1424,1
    - Dst: strippath
      Src: /src/curl/lib/mime.c:1436,1
    - Dst: curl_mime_filename
      Src: /src/curl/lib/mime.c:1440,1
    - Dst: free
      Src: /src/curl/lib/mime.c:1441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - part
    - filename
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1447
    functionName: curl_mime_filedata
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 7
    functionsReached:
    - strdup
    - free
    - cleanup_part_content
    - curlx_stat
    - curl_mime_filename
    - filesize
    - strippath
    - S_ISREG
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_filedata(curl_mimepart *part, const char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:1455,1
    - Dst: strdup
      Src: /src/curl/lib/mime.c:1458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - part
    - mimetype
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1464
    functionName: curl_mime_type
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 7
    functionsReached:
    - Curl_safefree
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/mime.c:1481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - part
    - encoding
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1487
    functionName: curl_mime_encoder
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 5
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_encoder(curl_mimepart *part, const char *encoding)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/mime.c:1498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - part
    - headers
    - take_ownership
    argTypes:
    - curl_mimepart*
    - struct curl_slist*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1505
    functionName: curl_mime_headers
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 6
    functionsReached:
    - curl_slist_free_all
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_headers(curl_mimepart *part,\n                           struct
      curl_slist *headers, int take_ownership)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/curl/lib/mime.c:1516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - part
    - datasize
    - readfunc
    - seekfunc
    - freefunc
    - arg
    argTypes:
    - curl_mimepart*
    - curl_off_t
    - curl_read_callback
    - curl_seek_callback
    - curl_free_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1528
    functionName: curl_mime_data_cb
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 9
    functionsReached:
    - cleanup_part_content
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data_cb(curl_mimepart *part, curl_off_t datasize,\n
      \                          curl_read_callback readfunc,\n                           curl_seek_callback
      seekfunc,\n                           curl_free_callback freefunc, void *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_part_content
      Src: /src/curl/lib/mime.c:1543,1
    - Dst: mime_subparts_seek
      Src: /src/curl/lib/mime.c:1565,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - part
    - subparts
    - take_ownership
    argTypes:
    - curl_mimepart*
    - curl_mime*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1531
    functionDepth: 3
    functionLinenumber: 1531
    functionLinenumberEnd: 1580
    functionName: Curl_mime_set_subparts
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - mime_subparts_seek
    - cleanup_part_content
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_mime_set_subparts(curl_mimepart *part,\n                                curl_mime
      *subparts, int take_ownership)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_set_subparts
      Src: /src/curl/lib/mime.c:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - part
    - subparts
    argTypes:
    - curl_mimepart*
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1585
    functionName: curl_mime_subparts
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 6
    functionsReached:
    - Curl_mime_set_subparts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_subparts(curl_mimepart *part, curl_mime *subparts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readback_part
      Src: /src/curl/lib/mime.c:1602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - size
    - nitems
    - instream
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1590
    functionDepth: 4
    functionLinenumber: 1590
    functionLinenumberEnd: 1612
    functionName: Curl_mime_read
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - readback_part
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_mime_read(char *buffer, size_t size, size_t nitems, void
      *instream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mime_part_rewind
      Src: /src/curl/lib/mime.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1615
    functionDepth: 2
    functionLinenumber: 1615
    functionLinenumberEnd: 1619
    functionName: mime_rewind
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_part_rewind
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mime_rewind(curl_mimepart *part)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match_header
      Src: /src/curl/lib/mime.c:1628,1
    - Dst: strlen
      Src: /src/curl/lib/mime.c:1629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - s
    - overhead
    - skip
    - skiplen
    argTypes:
    - struct curl_slist*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1622
    functionDepth: 2
    functionLinenumber: 1622
    functionLinenumberEnd: 1631
    functionName: slist_size
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - strlen
    - match_header
    linkageType: ''
    returnType: size_t
    signature: "size_t slist_size(struct curl_slist *s,\n                         size_t
      overhead, const char *skip, size_t skiplen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mime_size
      Src: /src/curl/lib/mime.c:1647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1657
    functionName: multipart_size
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_size
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t multipart_size(curl_mime *mime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: multipart_size
      Src: /src/curl/lib/mime.c:1665,1
    - Dst: curl_mimepart*::encoder::sizefunc
      Src: /src/curl/lib/mime.c:1670,1
    - Dst: slist_size
      Src: /src/curl/lib/mime.c:1674,1
    - Dst: slist_size
      Src: /src/curl/lib/mime.c:1675,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1660
    functionDepth: 3
    functionLinenumber: 1660
    functionLinenumberEnd: 1680
    functionName: mime_size
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - curl_mimepart*::encoder::sizefunc
    - STRCONST
    - multipart_size
    - slist_size
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t mime_size(curl_mimepart *part)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/mime.c:1690,1
    - Dst: curl_mvaprintf
      Src: /src/curl/lib/mime.c:1691,1
    - Dst: va_end
      Src: /src/curl/lib/mime.c:1692,1
    - Dst: Curl_slist_append_nodup
      Src: /src/curl/lib/mime.c:1695,1
    - Dst: free
      Src: /src/curl/lib/mime.c:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - slp
    - fmt
    argTypes:
    - struct curl_slist**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1684
    functionDepth: 5
    functionLinenumber: 1684
    functionLinenumberEnd: 1703
    functionName: Curl_mime_add_header
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - va_start
    - Curl_slist_append_nodup
    - free
    - va_end
    - curl_mvaprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_add_header
      Src: /src/curl/lib/mime.c:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slp
    - type
    - boundary
    argTypes:
    - struct curl_slist**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1706
    functionDepth: 6
    functionLinenumber: 1706
    functionLinenumberEnd: 1712
    functionName: add_content_type
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_mime_add_header
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_content_type(struct curl_slist **slp,\n                                 const
      char *type, const char *boundary)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/mime.c:1738,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/mime.c:1742,1
    - Dst: strlen
      Src: /src/curl/lib/mime.c:1743,1
    - Dst: curl_strequal
      Src: /src/curl/lib/mime.c:1745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1750
    functionName: Curl_mime_contenttype
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - strlen
    - CURL_ARRAYSIZE
    - curl_strequal
    linkageType: ''
    returnType: char
    signature: char *Curl_mime_contenttype(const char *filename)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/mime.c:1755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - contenttype
    - target
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1766
    functionName: content_type_match
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: "bool content_type_match(const char *contenttype,\n                               const
      char *target, size_t len)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/mime.c:1781,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1786,1
    - Dst: search_header
      Src: /src/curl/lib/mime.c:1791,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1791,1
    - Dst: Curl_mime_contenttype
      Src: /src/curl/lib/mime.c:1802,1
    - Dst: Curl_mime_contenttype
      Src: /src/curl/lib/mime.c:1804,1
    - Dst: Curl_mime_contenttype
      Src: /src/curl/lib/mime.c:1809,1
    - Dst: content_type_match
      Src: /src/curl/lib/mime.c:1820,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1820,1
    - Dst: search_header
      Src: /src/curl/lib/mime.c:1825,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1825,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/mime.c:1828,1
    - Dst: curl_strequal
      Src: /src/curl/lib/mime.c:1830,1
    - Dst: escape_string
      Src: /src/curl/lib/mime.c:1838,1
    - Dst: escape_string
      Src: /src/curl/lib/mime.c:1843,1
    - Dst: Curl_mime_add_header
      Src: /src/curl/lib/mime.c:1848,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:1857,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/mime.c:1858,1
    - Dst: add_content_type
      Src: /src/curl/lib/mime.c:1866,1
    - Dst: search_header
      Src: /src/curl/lib/mime.c:1872,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1873,1
    - Dst: Curl_mime_add_header
      Src: /src/curl/lib/mime.c:1880,1
    - Dst: mimesetstate
      Src: /src/curl/lib/mime.c:1890,1
    - Dst: content_type_match
      Src: /src/curl/lib/mime.c:1897,1
    - Dst: STRCONST
      Src: /src/curl/lib/mime.c:1897,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/curl/lib/mime.c:1900,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 89
    argCount: 5
    argNames:
    - data
    - part
    - contenttype
    - disposition
    - strategy
    argTypes:
    - struct Curl_easy*
    - curl_mimepart*
    - char*
    - char*
    - enum mimestrategy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1768
    functionDepth: 7
    functionLinenumber: 1768
    functionLinenumberEnd: 1907
    functionName: Curl_mime_prepare_headers
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 3
    functionsReached:
    - Curl_safefree
    - Curl_mime_add_header
    - curl_strnequal
    - curl_strequal
    - mimesetstate
    - add_content_type
    - curl_slist_free_all
    - Curl_mime_prepare_headers
    - search_header
    - escape_string
    - STRCONST
    - Curl_mime_contenttype
    - content_type_match
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_mime_prepare_headers(struct Curl_easy *data,\n                                   curl_mimepart
      *part,\n                                   const char *contenttype,\n                                   const
      char *disposition,\n                                   enum mimestrategy strategy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mime_unpause
      Src: /src/curl/lib/mime.c:1922,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - part
    argTypes:
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1910
    functionDepth: 1
    functionLinenumber: 1910
    functionLinenumberEnd: 1926
    functionName: mime_unpause
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 1
    functionsReached:
    - mime_unpause
    linkageType: ''
    returnType: void
    signature: void mime_unpause(curl_mimepart *part)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/mime.c:1946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1939
    functionDepth: 3
    functionLinenumber: 1939
    functionLinenumberEnd: 1948
    functionName: cr_mime_init
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_mime_init(struct Curl_easy *data,\n                             struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/mime.c:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1950
    functionDepth: 2
    functionLinenumber: 1950
    functionLinenumberEnd: 1956
    functionName: cr_mime_close
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: "void cr_mime_close(struct Curl_easy *data,\n                          struct
      Curl_creader *reader)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/mime.c:1972,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/mime.c:1979,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/mime.c:1993,1
    - Dst: Curl_bufq_read
      Src: /src/curl/lib/mime.c:1994,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/mime.c:2006,1
    - Dst: Curl_mime_read
      Src: /src/curl/lib/mime.c:2007,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/mime.c:2010,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/mime.c:2017,1
    - Dst: Curl_mime_read
      Src: /src/curl/lib/mime.c:2026,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/mime.c:2028,1
    - Dst: failf
      Src: /src/curl/lib/mime.c:2034,1
    - Dst: failf
      Src: /src/curl/lib/mime.c:2045,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/mime.c:2055,1
    - Dst: Curl_xfer_pause_send
      Src: /src/curl/lib/mime.c:2058,1
    - Dst: failf
      Src: /src/curl/lib/mime.c:2063,1
    - Dst: failf
      Src: /src/curl/lib/mime.c:2074,1
    - Dst: CURL_TRC_READ
      Src: /src/curl/lib/mime.c:2089,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 98
    argCount: 6
    argNames:
    - data
    - reader
    - buf
    - blen
    - pnread
    - peos
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 1959
    functionDepth: 5
    functionLinenumber: 1959
    functionLinenumberEnd: 2093
    functionName: cr_mime_read
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_bufq_cread
    - Curl_mime_read
    - Curl_bufq_is_empty
    - Curl_bufq_write
    - CURL_TRC_READ
    - Curl_bufq_read
    - Curl_xfer_pause_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_mime_read(struct Curl_easy *data,\n                             struct
      Curl_creader *reader,\n                             char *buf, size_t blen,\n
      \                            size_t *pnread, bool *peos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2101
    functionName: cr_mime_needs_rewind
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_mime_needs_rewind(struct Curl_easy *data,\n                                 struct
      Curl_creader *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2109
    functionName: cr_mime_total_length
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t cr_mime_total_length(struct Curl_easy *data,\n                                       struct
      Curl_creader *reader)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_sotouz
      Src: /src/curl/lib/mime.c:2125,1
    - Dst: Curl_mime_read
      Src: /src/curl/lib/mime.c:2128,1
    - Dst: failf
      Src: /src/curl/lib/mime.c:2133,1
    - Dst: failf
      Src: /src/curl/lib/mime.c:2144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - data
    - reader
    - offset
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2111
    functionDepth: 5
    functionLinenumber: 2111
    functionLinenumberEnd: 2151
    functionName: cr_mime_resume_from
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - curlx_sotouz
    - failf
    - Curl_mime_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_mime_resume_from(struct Curl_easy *data,\n                                    struct
      Curl_creader *reader,\n                                    curl_off_t offset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mime_rewind
      Src: /src/curl/lib/mime.c:2160,1
    - Dst: failf
      Src: /src/curl/lib/mime.c:2162,1
    - Dst: mime_unpause
      Src: /src/curl/lib/mime.c:2166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - data
    - reader
    - opcode
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    - Curl_creader_cntrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2153
    functionDepth: 3
    functionLinenumber: 2153
    functionLinenumberEnd: 2175
    functionName: cr_mime_cntrl
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached:
    - mime_rewind
    - failf
    - mime_unpause
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_mime_cntrl(struct Curl_easy *data,\n                              struct
      Curl_creader *reader,\n                              Curl_creader_cntrl opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - data
    - reader
    argTypes:
    - struct Curl_easy*
    - struct Curl_creader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2183
    functionName: cr_mime_is_paused
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cr_mime_is_paused(struct Curl_easy *data,\n                              struct
      Curl_creader *reader)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_create
      Src: /src/curl/lib/mime.c:2205,1
    - Dst: mime_rewind
      Src: /src/curl/lib/mime.c:2211,1
    - Dst: Curl_creader_free
      Src: /src/curl/lib/mime.c:2213,1
    - Dst: mime_size
      Src: /src/curl/lib/mime.c:2216,1
    - Dst: Curl_creader_set
      Src: /src/curl/lib/mime.c:2218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - part
    argTypes:
    - struct Curl_easy*
    - curl_mimepart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2199
    functionDepth: 5
    functionLinenumber: 2199
    functionLinenumberEnd: 2219
    functionName: Curl_creader_set_mime
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 2
    functionsReached:
    - mime_rewind
    - Curl_creader_set
    - Curl_creader_create
    - mime_size
    - Curl_creader_free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_creader_set_mime(struct Curl_easy *data, curl_mimepart
      *part)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - easy
    argTypes:
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2229
    functionName: curl_mime_init
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: curl_mime
    signature: curl_mime *curl_mime_init(CURL *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2234
    functionName: curl_mime_free
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curl_mime_free(curl_mime *mime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mime
    argTypes:
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2240
    functionName: curl_mime_addpart
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: curl_mimepart
    signature: curl_mimepart *curl_mime_addpart(curl_mime *mime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - name
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2247
    functionName: curl_mime_name
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_name(curl_mimepart *part, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - filename
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2254
    functionName: curl_mime_filename
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_filename(curl_mimepart *part, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - mimetype
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2261
    functionName: curl_mime_type
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - encoding
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2268
    functionName: curl_mime_encoder
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_encoder(curl_mimepart *part, const char *encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - part
    - data
    - datasize
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2277
    functionName: curl_mime_data
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data(curl_mimepart *part,\n                        const
      char *data, size_t datasize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - filename
    argTypes:
    - curl_mimepart*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2284
    functionName: curl_mime_filedata
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_filedata(curl_mimepart *part, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - part
    - datasize
    - readfunc
    - seekfunc
    - freefunc
    - arg
    argTypes:
    - curl_mimepart*
    - curl_off_t
    - curl_read_callback
    - curl_seek_callback
    - curl_free_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2300
    functionName: curl_mime_data_cb
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_data_cb(curl_mimepart *part,\n                           curl_off_t
      datasize,\n                           curl_read_callback readfunc,\n                           curl_seek_callback
      seekfunc,\n                           curl_free_callback freefunc,\n                           void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - part
    - subparts
    argTypes:
    - curl_mimepart*
    - curl_mime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2307
    functionName: curl_mime_subparts
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curl_mime_subparts(curl_mimepart *part, curl_mime *subparts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - part
    - headers
    - take_ownership
    argTypes:
    - curl_mimepart*
    - struct curl_slist*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2309
    functionDepth: 0
    functionLinenumber: 2309
    functionLinenumberEnd: 2316
    functionName: curl_mime_headers
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curl_mime_headers(curl_mimepart *part,\n                           struct
      curl_slist *headers, int take_ownership)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - slp
    - fmt
    argTypes:
    - struct curl_slist**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2318
    functionDepth: 0
    functionLinenumber: 2318
    functionLinenumberEnd: 2323
    functionName: Curl_mime_add_header
    functionSourceFile: /src/curl/lib/mime.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: strdup
    functionSourceFile: /src/curl/lib/curl_memory.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: malloc
    functionSourceFile: /src/curl/lib/curl_memory.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: malloc(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nbelem
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: calloc
    functionSourceFile: /src/curl/lib/curl_memory.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calloc(nbelem,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: realloc
    functionSourceFile: /src/curl/lib/curl_memory.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: realloc(ptr,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: free
    functionSourceFile: /src/curl/lib/curl_memory.h
    functionUses: 464
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: Curl_tcsdup
    functionSourceFile: /src/curl/lib/curl_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_tcsdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: Curl_tcsdup
    functionSourceFile: /src/curl/lib/curl_memory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_tcsdup(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: DESKEY
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESKEY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: DESKEY
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESKEY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: DESKEY
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESKEY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: DESKEYARG
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESKEYARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - key_56
    - key
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: extend_key_56_to_64
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extend_key_56_to_64(const unsigned char *key_56, char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend_key_56_to_64
      Src: /src/curl/lib/curl_ntlm_core.c:155,1
    - Dst: DES_set_odd_parity
      Src: /src/curl/lib/curl_ntlm_core.c:158,1
    - Dst: DES_set_key_unchecked
      Src: /src/curl/lib/curl_ntlm_core.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key_56
    - DESKEYARG
    argTypes:
    - unsigned char*
    - DES_key_schedule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: setup_des_key
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - DES_set_key_unchecked
    - extend_key_56_to_64
    - DES_set_odd_parity
    linkageType: ''
    returnType: void
    signature: "void setup_des_key(const unsigned char *key_56,\n                          DES_key_schedule
      DESKEYARG(ks))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend_key_56_to_64
      Src: /src/curl/lib/curl_ntlm_core.c:172,1
    - Dst: Curl_des_set_odd_parity
      Src: /src/curl/lib/curl_ntlm_core.c:175,1
    - Dst: des_set_key
      Src: /src/curl/lib/curl_ntlm_core.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key_56
    - des
    argTypes:
    - unsigned char*
    - struct des_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: setup_des_key
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - Curl_des_set_odd_parity
    - extend_key_56_to_64
    - des_set_key
    linkageType: ''
    returnType: void
    signature: "void setup_des_key(const unsigned char *key_56,\n                          struct
      des_ctx *des)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend_key_56_to_64
      Src: /src/curl/lib/curl_ntlm_core.c:190,1
    - Dst: mbedtls_des_key_set_parity
      Src: /src/curl/lib/curl_ntlm_core.c:193,1
    - Dst: mbedtls_des_init
      Src: /src/curl/lib/curl_ntlm_core.c:196,1
    - Dst: mbedtls_des_setkey_enc
      Src: /src/curl/lib/curl_ntlm_core.c:197,1
    - Dst: mbedtls_des_crypt_ecb
      Src: /src/curl/lib/curl_ntlm_core.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - key_56
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: encrypt_des
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - mbedtls_des_init
    - mbedtls_des_setkey_enc
    - mbedtls_des_key_set_parity
    - extend_key_56_to_64
    - mbedtls_des_crypt_ecb
    linkageType: ''
    returnType: bool
    signature: "bool encrypt_des(const unsigned char *in, unsigned char *out,\n                        const
      unsigned char *key_56)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extend_key_56_to_64
      Src: /src/curl/lib/curl_ntlm_core.c:214,1
    - Dst: Curl_des_set_odd_parity
      Src: /src/curl/lib/curl_ntlm_core.c:217,1
    - Dst: _CIPHER
      Src: /src/curl/lib/curl_ntlm_core.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - in
    - out
    - key_56
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 223
    functionName: encrypt_des
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - Curl_des_set_odd_parity
    - _CIPHER
    - extend_key_56_to_64
    linkageType: ''
    returnType: bool
    signature: "bool encrypt_des(const unsigned char *in, unsigned char *out,\n                        const
      unsigned char *key_56)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/curl/lib/curl_ntlm_core.c:240,1
    - Dst: memset
      Src: /src/curl/lib/curl_ntlm_core.c:245,1
    - Dst: extend_key_56_to_64
      Src: /src/curl/lib/curl_ntlm_core.c:252,1
    - Dst: Curl_des_set_odd_parity
      Src: /src/curl/lib/curl_ntlm_core.c:255,1
    - Dst: CryptImportKey
      Src: /src/curl/lib/curl_ntlm_core.c:258,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/curl_ntlm_core.c:259,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_ntlm_core.c:264,1
    - Dst: CryptEncrypt
      Src: /src/curl/lib/curl_ntlm_core.c:267,1
    - Dst: CryptDestroyKey
      Src: /src/curl/lib/curl_ntlm_core.c:269,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/curl_ntlm_core.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - in
    - out
    - key_56
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 273
    functionName: encrypt_des
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - Curl_des_set_odd_parity
    - CryptReleaseContext
    - CryptEncrypt
    - CryptDestroyKey
    - memcpy
    - extend_key_56_to_64
    - memset
    - CryptImportKey
    - CryptAcquireContext
    linkageType: ''
    returnType: bool
    signature: "bool encrypt_des(const unsigned char *in, unsigned char *out,\n                        const
      unsigned char *key_56)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:289,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:289,1
    - Dst: DES_ecb_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:290,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/curl_ntlm_core.c:290,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:291,1
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:293,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:293,1
    - Dst: DES_ecb_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:294,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/curl_ntlm_core.c:294,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:295,1
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:297,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:297,1
    - Dst: DES_ecb_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:298,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/curl_ntlm_core.c:298,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:299,1
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:302,1
    - Dst: des_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:303,1
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:304,1
    - Dst: des_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:305,1
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:306,1
    - Dst: des_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:307,1
    - Dst: encrypt_des
      Src: /src/curl/lib/curl_ntlm_core.c:310,1
    - Dst: encrypt_des
      Src: /src/curl/lib/curl_ntlm_core.c:311,1
    - Dst: encrypt_des
      Src: /src/curl/lib/curl_ntlm_core.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - keys
    - plaintext
    - results
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 318
    functionName: Curl_ntlm_core_lm_resp
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - encrypt_des
    - DES_ecb_encrypt
    - des_encrypt
    - setup_des_key
    - CURL_UNCONST
    - DESKEY
    linkageType: ''
    returnType: void
    signature: "void Curl_ntlm_core_lm_resp(const unsigned char *keys,\n                            const
      unsigned char *plaintext,\n                            unsigned char *results)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/curl/lib/curl_ntlm_core.c:332,1
    - Dst: strlen
      Src: /src/curl/lib/curl_ntlm_core.c:332,1
    - Dst: Curl_strntoupper
      Src: /src/curl/lib/curl_ntlm_core.c:334,1
    - Dst: memset
      Src: /src/curl/lib/curl_ntlm_core.c:335,1
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:343,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:343,1
    - Dst: DES_ecb_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:344,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/curl_ntlm_core.c:344,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:345,1
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:347,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:347,1
    - Dst: DES_ecb_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:348,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/curl_ntlm_core.c:348,1
    - Dst: DESKEY
      Src: /src/curl/lib/curl_ntlm_core.c:349,1
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:352,1
    - Dst: des_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:353,1
    - Dst: setup_des_key
      Src: /src/curl/lib/curl_ntlm_core.c:354,1
    - Dst: des_encrypt
      Src: /src/curl/lib/curl_ntlm_core.c:355,1
    - Dst: encrypt_des
      Src: /src/curl/lib/curl_ntlm_core.c:358,1
    - Dst: encrypt_des
      Src: /src/curl/lib/curl_ntlm_core.c:359,1
    - Dst: memset
      Src: /src/curl/lib/curl_ntlm_core.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - password
    - lmbuffer
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 366
    functionName: Curl_ntlm_core_mk_lm_hash
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - encrypt_des
    - Curl_strntoupper
    - DES_ecb_encrypt
    - strlen
    - CURLMIN
    - setup_des_key
    - des_encrypt
    - CURL_UNCONST
    - memset
    - DESKEY
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_lm_hash(const char *password,\n                                   unsigned
      char *lmbuffer /* 21 bytes */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - src
    - srclen
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 376
    functionName: ascii_to_unicode_le
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ascii_to_unicode_le(unsigned char *dest, const char *src,\n                                size_t
      srclen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/curl_ntlm_core.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - src
    - srclen
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 388
    functionName: ascii_uppercase_to_unicode_le
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: void
    signature: "void ascii_uppercase_to_unicode_le(unsigned char *dest,\n                                          const
      char *src, size_t srclen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/curl_ntlm_core.c:399,1
    - Dst: malloc
      Src: /src/curl/lib/curl_ntlm_core.c:404,1
    - Dst: strdup
      Src: /src/curl/lib/curl_ntlm_core.c:404,1
    - Dst: ascii_to_unicode_le
      Src: /src/curl/lib/curl_ntlm_core.c:408,1
    - Dst: Curl_md4it
      Src: /src/curl/lib/curl_ntlm_core.c:411,1
    - Dst: memset
      Src: /src/curl/lib/curl_ntlm_core.c:413,1
    - Dst: free
      Src: /src/curl/lib/curl_ntlm_core.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - password
    - ntbuffer
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 418
    functionName: Curl_ntlm_core_mk_nt_hash
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 1
    functionsReached:
    - strlen
    - malloc
    - strdup
    - ascii_to_unicode_le
    - free
    - memset
    - Curl_md4it
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_nt_hash(const char *password,\n                                   unsigned
      char *ntbuffer /* 21 bytes */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ft
    - t
    argTypes:
    - struct ms_filetime*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 473
    functionName: time2filetime
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void time2filetime(struct ms_filetime *ft, time_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/curl_ntlm_core.c:492,1
    - Dst: ascii_uppercase_to_unicode_le
      Src: /src/curl/lib/curl_ntlm_core.c:497,1
    - Dst: ascii_to_unicode_le
      Src: /src/curl/lib/curl_ntlm_core.c:498,1
    - Dst: Curl_hmacit
      Src: /src/curl/lib/curl_ntlm_core.c:500,1
    - Dst: free
      Src: /src/curl/lib/curl_ntlm_core.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - user
    - userlen
    - domain
    - domlen
    - ntlmhash
    - ntlmv2hash
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 505
    functionName: Curl_ntlm_core_mk_ntlmv2_hash
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - malloc
    - ascii_to_unicode_le
    - free
    - ascii_uppercase_to_unicode_le
    - Curl_hmacit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_ntlmv2_hash(const char *user, size_t userlen,\n
      \                                      const char *domain, size_t domlen,\n
      \                                      unsigned char *ntlmhash,\n                                       unsigned
      char *ntlmv2hash)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/curl_ntlm_core.c:554,1
    - Dst: time2filetime
      Src: /src/curl/lib/curl_ntlm_core.c:556,1
    - Dst: time2filetime
      Src: /src/curl/lib/curl_ntlm_core.c:559,1
    - Dst: time
      Src: /src/curl/lib/curl_ntlm_core.c:559,1
    - Dst: calloc
      Src: /src/curl/lib/curl_ntlm_core.c:565,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_ntlm_core.c:570,1
    - Dst: LONGQUARTET
      Src: /src/curl/lib/curl_ntlm_core.c:577,1
    - Dst: LONGQUARTET
      Src: /src/curl/lib/curl_ntlm_core.c:578,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_ntlm_core.c:580,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_ntlm_core.c:582,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_ntlm_core.c:585,1
    - Dst: Curl_hmacit
      Src: /src/curl/lib/curl_ntlm_core.c:586,1
    - Dst: free
      Src: /src/curl/lib/curl_ntlm_core.c:589,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_ntlm_core.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - ntlmv2hash
    - challenge_client
    - ntlm
    - ntresp
    - ntresp_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - struct ntlmdata*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 524
    functionDepth: 6
    functionLinenumber: 524
    functionLinenumberEnd: 601
    functionName: Curl_ntlm_core_mk_ntlmv2_resp
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - LONGQUARTET
    - calloc
    - curl_msnprintf
    - getenv
    - Curl_hmacit
    - memcpy
    - free
    - time2filetime
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash,\n
      \                                      unsigned char *challenge_client,\n                                       struct
      ntlmdata *ntlm,\n                                       unsigned char **ntresp,\n
      \                                      unsigned int *ntresp_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/curl_ntlm_core.c:626,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_ntlm_core.c:627,1
    - Dst: Curl_hmacit
      Src: /src/curl/lib/curl_ntlm_core.c:629,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_ntlm_core.c:635,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_ntlm_core.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ntlmv2hash
    - challenge_client
    - challenge_server
    - lmresp
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 639
    functionName: Curl_ntlm_core_mk_lmv2_resp
    functionSourceFile: /src/curl/lib/curl_ntlm_core.c
    functionUses: 0
    functionsReached:
    - memcpy
    - Curl_hmacit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ntlm_core_mk_lmv2_resp(unsigned char *ntlmv2hash,\n
      \                                     unsigned char *challenge_client,\n                                      unsigned
      char *challenge_server,\n                                      unsigned char
      *lmresp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: Curl_async_get_impl
    functionSourceFile: /src/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_get_impl(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: Curl_async_is_resolved
    functionSourceFile: /src/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_is_resolved(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: Curl_async_await
    functionSourceFile: /src/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_await(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: Curl_async_global_init
    functionSourceFile: /src/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_global_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: Curl_async_global_cleanup
    functionSourceFile: /src/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_global_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: Curl_async_shutdown
    functionSourceFile: /src/curl/lib/asyn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_shutdown(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: Curl_async_destroy
    functionSourceFile: /src/curl/lib/asyn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_async_destroy(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pp
    - ','
    - s
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: PINGPONG_SETUP
    functionSourceFile: /src/curl/lib/pingpong.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PINGPONG_SETUP(pp,s,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - br
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: Curl_bufref_init
    functionSourceFile: /src/curl/lib/bufref.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_bufref_init(struct bufref *br)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:59,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:60,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:61,1
    - Dst: struct bufref*::dtor
      Src: /src/curl/lib/bufref.c:64,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/bufref.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - br
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: Curl_bufref_free
    functionSourceFile: /src/curl/lib/bufref.c
    functionUses: 4
    functionsReached:
    - struct bufref*::dtor
    - DEBUGASSERT
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void Curl_bufref_free(struct bufref *br)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:78,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:79,1
    - Dst: Curl_bufref_free
      Src: /src/curl/lib/bufref.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - br
    - ptr
    - len
    argTypes:
    - struct bufref*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: Curl_bufref_set
    functionSourceFile: /src/curl/lib/bufref.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    - Curl_bufref_free
    linkageType: ''
    returnType: void
    signature: "void Curl_bufref_set(struct bufref *br, const void *ptr, size_t len,\n
      \                    void (*dtor)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:92,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:93,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - br
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: Curl_bufref_ptr
    functionSourceFile: /src/curl/lib/bufref.c
    functionUses: 4
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *Curl_bufref_ptr(const struct bufref *br)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:104,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:105,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - br
    argTypes:
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: Curl_bufref_len
    functionSourceFile: /src/curl/lib/bufref.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_bufref_len(const struct bufref *br)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:115,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:116,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:117,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:118,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/bufref.c:119,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/bufref.c:122,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/bufref.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - br
    - ptr
    - len
    argTypes:
    - struct bufref*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: Curl_bufref_memdup
    functionSourceFile: /src/curl/lib/bufref.c
    functionUses: 1
    functionsReached:
    - Curl_memdup0
    - Curl_bufref_set
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_bufref_memdup(struct bufref *br, const void *ptr, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - enum alpnid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: Curl_alpnid2str
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Curl_alpnid2str(enum alpnid id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/altsvc.c:74,1
    - Dst: free
      Src: /src/curl/lib/altsvc.c:75,1
    - Dst: free
      Src: /src/curl/lib/altsvc.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct altsvc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: altsvc_free
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void altsvc_free(struct altsvc *as)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/altsvc.c:88,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/altsvc.c:91,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/altsvc.c:92,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/altsvc.c:113,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/altsvc.c:117,1
    - Dst: altsvc_free
      Src: /src/curl/lib/altsvc.c:128,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 8
    argNames:
    - srchost
    - hlen
    - dsthost
    - dlen
    - srcalpnid
    - dstalpnid
    - srcport
    - dstport
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - enum alpnid
    - enum alpnid
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: altsvc_createid
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - Curl_memdup0
    - calloc
    - DEBUGASSERT
    - altsvc_free
    linkageType: ''
    returnType: struct altsvc
    signature: "struct altsvc *altsvc_createid(const char *srchost,\n                                      size_t
      hlen,\n                                      const char *dsthost,\n                                      size_t
      dlen, /* dsthost length */\n                                      enum alpnid
      srcalpnid,\n                                      enum alpnid dstalpnid,\n                                      size_t
      srcport,\n                                      size_t dstport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_alpn2alpnid
      Src: /src/curl/lib/altsvc.c:140,1
    - Dst: curlx_str
      Src: /src/curl/lib/altsvc.c:140,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/altsvc.c:140,1
    - Dst: Curl_alpn2alpnid
      Src: /src/curl/lib/altsvc.c:142,1
    - Dst: curlx_str
      Src: /src/curl/lib/altsvc.c:142,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/altsvc.c:142,1
    - Dst: altsvc_createid
      Src: /src/curl/lib/altsvc.c:145,1
    - Dst: curlx_str
      Src: /src/curl/lib/altsvc.c:145,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/altsvc.c:145,1
    - Dst: curlx_str
      Src: /src/curl/lib/altsvc.c:146,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/altsvc.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - srchost
    - dsthost
    - srcalpn
    - dstalpn
    - srcport
    - dstport
    argTypes:
    - struct Curl_str*
    - struct Curl_str*
    - struct Curl_str*
    - struct Curl_str*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 149
    functionName: altsvc_create
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - curlx_strlen
    - Curl_alpn2alpnid
    - curlx_str
    - altsvc_createid
    linkageType: ''
    returnType: struct altsvc
    signature: "struct altsvc *altsvc_create(struct Curl_str *srchost,\n                                    struct
      Curl_str *dsthost,\n                                    struct Curl_str *srcalpn,\n
      \                                   struct Curl_str *dstalpn,\n                                    size_t
      srcport,\n                                    size_t dstport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_word
      Src: /src/curl/lib/altsvc.c:167,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/lib/altsvc.c:168,1
    - Dst: curlx_str_word
      Src: /src/curl/lib/altsvc.c:169,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/lib/altsvc.c:170,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/altsvc.c:171,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/lib/altsvc.c:172,1
    - Dst: curlx_str_word
      Src: /src/curl/lib/altsvc.c:173,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/lib/altsvc.c:174,1
    - Dst: curlx_str_word
      Src: /src/curl/lib/altsvc.c:175,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/lib/altsvc.c:176,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/altsvc.c:177,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/lib/altsvc.c:178,1
    - Dst: curlx_str_quotedword
      Src: /src/curl/lib/altsvc.c:179,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/lib/altsvc.c:180,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/altsvc.c:181,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/lib/altsvc.c:182,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/altsvc.c:183,1
    - Dst: curlx_str_newline
      Src: /src/curl/lib/altsvc.c:184,1
    - Dst: memcpy
      Src: /src/curl/lib/altsvc.c:193,1
    - Dst: curlx_str
      Src: /src/curl/lib/altsvc.c:193,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/altsvc.c:193,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/altsvc.c:194,1
    - Dst: Curl_getdate_capped
      Src: /src/curl/lib/altsvc.c:195,1
    - Dst: altsvc_create
      Src: /src/curl/lib/altsvc.c:196,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/altsvc.c:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 15
    argCount: 2
    argNames:
    - asi
    - line
    argTypes:
    - struct altsvcinfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 207
    functionName: altsvc_add
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - curlx_str_newline
    - curlx_str_word
    - memcpy
    - curlx_str_number
    - curlx_strlen
    - altsvc_create
    - curlx_str
    - Curl_llist_append
    - Curl_getdate_capped
    - curlx_str_singlespace
    - curlx_str_quotedword
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode altsvc_add(struct altsvcinfo *asi, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/altsvc.c:224,1
    - Dst: strdup
      Src: /src/curl/lib/altsvc.c:225,1
    - Dst: curlx_fopen
      Src: /src/curl/lib/altsvc.c:229,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/altsvc.c:232,1
    - Dst: Curl_get_line
      Src: /src/curl/lib/altsvc.c:233,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/altsvc.c:234,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/altsvc.c:235,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:236,1
    - Dst: altsvc_add
      Src: /src/curl/lib/altsvc.c:237,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/altsvc.c:239,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/altsvc.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - asi
    - file
    argTypes:
    - struct altsvcinfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 217
    functionDepth: 6
    functionLinenumber: 217
    functionLinenumberEnd: 243
    functionName: altsvc_load
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 3
    functionsReached:
    - curlx_str_passblanks
    - altsvc_add
    - strdup
    - curlx_fopen
    - free
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_str_single
    - curlx_dyn_ptr
    - Curl_get_line
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode altsvc_load(struct altsvcinfo *asi, const char *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gmtime
      Src: /src/curl/lib/altsvc.c:256,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/altsvc.c:262,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/altsvc.c:266,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/altsvc.c:272,1
    - Dst: Curl_alpnid2str
      Src: /src/curl/lib/altsvc.c:278,1
    - Dst: Curl_alpnid2str
      Src: /src/curl/lib/altsvc.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - as
    - fp
    argTypes:
    - struct altsvc*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 249
    functionDepth: 5
    functionLinenumber: 249
    functionLinenumberEnd: 290
    functionName: altsvc_out
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - Curl_alpnid2str
    - Curl_gmtime
    - curlx_inet_pton
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode altsvc_out(struct altsvc *as, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/altsvc.c:300,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/altsvc.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 315
    functionName: Curl_altsvc_init
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 4
    functionsReached:
    - calloc
    - Curl_llist_init
    linkageType: ''
    returnType: struct altsvcinfo
    signature: struct altsvcinfo *Curl_altsvc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/altsvc.c:322,1
    - Dst: altsvc_load
      Src: /src/curl/lib/altsvc.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - asi
    - file
    argTypes:
    - struct altsvcinfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 7
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: Curl_altsvc_load
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 3
    functionsReached:
    - altsvc_load
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_altsvc_load(struct altsvcinfo *asi, const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/altsvc.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - asi
    - ctrl
    argTypes:
    - struct altsvcinfo*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: Curl_altsvc_ctrl
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_altsvc_ctrl(struct altsvcinfo *asi, const long ctrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/altsvc.c:346,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/altsvc.c:347,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/altsvc.c:348,1
    - Dst: altsvc_free
      Src: /src/curl/lib/altsvc.c:349,1
    - Dst: free
      Src: /src/curl/lib/altsvc.c:351,1
    - Dst: free
      Src: /src/curl/lib/altsvc.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - altsvcp
    argTypes:
    - struct altsvcinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: Curl_altsvc_cleanup
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 3
    functionsReached:
    - Curl_node_elem
    - free
    - altsvc_free
    - Curl_node_next
    - Curl_llist_head
    linkageType: ''
    returnType: void
    signature: void Curl_altsvc_cleanup(struct altsvcinfo **altsvcp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_fopen
      Src: /src/curl/lib/altsvc.c:379,1
    - Dst: fputs
      Src: /src/curl/lib/altsvc.c:383,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/altsvc.c:386,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/altsvc.c:387,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/altsvc.c:388,1
    - Dst: altsvc_out
      Src: /src/curl/lib/altsvc.c:389,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/altsvc.c:393,1
    - Dst: Curl_rename
      Src: /src/curl/lib/altsvc.c:394,1
    - Dst: unlink
      Src: /src/curl/lib/altsvc.c:398,1
    - Dst: free
      Src: /src/curl/lib/altsvc.c:400,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 3
    argNames:
    - data
    - altsvc
    - file
    argTypes:
    - struct Curl_easy*
    - struct altsvcinfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 360
    functionDepth: 6
    functionLinenumber: 360
    functionLinenumberEnd: 402
    functionName: Curl_altsvc_save
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 2
    functionsReached:
    - unlink
    - Curl_node_elem
    - fputs
    - free
    - Curl_fopen
    - altsvc_out
    - Curl_node_next
    - Curl_rename
    - Curl_llist_head
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_altsvc_save(struct Curl_easy *data,\n                          struct
      altsvcinfo *altsvc, const char *file)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/altsvc.c:409,1
    - Dst: strlen
      Src: /src/curl/lib/altsvc.c:410,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/altsvc.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - host
    - check
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: hostcompare
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: bool hostcompare(const char *host, const char *check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/altsvc.c:427,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/altsvc.c:428,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/altsvc.c:429,1
    - Dst: hostcompare
      Src: /src/curl/lib/altsvc.c:432,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/altsvc.c:433,1
    - Dst: altsvc_free
      Src: /src/curl/lib/altsvc.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - asi
    - srcalpnid
    - srchost
    - srcport
    argTypes:
    - struct altsvcinfo*
    - enum alpnid
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 437
    functionName: altsvc_flush
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - Curl_llist_head
    - Curl_node_elem
    - altsvc_free
    - hostcompare
    - Curl_node_next
    - Curl_node_remove
    linkageType: ''
    returnType: void
    signature: "void altsvc_flush(struct altsvcinfo *asi, enum alpnid srcalpnid,\n
      \                        const char *srchost, unsigned short srcport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/altsvc.c:444,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/altsvc.c:448,1
    - Dst: time
      Src: /src/curl/lib/altsvc.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 452
    functionName: altsvc_debugtime
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    - getenv
    - time
    linkageType: ''
    returnType: time_t
    signature: time_t altsvc_debugtime(void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: time
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: time(x)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/altsvc.c:485,1
    - Dst: curlx_str_cspn
      Src: /src/curl/lib/altsvc.c:488,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/altsvc.c:489,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/altsvc.c:491,1
    - Dst: altsvc_flush
      Src: /src/curl/lib/altsvc.c:493,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/altsvc.c:500,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/altsvc.c:503,1
    - Dst: strchr
      Src: /src/curl/lib/altsvc.c:507,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/altsvc.c:517,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:518,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/altsvc.c:519,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/altsvc.c:521,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/altsvc.c:522,1
    - Dst: curlx_str
      Src: /src/curl/lib/altsvc.c:524,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/altsvc.c:528,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/altsvc.c:529,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/altsvc.c:531,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:534,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:536,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:542,1
    - Dst: Curl_alpn2alpnid
      Src: /src/curl/lib/altsvc.c:545,1
    - Dst: curlx_str
      Src: /src/curl/lib/altsvc.c:545,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/altsvc.c:545,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:546,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:549,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:551,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/altsvc.c:552,1
    - Dst: infof
      Src: /src/curl/lib/altsvc.c:553,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/altsvc.c:559,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:560,1
    - Dst: infof
      Src: /src/curl/lib/altsvc.c:561,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:565,1
    - Dst: curlx_str_assign
      Src: /src/curl/lib/altsvc.c:570,1
    - Dst: strlen
      Src: /src/curl/lib/altsvc.c:570,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/altsvc.c:572,1
    - Dst: infof
      Src: /src/curl/lib/altsvc.c:573,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:579,1
    - Dst: altsvc_flush
      Src: /src/curl/lib/altsvc.c:586,1
    - Dst: altsvc_createid
      Src: /src/curl/lib/altsvc.c:588,1
    - Dst: strlen
      Src: /src/curl/lib/altsvc.c:588,1
    - Dst: curlx_str
      Src: /src/curl/lib/altsvc.c:589,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/altsvc.c:590,1
    - Dst: time
      Src: /src/curl/lib/altsvc.c:594,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/altsvc.c:602,1
    - Dst: infof
      Src: /src/curl/lib/altsvc.c:603,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/altsvc.c:604,1
    - Dst: curlx_str
      Src: /src/curl/lib/altsvc.c:604,1
    - Dst: Curl_alpnid2str
      Src: /src/curl/lib/altsvc.c:605,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/altsvc.c:614,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/altsvc.c:618,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/altsvc.c:620,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 88
    argCount: 6
    argNames:
    - data
    - asi
    - value
    - srcalpnid
    - srchost
    - srcport
    argTypes:
    - struct Curl_easy*
    - struct altsvcinfo*
    - char*
    - enum alpnid
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 468
    functionDepth: 5
    functionLinenumber: 468
    functionLinenumberEnd: 627
    functionName: Curl_altsvc_parse
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 2
    functionsReached:
    - Curl_alpnid2str
    - altsvc_flush
    - curlx_str_single
    - curlx_str_assign
    - curlx_str_casecompare
    - strchr
    - curlx_strlen
    - curlx_str_number
    - curlx_str_cspn
    - curlx_str_until
    - strlen
    - Curl_llist_append
    - DEBUGASSERT
    - curlx_str
    - time
    - curlx_str_trimblanks
    - Curl_alpn2alpnid
    - altsvc_createid
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_altsvc_parse(struct Curl_easy *data,\n                           struct
      altsvcinfo *asi, const char *value,\n                           enum alpnid
      srcalpnid, const char *srchost,\n                           unsigned short srcport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/curl/lib/altsvc.c:640,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/altsvc.c:641,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/altsvc.c:642,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/altsvc.c:643,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/altsvc.c:645,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/altsvc.c:646,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/altsvc.c:647,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/altsvc.c:650,1
    - Dst: altsvc_free
      Src: /src/curl/lib/altsvc.c:651,1
    - Dst: hostcompare
      Src: /src/curl/lib/altsvc.c:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - asi
    - srcalpnid
    - srchost
    - srcport
    - dstentry
    - versions
    argTypes:
    - struct altsvcinfo*
    - enum alpnid
    - char*
    - int
    - struct altsvc**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 632
    functionDepth: 4
    functionLinenumber: 632
    functionLinenumberEnd: 664
    functionName: Curl_altsvc_lookup
    functionSourceFile: /src/curl/lib/altsvc.c
    functionUses: 1
    functionsReached:
    - Curl_llist_head
    - Curl_node_elem
    - altsvc_free
    - hostcompare
    - Curl_node_remove
    - DEBUGASSERT
    - Curl_node_next
    - time
    linkageType: ''
    returnType: bool
    signature: "bool Curl_altsvc_lookup(struct altsvcinfo *asi,\n                        enum
      alpnid srcalpnid, const char *srchost,\n                        int srcport,\n
      \                       struct altsvc **dstentry,\n                        const
      int versions)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/curl_trc.c:59,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/curl_trc.c:60,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/curl_trc.c:61,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/curl_trc.c:63,1
    - Dst: fwrite
      Src: /src/curl/lib/curl_trc.c:72,1
    - Dst: fwrite
      Src: /src/curl/lib/curl_trc.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - data
    - type
    - ptr
    - size
    argTypes:
    - struct Curl_easy*
    - curl_infotype
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: trc_write
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - fwrite
    - Curl_set_in_callback
    - CURL_UNCONST
    - Curl_is_in_callback
    linkageType: ''
    returnType: void
    signature: "void trc_write(struct Curl_easy *data, curl_infotype type,\n                      const
      char *ptr, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: CURL_TRC_IDS
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TRC_IDS(data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_trc.c:104,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_trc.c:106,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_trc.c:109,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_trc.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - buf
    - maxlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: trc_print_ids
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t trc_print_ids(struct Curl_easy *data, char *buf, size_t maxlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - len
    - maxlen
    - addnl
    argTypes:
    - char*
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: trc_end_buf
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t trc_end_buf(char *buf, size_t len, size_t maxlen, bool addnl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_is_in_callback
      Src: /src/curl/lib/curl_trc.c:141,1
    - Dst: CURL_TRC_IDS
      Src: /src/curl/lib/curl_trc.c:143,1
    - Dst: trc_print_ids
      Src: /src/curl/lib/curl_trc.c:144,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_trc.c:145,1
    - Dst: trc_end_buf
      Src: /src/curl/lib/curl_trc.c:147,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/curl_trc.c:148,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/curl_trc.c:150,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/curl_trc.c:153,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/curl_trc.c:154,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/curl_trc.c:156,1
    - Dst: CURL_TRC_IDS
      Src: /src/curl/lib/curl_trc.c:165,1
    - Dst: trc_print_ids
      Src: /src/curl/lib/curl_trc.c:166,1
    - Dst: fwrite
      Src: /src/curl/lib/curl_trc.c:167,1
    - Dst: fwrite
      Src: /src/curl/lib/curl_trc.c:170,1
    - Dst: fwrite
      Src: /src/curl/lib/curl_trc.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - data
    - type
    - ptr
    - size
    argTypes:
    - struct Curl_easy*
    - curl_infotype
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 132
    functionDepth: 7
    functionLinenumber: 132
    functionLinenumberEnd: 178
    functionName: Curl_debug
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 5
    functionsReached:
    - curl_msnprintf
    - fwrite
    - CURL_UNCONST
    - CURL_TRC_IDS
    - trc_end_buf
    - trc_print_ids
    - Curl_is_in_callback
    - Curl_set_in_callback
    linkageType: ''
    returnType: void
    signature: "void Curl_debug(struct Curl_easy *data, curl_infotype type,\n                const
      char *ptr, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:185,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:185,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:190,1
    - Dst: curl_mvsnprintf
      Src: /src/curl/lib/curl_trc.c:191,1
    - Dst: strcpy
      Src: /src/curl/lib/curl_trc.c:194,1
    - Dst: trc_write
      Src: /src/curl/lib/curl_trc.c:199,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: Curl_failf
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - trc_write
    - va_start
    - curl_mvsnprintf
    - strchr
    - va_end
    - DEBUGASSERT
    - strcpy
    linkageType: ''
    returnType: void
    signature: void Curl_failf(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_IDS
      Src: /src/curl/lib/curl_trc.c:219,1
    - Dst: trc_print_ids
      Src: /src/curl/lib/curl_trc.c:220,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_trc.c:222,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_trc.c:225,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_trc.c:228,1
    - Dst: curl_mvsnprintf
      Src: /src/curl/lib/curl_trc.c:230,1
    - Dst: trc_end_buf
      Src: /src/curl/lib/curl_trc.c:231,1
    - Dst: trc_write
      Src: /src/curl/lib/curl_trc.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - data
    - feat
    - opt_id
    - opt_id_idx
    - fmt
    - ap
    argTypes:
    - struct Curl_easy*
    - struct curl_trc_feat*
    - char*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 7
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: trc_infof
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - trc_write
    - curl_mvsnprintf
    - trc_end_buf
    - CURL_TRC_IDS
    - trc_print_ids
    linkageType: ''
    returnType: void
    signature: "void trc_infof(struct Curl_easy *data,\n                      struct
      curl_trc_feat *feat,\n                      const char *opt_id, int opt_id_idx,\n
      \                     const char * const fmt, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:237,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:237,1
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/curl_trc.c:238,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:240,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:241,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 8
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: Curl_infof
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached:
    - va_start
    - strchr
    - Curl_trc_is_verbose
    - va_end
    - trc_infof
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_infof(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:249,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/curl/lib/curl_trc.c:250,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:252,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:253,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - cf
    - fmt
    argTypes:
    - struct Curl_easy*
    - struct Curl_cfilter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 8
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: Curl_trc_cf_infof
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_start
    - Curl_trc_cf_is_verbose
    - va_end
    - trc_infof
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_trc_cf_infof(struct Curl_easy *data, const struct Curl_cfilter
      *cf,\n                       const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/curl_trc.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: trc_timer_name
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: char
    signature: char *trc_timer_name(int tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:306,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:306,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/curl_trc.c:307,1
    - Dst: trc_timer_name
      Src: /src/curl/lib/curl_trc.c:308,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:310,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:311,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - tid
    - fmt
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 8
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: Curl_trc_timer
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - trc_timer_name
    - va_start
    - strchr
    - va_end
    - trc_infof
    - DEBUGASSERT
    - Curl_trc_ft_is_verbose
    linkageType: ''
    returnType: void
    signature: void Curl_trc_timer(struct Curl_easy *data, int tid, const char *fmt,
      ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_TIMER_is_verbose
      Src: /src/curl/lib/curl_trc.c:318,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/curl_trc.c:319,1
    - Dst: curlx_now
      Src: /src/curl/lib/curl_trc.c:321,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/curl_trc.c:323,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/curl_trc.c:324,1
    - Dst: CURL_TRC_TIMER
      Src: /src/curl/lib/curl_trc.c:325,1
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/curl_trc.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 330
    functionName: Curl_trc_easy_timers
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - Curl_node_elem
    - CURL_TRC_TIMER_is_verbose
    - curlx_now
    - CURL_TRC_TIMER
    - Curl_node_next
    - curlx_timediff_us
    - Curl_llist_head
    linkageType: ''
    returnType: void
    signature: void Curl_trc_easy_timers(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/curl_trc.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: Curl_trc_mstate_name
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: char
    signature: char *Curl_trc_mstate_name(int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:362,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:362,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/curl_trc.c:363,1
    - Dst: Curl_trc_mstate_name
      Src: /src/curl/lib/curl_trc.c:365,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:367,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:368,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 360
    functionDepth: 8
    functionLinenumber: 360
    functionLinenumberEnd: 371
    functionName: Curl_trc_multi
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - Curl_trc_ft_is_verbose
    - va_start
    - strchr
    - va_end
    - trc_infof
    - DEBUGASSERT
    - Curl_trc_mstate_name
    linkageType: ''
    returnType: void
    signature: void Curl_trc_multi(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:375,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:375,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/curl_trc.c:376,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:378,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:379,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 8
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: Curl_trc_read
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_start
    - strchr
    - va_end
    - trc_infof
    - DEBUGASSERT
    - Curl_trc_ft_is_verbose
    linkageType: ''
    returnType: void
    signature: void Curl_trc_read(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:386,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:386,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/curl_trc.c:387,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:389,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:390,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 8
    functionLinenumber: 384
    functionLinenumberEnd: 393
    functionName: Curl_trc_write
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_start
    - strchr
    - va_end
    - trc_infof
    - DEBUGASSERT
    - Curl_trc_ft_is_verbose
    linkageType: ''
    returnType: void
    signature: void Curl_trc_write(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:397,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:397,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/curl_trc.c:398,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:400,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:401,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 8
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: Curl_trc_dns
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_start
    - strchr
    - va_end
    - trc_infof
    - DEBUGASSERT
    - Curl_trc_ft_is_verbose
    linkageType: ''
    returnType: void
    signature: void Curl_trc_dns(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:414,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:414,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/curl_trc.c:415,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:417,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:418,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 8
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: Curl_trc_ftp
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_start
    - strchr
    - va_end
    - trc_infof
    - DEBUGASSERT
    - Curl_trc_ft_is_verbose
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ftp(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:432,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:432,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/curl_trc.c:433,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:435,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:436,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 8
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: Curl_trc_smtp
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_start
    - strchr
    - va_end
    - trc_infof
    - DEBUGASSERT
    - Curl_trc_ft_is_verbose
    linkageType: ''
    returnType: void
    signature: void Curl_trc_smtp(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:450,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:450,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/curl_trc.c:451,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:453,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:454,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 8
    functionLinenumber: 448
    functionLinenumberEnd: 457
    functionName: Curl_trc_ssls
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_start
    - strchr
    - va_end
    - trc_infof
    - DEBUGASSERT
    - Curl_trc_ft_is_verbose
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ssls(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_trc.c:468,1
    - Dst: strchr
      Src: /src/curl/lib/curl_trc.c:468,1
    - Dst: Curl_trc_ft_is_verbose
      Src: /src/curl/lib/curl_trc.c:469,1
    - Dst: va_start
      Src: /src/curl/lib/curl_trc.c:471,1
    - Dst: trc_infof
      Src: /src/curl/lib/curl_trc.c:472,1
    - Dst: va_end
      Src: /src/curl/lib/curl_trc.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 466
    functionDepth: 8
    functionLinenumber: 466
    functionLinenumberEnd: 475
    functionName: Curl_trc_ws
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - va_start
    - strchr
    - va_end
    - trc_infof
    - DEBUGASSERT
    - Curl_trc_ft_is_verbose
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ws(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/curl_trc.c:556,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/curl_trc.c:557,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/curl_trc.c:562,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/curl_trc.c:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - token
    - lvl
    argTypes:
    - struct Curl_str*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 568
    functionName: trc_apply_level_by_name
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - curlx_str_casecompare
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void trc_apply_level_by_name(struct Curl_str *token, int lvl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/curl_trc.c:574,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/curl_trc.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - category
    - lvl
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 582
    functionName: trc_apply_level_by_category
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void trc_apply_level_by_category(int category, int lvl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/curl/lib/curl_trc.c:587,1
    - Dst: curlx_str
      Src: /src/curl/lib/curl_trc.c:589,1
    - Dst: curlx_str_nudge
      Src: /src/curl/lib/curl_trc.c:593,1
    - Dst: curlx_str_nudge
      Src: /src/curl/lib/curl_trc.c:596,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/curl_trc.c:598,1
    - Dst: trc_apply_level_by_category
      Src: /src/curl/lib/curl_trc.c:599,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/curl_trc.c:600,1
    - Dst: trc_apply_level_by_category
      Src: /src/curl/lib/curl_trc.c:601,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/curl_trc.c:602,1
    - Dst: trc_apply_level_by_category
      Src: /src/curl/lib/curl_trc.c:603,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/curl_trc.c:604,1
    - Dst: trc_apply_level_by_category
      Src: /src/curl/lib/curl_trc.c:605,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/curl_trc.c:606,1
    - Dst: trc_apply_level_by_name
      Src: /src/curl/lib/curl_trc.c:608,1
    - Dst: trc_apply_level_by_name
      Src: /src/curl/lib/curl_trc.c:611,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/curl_trc.c:613,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 617
    functionName: trc_opt
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached:
    - curlx_str_casecompare
    - curlx_str_nudge
    - trc_apply_level_by_name
    - trc_apply_level_by_category
    - curlx_str_single
    - curlx_str_until
    - curlx_str
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode trc_opt(const char *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trc_opt
      Src: /src/curl/lib/curl_trc.c:621,1
    - Dst: getenv
      Src: /src/curl/lib/curl_trc.c:625,1
    - Dst: trc_opt
      Src: /src/curl/lib/curl_trc.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 631
    functionName: Curl_trc_opt
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached:
    - trc_opt
    - getenv
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_trc_opt(const char *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_opt
      Src: /src/curl/lib/curl_trc.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 4
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: Curl_trc_init
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached:
    - Curl_trc_opt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_trc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: Curl_trc_init
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_trc_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: Curl_infof
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_infof(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - cf
    - fmt
    argTypes:
    - struct Curl_easy*
    - struct Curl_cfilter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: Curl_trc_cf_infof
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_trc_cf_infof(struct Curl_easy *data, const struct Curl_cfilter
      *cf,\n                       const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: Curl_trc_multi
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_multi(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 668
    functionName: Curl_trc_write
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_write(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 673
    functionName: Curl_trc_dns
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_dns(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - tid
    - fmt
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 678
    functionName: Curl_trc_timer
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_timer(struct Curl_easy *data, int tid, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: Curl_trc_read
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_read(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 689
    functionName: Curl_trc_ftp
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ftp(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: Curl_trc_smtp
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_smtp(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: Curl_trc_ws
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ws(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: Curl_trc_ssls
    functionSourceFile: /src/curl/lib/curl_trc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_trc_ssls(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_escape
      Src: /src/curl/lib/escape.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - inlength
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: curl_escape
    functionSourceFile: /src/curl/lib/escape.c
    functionUses: 1
    functionsReached:
    - curl_easy_escape
    linkageType: ''
    returnType: char
    signature: char *curl_escape(const char *string, int inlength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_unescape
      Src: /src/curl/lib/escape.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: curl_unescape
    functionSourceFile: /src/curl/lib/escape.c
    functionUses: 1
    functionsReached:
    - curl_easy_unescape
    linkageType: ''
    returnType: char
    signature: char *curl_unescape(const char *string, int length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/escape.c:70,1
    - Dst: strdup
      Src: /src/curl/lib/escape.c:72,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/escape.c:74,1
    - Dst: ISUNRESERVED
      Src: /src/curl/lib/escape.c:80,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/escape.c:82,1
    - Dst: Curl_hexbyte
      Src: /src/curl/lib/escape.c:88,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/escape.c:89,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/escape.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - data
    - string
    - inlength
    argTypes:
    - CURL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 95
    functionName: curl_easy_escape
    functionSourceFile: /src/curl/lib/escape.c
    functionUses: 11
    functionsReached:
    - strlen
    - Curl_hexbyte
    - strdup
    - curlx_dyn_addn
    - curlx_dyn_init
    - curlx_dyn_ptr
    - ISUNRESERVED
    linkageType: ''
    returnType: char
    signature: "char *curl_easy_escape(CURL *data, const char *string,\n                       int
      inlength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/escape.c:120,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/escape.c:121,1
    - Dst: strlen
      Src: /src/curl/lib/escape.c:123,1
    - Dst: malloc
      Src: /src/curl/lib/escape.c:124,1
    - Dst: ISXDIGIT
      Src: /src/curl/lib/escape.c:135,1
    - Dst: ISXDIGIT
      Src: /src/curl/lib/escape.c:135,1
    - Dst: Curl_hexval
      Src: /src/curl/lib/escape.c:137,1
    - Dst: Curl_hexval
      Src: /src/curl/lib/escape.c:138,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/escape.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - string
    - length
    - ostring
    - olen
    - ctrl
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - enum urlreject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 162
    functionName: Curl_urldecode
    functionSourceFile: /src/curl/lib/escape.c
    functionUses: 7
    functionsReached:
    - Curl_safefree
    - strlen
    - malloc
    - Curl_hexval
    - ISXDIGIT
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_urldecode(const char *string, size_t length,\n                        char
      **ostring, size_t *olen,\n                        enum urlreject ctrl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/curl/lib/escape.c:179,1
    - Dst: curlx_uztosi
      Src: /src/curl/lib/escape.c:186,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/escape.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - data
    - string
    - length
    - olen
    argTypes:
    - CURL*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: curl_easy_unescape
    functionSourceFile: /src/curl/lib/escape.c
    functionUses: 5
    functionsReached:
    - curlx_uztosi
    - Curl_safefree
    - Curl_urldecode
    linkageType: ''
    returnType: char
    signature: "char *curl_easy_unescape(CURL *data, const char *string,\n                         int
      length, int *olen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/escape.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: curl_free
    functionSourceFile: /src/curl/lib/escape.c
    functionUses: 54
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void curl_free(void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/escape.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - src
    - len
    - out
    - olen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: Curl_hexencode
    functionSourceFile: /src/curl/lib/escape.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_hexencode(const unsigned char *src, size_t len, /* input
      length */\n                    unsigned char *out, size_t olen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - val
    argTypes:
    - unsigned char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: Curl_hexbyte
    functionSourceFile: /src/curl/lib/escape.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_hexbyte(unsigned char *dest, /* must fit two bytes */\n
      \                 unsigned char val)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/curl_gssapi.c:119,1
    - Dst: strlen
      Src: /src/curl/lib/curl_gssapi.c:120,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_gssapi.c:126,1
    - Dst: calloc
      Src: /src/curl/lib/curl_gssapi.c:189,1
    - Dst: strstr
      Src: /src/curl/lib/curl_gssapi.c:195,1
    - Dst: strstr
      Src: /src/curl/lib/curl_gssapi.c:198,1
    - Dst: free
      Src: /src/curl/lib/curl_gssapi.c:206,1
    - Dst: strcpy
      Src: /src/curl/lib/curl_gssapi.c:211,1
    - Dst: free
      Src: /src/curl/lib/curl_gssapi.c:219,1
    - Dst: gss_display_name
      Src: /src/curl/lib/curl_gssapi.c:229,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/curl_gssapi.c:231,1
    - Dst: free
      Src: /src/curl/lib/curl_gssapi.c:233,1
    - Dst: strlen
      Src: /src/curl/lib/curl_gssapi.c:238,1
    - Dst: free
      Src: /src/curl/lib/curl_gssapi.c:240,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_gssapi.c:246,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/curl_gssapi.c:251,1
    - Dst: free
      Src: /src/curl/lib/curl_gssapi.c:256,1
    - Dst: memset
      Src: /src/curl/lib/curl_gssapi.c:262,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 122
    argCount: 13
    argNames:
    - min
    - initiator_cred_handle
    - context
    - target_name
    - mech_type
    - req_flags
    - time_req
    - input_chan_bindings
    - input_token
    - actual_mech_type
    - output_token
    - ret_flags
    - time_rec
    argTypes:
    - OM_uint32*
    - gss_cred_id_t
    - struct stub_gss_ctx_id_t_desc**
    - gss_name_t
    - gss_OID
    - OM_uint32
    - OM_uint32
    - gss_channel_bindings_t
    - gss_buffer_desc*
    - gss_OID*
    - gss_buffer_desc*
    - OM_uint32*
    - OM_uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 80
    functionDepth: 6
    functionLinenumber: 80
    functionLinenumberEnd: 270
    functionName: stub_gss_init_sec_context
    functionSourceFile: /src/curl/lib/curl_gssapi.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    - strstr
    - getenv
    - curl_msnprintf
    - gss_release_buffer
    - free
    - strcmp
    - gss_display_name
    - memset
    - GSS_ERROR
    - strcpy
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 stub_gss_init_sec_context(OM_uint32 *min,\n                          gss_cred_id_t
      initiator_cred_handle,\n                          struct stub_gss_ctx_id_t_desc
      **context,\n                          gss_name_t target_name,\n                          const
      gss_OID mech_type,\n                          OM_uint32 req_flags,\n                          OM_uint32
      time_req,\n                          const gss_channel_bindings_t input_chan_bindings,\n
      \                         gss_buffer_desc *input_token,\n                          gss_OID
      *actual_mech_type,\n                          gss_buffer_desc *output_token,\n
      \                         OM_uint32 *ret_flags,\n                          OM_uint32
      *time_rec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/curl_gssapi.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - min
    - context
    - output_token
    argTypes:
    - OM_uint32*
    - struct stub_gss_ctx_id_t_desc**
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 296
    functionName: stub_gss_delete_sec_context
    functionSourceFile: /src/curl/lib/curl_gssapi.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 stub_gss_delete_sec_context(OM_uint32 *min,\n                            struct
      stub_gss_ctx_id_t_desc **context,\n                            gss_buffer_t
      output_token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/curl_gssapi.c:319,1
    - Dst: getenv
      Src: /src/curl/lib/curl_gssapi.c:328,1
    - Dst: stub_gss_init_sec_context
      Src: /src/curl/lib/curl_gssapi.c:329,1
    - Dst: gss_init_sec_context
      Src: /src/curl/lib/curl_gssapi.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 10
    argNames:
    - data
    - minor_status
    - context
    - target_name
    - mech_type
    - input_chan_bindings
    - input_token
    - output_token
    - mutual_auth
    - ret_flags
    argTypes:
    - struct Curl_easy*
    - OM_uint32*
    - gss_ctx_id_t*
    - gss_name_t
    - gss_OID
    - gss_channel_bindings_t
    - gss_buffer_t
    - gss_buffer_t
    - bool
    - OM_uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 299
    functionDepth: 7
    functionLinenumber: 299
    functionLinenumberEnd: 357
    functionName: Curl_gss_init_sec_context
    functionSourceFile: /src/curl/lib/curl_gssapi.c
    functionUses: 1
    functionsReached:
    - infof
    - gss_init_sec_context
    - stub_gss_init_sec_context
    - getenv
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_init_sec_context(struct Curl_easy *data,\n                                    OM_uint32
      *minor_status,\n                                    gss_ctx_id_t *context,\n
      \                                   gss_name_t target_name,\n                                    gss_OID
      mech_type,\n                                    gss_channel_bindings_t input_chan_bindings,\n
      \                                   gss_buffer_t input_token,\n                                    gss_buffer_t
      output_token,\n                                    const bool mutual_auth,\n
      \                                   OM_uint32 *ret_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/curl_gssapi.c:364,1
    - Dst: stub_gss_delete_sec_context
      Src: /src/curl/lib/curl_gssapi.c:365,1
    - Dst: gss_delete_sec_context
      Src: /src/curl/lib/curl_gssapi.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - min
    - context
    - output_token
    argTypes:
    - OM_uint32*
    - gss_ctx_id_t*
    - gss_buffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: Curl_gss_delete_sec_context
    functionSourceFile: /src/curl/lib/curl_gssapi.c
    functionUses: 1
    functionsReached:
    - gss_delete_sec_context
    - getenv
    - stub_gss_delete_sec_context
    linkageType: ''
    returnType: OM_uint32
    signature: "OM_uint32 Curl_gss_delete_sec_context(OM_uint32 *min,\n                                      gss_ctx_id_t
      *context,\n                                      gss_buffer_t output_token)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_display_status
      Src: /src/curl/lib/curl_gssapi.c:382,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_gssapi.c:390,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/curl_gssapi.c:395,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/curl_gssapi.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - status
    - type
    - buf
    - len
    argTypes:
    - OM_uint32
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 374
    functionDepth: 6
    functionLinenumber: 374
    functionLinenumberEnd: 399
    functionName: display_gss_error
    functionSourceFile: /src/curl/lib/curl_gssapi.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - GSS_ERROR
    - gss_display_status
    - gss_release_buffer
    linkageType: ''
    returnType: size_t
    signature: "size_t display_gss_error(OM_uint32 status, int type,\n                                char
      *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: display_gss_error
      Src: /src/curl/lib/curl_gssapi.c:420,1
    - Dst: display_gss_error
      Src: /src/curl/lib/curl_gssapi.c:422,1
    - Dst: infof
      Src: /src/curl/lib/curl_gssapi.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - prefix
    - major
    - minor
    argTypes:
    - struct Curl_easy*
    - char*
    - OM_uint32
    - OM_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 413
    functionDepth: 7
    functionLinenumber: 413
    functionLinenumberEnd: 429
    functionName: Curl_gss_log_error
    functionSourceFile: /src/curl/lib/curl_gssapi.c
    functionUses: 0
    functionsReached:
    - infof
    - display_gss_error
    linkageType: ''
    returnType: void
    signature: "void Curl_gss_log_error(struct Curl_easy *data, const char *prefix,\n
      \                       OM_uint32 major, OM_uint32 minor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psl_free
      Src: /src/curl/lib/psl.c:42,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/psl.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pslcache
    argTypes:
    - struct PslCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: Curl_psl_destroy
    functionSourceFile: /src/curl/lib/psl.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - psl_free
    linkageType: ''
    returnType: void
    signature: void Curl_psl_destroy(struct PslCache *pslcache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/psl.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: now_seconds
    functionSourceFile: /src/curl/lib/psl.c
    functionUses: 0
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: time_t
    signature: time_t now_seconds(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/curl/lib/psl.c:64,1
    - Dst: now_seconds
      Src: /src/curl/lib/psl.c:65,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/psl.c:68,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/psl.c:71,1
    - Dst: now_seconds
      Src: /src/curl/lib/psl.c:74,1
    - Dst: psl_latest
      Src: /src/curl/lib/psl.c:80,1
    - Dst: psl_builtin
      Src: /src/curl/lib/psl.c:89,1
    - Dst: Curl_psl_destroy
      Src: /src/curl/lib/psl.c:92,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/psl.c:98,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/psl.c:99,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/psl.c:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 105
    functionName: Curl_psl_use
    functionSourceFile: /src/curl/lib/psl.c
    functionUses: 0
    functionsReached:
    - now_seconds
    - psl_latest
    - Curl_share_lock
    - Curl_psl_destroy
    - psl_builtin
    - Curl_share_unlock
    linkageType: ''
    returnType: psl_ctx_t
    signature: psl_ctx_t *Curl_psl_use(struct Curl_easy *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/psl.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - easy
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: Curl_psl_release
    functionSourceFile: /src/curl/lib/psl.c
    functionUses: 0
    functionsReached:
    - Curl_share_unlock
    linkageType: ''
    returnType: void
    signature: void Curl_psl_release(struct Curl_easy *easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/http1.c:44,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http1.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parser
    - max_line_len
    argTypes:
    - struct h1_req_parser*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: Curl_h1_req_parse_init
    functionSourceFile: /src/curl/lib/http1.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_init
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_h1_req_parse_init(struct h1_req_parser *parser, size_t max_line_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_req_free
      Src: /src/curl/lib/http1.c:52,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http1.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct h1_req_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: Curl_h1_req_parse_free
    functionSourceFile: /src/curl/lib/http1.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_free
    - Curl_http_req_free
    linkageType: ''
    returnType: void
    signature: void Curl_h1_req_parse_free(struct h1_req_parser *parser)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http1.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - parser
    - options
    argTypes:
    - struct h1_req_parser*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 81
    functionName: trim_line
    functionSourceFile: /src/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode trim_line(struct h1_req_parser *parser, int options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http1.c:89,1
    - Dst: memchr
      Src: /src/curl/lib/http1.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - parser
    - buf
    - buflen
    - err
    argTypes:
    - struct h1_req_parser*
    - char*
    - size_t
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: detect_line
    functionSourceFile: /src/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - memchr
    - DEBUGASSERT
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t detect_line(struct h1_req_parser *parser,\n                           const
      char *buf, const size_t buflen,\n                           CURLcode *err)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http1.c:110,1
    - Dst: detect_line
      Src: /src/curl/lib/http1.c:113,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http1.c:115,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http1.c:117,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http1.c:120,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http1.c:121,1
    - Dst: trim_line
      Src: /src/curl/lib/http1.c:123,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http1.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - parser
    - buf
    - buflen
    - options
    - err
    argTypes:
    - struct h1_req_parser*
    - char*
    - size_t
    - int
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 134
    functionName: next_line
    functionSourceFile: /src/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - detect_line
    - curlx_dyn_reset
    - curlx_dyn_addn
    - curlx_dyn_len
    - curlx_dyn_ptr
    - trim_line
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t next_line(struct h1_req_parser *parser,\n                         const
      char *buf, const size_t buflen, int options,\n                         CURLcode
      *err)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http1.c:145,1
    - Dst: memchr
      Src: /src/curl/lib/http1.c:147,1
    - Dst: strncmp
      Src: /src/curl/lib/http1.c:192,1
    - Dst: memcpy
      Src: /src/curl/lib/http1.c:214,1
    - Dst: Curl_is_absolute_url
      Src: /src/curl/lib/http1.c:217,1
    - Dst: curl_url
      Src: /src/curl/lib/http1.c:220,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http1.c:230,1
    - Dst: Curl_http_req_make2
      Src: /src/curl/lib/http1.c:243,1
    - Dst: strlen
      Src: /src/curl/lib/http1.c:248,1
    - Dst: Curl_http_req_make
      Src: /src/curl/lib/http1.c:250,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/http1.c:255,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 3
    argNames:
    - parser
    - scheme_default
    - options
    argTypes:
    - struct h1_req_parser*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 257
    functionName: start_req
    functionSourceFile: /src/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - strlen
    - curl_url
    - Curl_http_req_make2
    - memcpy
    - Curl_is_absolute_url
    - Curl_http_req_make
    - memchr
    - curl_url_cleanup
    - strncmp
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode start_req(struct h1_req_parser *parser,\n                          const
      char *scheme_default, int options)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: next_line
      Src: /src/curl/lib/http1.c:268,1
    - Dst: start_req
      Src: /src/curl/lib/http1.c:288,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http1.c:302,1
    - Dst: Curl_dynhds_h1_add_line
      Src: /src/curl/lib/http1.c:306,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 6
    argNames:
    - parser
    - buf
    - buflen
    - scheme_default
    - options
    - err
    argTypes:
    - struct h1_req_parser*
    - char*
    - size_t
    - char*
    - int
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 317
    functionName: Curl_h1_req_parse_read
    functionSourceFile: /src/curl/lib/http1.c
    functionUses: 1
    functionsReached:
    - next_line
    - curlx_dyn_reset
    - start_req
    - Curl_dynhds_h1_add_line
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t Curl_h1_req_parse_read(struct h1_req_parser *parser,\n                               const
      char *buf, size_t buflen,\n                               const char *scheme_default,
      int options,\n                               CURLcode *err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http1.c:324,1
    - Dst: Curl_dynhds_h1_dprint
      Src: /src/curl/lib/http1.c:334,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http1.c:338,1
    - Dst: STRCONST
      Src: /src/curl/lib/http1.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - req
    - http_minor
    - dbuf
    argTypes:
    - struct httpreq*
    - int
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 342
    functionName: Curl_h1_req_write_head
    functionSourceFile: /src/curl/lib/http1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - STRCONST
    - curlx_dyn_addf
    - Curl_dynhds_h1_dprint
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_h1_req_write_head(struct httpreq *req, int http_minor,\n
      \                               struct dynbuf *dbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: smb_swap16
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short smb_swap16(unsigned short x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: smb_swap32
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int smb_swap32(unsigned int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:386,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: smb_swap64
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap32
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t smb_swap64(curl_off_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: smb_swap16
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smb_swap16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: smb_swap32
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smb_swap32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: smb_swap64
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smb_swap64(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/smb.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - smbc
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - enum smb_conn_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 416
    functionName: conn_state
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void conn_state(struct Curl_easy *data, struct smb_conn *smbc,\n                       enum
      smb_conn_state newstate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/smb.c:421,1
    - Dst: infof
      Src: /src/curl/lib/smb.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - newstate
    argTypes:
    - struct Curl_easy*
    - enum smb_req_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 444
    functionName: request_state
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_meta_get
    linkageType: ''
    returnType: void
    signature: "void request_state(struct Curl_easy *data,\n                          enum
      smb_req_state newstate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/smb.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: smb_easy_dtor
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void smb_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/smb.c:462,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/smb.c:463,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/smb.c:464,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/smb.c:465,1
    - Dst: free
      Src: /src/curl/lib/smb.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: smb_conn_dtor
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void smb_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/smb.c:478,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/smb.c:480,1
    - Dst: calloc
      Src: /src/curl/lib/smb.c:484,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/smb.c:486,1
    - Dst: smb_parse_url_path
      Src: /src/curl/lib/smb.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 491
    functionName: smb_setup_connection
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_meta_set
    - calloc
    - smb_parse_url_path
    - Curl_conn_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_setup_connection(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smb.c:496,1
    - Dst: malloc
      Src: /src/curl/lib/smb.c:509,1
    - Dst: malloc
      Src: /src/curl/lib/smb.c:512,1
    - Dst: connkeep
      Src: /src/curl/lib/smb.c:517,1
    - Dst: strchr
      Src: /src/curl/lib/smb.c:520,1
    - Dst: strchr
      Src: /src/curl/lib/smb.c:522,1
    - Dst: strdup
      Src: /src/curl/lib/smb.c:526,1
    - Dst: strdup
      Src: /src/curl/lib/smb.c:533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 539
    functionName: smb_connect
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - malloc
    - strdup
    - strchr
    - connkeep
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_connect(struct Curl_easy *data, bool *done)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_recv
      Src: /src/curl/lib/smb.c:552,1
    - Dst: Curl_read16_be
      Src: /src/curl/lib/smb.c:565,1
    - Dst: failf
      Src: /src/curl/lib/smb.c:569,1
    - Dst: failf
      Src: /src/curl/lib/smb.c:574,1
    - Dst: Curl_read16_le
      Src: /src/curl/lib/smb.c:587,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - data
    - smbc
    - msg
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 596
    functionName: smb_recv_message
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_read16_le
    - failf
    - Curl_xfer_recv
    - Curl_read16_be
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_recv_message(struct Curl_easy *data,\n                                 struct
      smb_conn *smbc,\n                                 void **msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - smbc
    argTypes:
    - struct smb_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 601
    functionName: smb_pop_message
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smb_pop_message(struct smb_conn *smbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/smb.c:610,1
    - Dst: htons
      Src: /src/curl/lib/smb.c:611,1
    - Dst: memcpy
      Src: /src/curl/lib/smb.c:613,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:616,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:617,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:618,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:619,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - smbc
    - req
    - h
    - cmd
    - len
    argTypes:
    - struct smb_conn*
    - struct smb_request*
    - struct smb_header*
    - unsigned char
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 621
    functionName: smb_format_message
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - memcpy
    - htons
    - smb_swap16
    - memset
    linkageType: ''
    returnType: void
    signature: "void smb_format_message(struct smb_conn *smbc,\n                               struct
      smb_request *req,\n                               struct smb_header *h,\n                               unsigned
      char cmd, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/smb.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - data
    - smbc
    - len
    - upload_size
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 641
    functionName: smb_send
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send(struct Curl_easy *data, struct smb_conn *smbc,\n
      \                        size_t len, size_t upload_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/smb.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - smbc
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 663
    functionName: smb_flush
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_flush(struct Curl_easy *data, struct smb_conn *smbc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smb_format_message
      Src: /src/curl/lib/smb.c:671,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/smb.c:674,1
    - Dst: memcpy
      Src: /src/curl/lib/smb.c:677,1
    - Dst: smb_send
      Src: /src/curl/lib/smb.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - data
    - smbc
    - req
    - cmd
    - msg
    - msg_len
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    - unsigned char
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 680
    functionName: smb_send_message
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - memcpy
    - smb_format_message
    - DEBUGASSERT
    - smb_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_message(struct Curl_easy *data,\n                                 struct
      smb_conn *smbc,\n                                 struct smb_request *req,\n
      \                                unsigned char cmd,\n                                 const
      void *msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smb_send_message
      Src: /src/curl/lib/smb.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 4
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: smb_send_negotiate
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_send_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_negotiate(struct Curl_easy *data,\n                                   struct
      smb_conn *smbc,\n                                   struct smb_request *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smb.c:694,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/smb.c:695,1
    - Dst: strlen
      Src: /src/curl/lib/smb.c:708,1
    - Dst: strlen
      Src: /src/curl/lib/smb.c:708,1
    - Dst: strlen
      Src: /src/curl/lib/smb.c:709,1
    - Dst: strlen
      Src: /src/curl/lib/smb.c:709,1
    - Dst: Curl_ntlm_core_mk_lm_hash
      Src: /src/curl/lib/smb.c:713,1
    - Dst: Curl_ntlm_core_lm_resp
      Src: /src/curl/lib/smb.c:714,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/curl/lib/smb.c:715,1
    - Dst: Curl_ntlm_core_lm_resp
      Src: /src/curl/lib/smb.c:716,1
    - Dst: memset
      Src: /src/curl/lib/smb.c:718,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:721,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:722,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:723,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:724,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:725,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:726,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:727,1
    - Dst: memcpy
      Src: /src/curl/lib/smb.c:728,1
    - Dst: memcpy
      Src: /src/curl/lib/smb.c:730,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/smb.c:732,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/smb.c:739,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:740,1
    - Dst: smb_send_message
      Src: /src/curl/lib/smb.c:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 691
    functionDepth: 6
    functionLinenumber: 691
    functionLinenumberEnd: 744
    functionName: smb_send_setup
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_ntlm_core_mk_nt_hash
    - smb_swap16
    - strlen
    - curl_msnprintf
    - Curl_conn_meta_get
    - Curl_ntlm_core_mk_lm_hash
    - Curl_ntlm_core_lm_resp
    - memcpy
    - memset
    - smb_swap32
    - Curl_meta_get
    - smb_send_message
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_send_setup(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/smb.c:753,1
    - Dst: strlen
      Src: /src/curl/lib/smb.c:753,1
    - Dst: strlen
      Src: /src/curl/lib/smb.c:754,1
    - Dst: memset
      Src: /src/curl/lib/smb.c:759,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/smb.c:764,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/smb.c:770,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:771,1
    - Dst: smb_send_message
      Src: /src/curl/lib/smb.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 746
    functionDepth: 6
    functionLinenumber: 746
    functionLinenumberEnd: 775
    functionName: smb_send_tree_connect
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap16
    - strlen
    - curl_msnprintf
    - memset
    - DEBUGASSERT
    - smb_send_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_tree_connect(struct Curl_easy *data,\n                                      struct
      smb_conn *smbc,\n                                      struct smb_request *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/smb.c:782,1
    - Dst: memset
      Src: /src/curl/lib/smb.c:787,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:790,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:791,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:793,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:794,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:797,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:798,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:800,1
    - Dst: strcpy
      Src: /src/curl/lib/smb.c:801,1
    - Dst: smb_send_message
      Src: /src/curl/lib/smb.c:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 805
    functionName: smb_send_open
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap16
    - strlen
    - memset
    - smb_swap32
    - smb_send_message
    - strcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_open(struct Curl_easy *data,\n                              struct
      smb_conn *smbc,\n                              struct smb_request *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/smb.c:813,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:815,1
    - Dst: smb_send_message
      Src: /src/curl/lib/smb.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 807
    functionDepth: 4
    functionLinenumber: 807
    functionLinenumberEnd: 818
    functionName: smb_send_close
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap16
    - smb_send_message
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_close(struct Curl_easy *data,\n                               struct
      smb_conn *smbc,\n                               struct smb_request *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/smb.c:825,1
    - Dst: smb_send_message
      Src: /src/curl/lib/smb.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 820
    functionDepth: 4
    functionLinenumber: 820
    functionLinenumberEnd: 828
    functionName: smb_send_tree_disconnect
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_send_message
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_tree_disconnect(struct Curl_easy *data,\n                                         struct
      smb_conn *smbc,\n                                         struct smb_request
      *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/smb.c:837,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:840,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:841,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:842,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:843,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:844,1
    - Dst: smb_send_message
      Src: /src/curl/lib/smb.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 830
    functionDepth: 4
    functionLinenumber: 830
    functionLinenumberEnd: 848
    functionName: smb_send_read
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap32
    - smb_swap16
    - smb_send_message
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_read(struct Curl_easy *data,\n                              struct
      smb_conn *smbc,\n                              struct smb_request *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/smb.c:862,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:865,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:866,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:867,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:868,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:869,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:870,1
    - Dst: smb_format_message
      Src: /src/curl/lib/smb.c:872,1
    - Dst: smb_send
      Src: /src/curl/lib/smb.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 876
    functionName: smb_send_write
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap16
    - smb_send
    - smb_format_message
    - memset
    - smb_swap32
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_write(struct Curl_easy *data,\n                               struct
      smb_conn *smbc,\n                               struct smb_request *req)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_read
      Src: /src/curl/lib/smb.c:890,1
    - Dst: smb_flush
      Src: /src/curl/lib/smb.c:903,1
    - Dst: smb_recv_message
      Src: /src/curl/lib/smb.c:912,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - data
    - smbc
    - msg
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 878
    functionDepth: 6
    functionLinenumber: 878
    functionLinenumberEnd: 913
    functionName: smb_send_and_recv
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_recv_message
    - Curl_client_read
    - smb_flush
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_send_and_recv(struct Curl_easy *data,\n                                  struct
      smb_conn *smbc, void **msg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smb.c:918,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/smb.c:919,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/smb.c:930,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/smb.c:932,1
    - Dst: smb_send_negotiate
      Src: /src/curl/lib/smb.c:940,1
    - Dst: connclose
      Src: /src/curl/lib/smb.c:942,1
    - Dst: conn_state
      Src: /src/curl/lib/smb.c:946,1
    - Dst: smb_send_and_recv
      Src: /src/curl/lib/smb.c:950,1
    - Dst: connclose
      Src: /src/curl/lib/smb.c:952,1
    - Dst: connclose
      Src: /src/curl/lib/smb.c:965,1
    - Dst: memcpy
      Src: /src/curl/lib/smb.c:975,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:979,1
    - Dst: smb_send_setup
      Src: /src/curl/lib/smb.c:980,1
    - Dst: connclose
      Src: /src/curl/lib/smb.c:982,1
    - Dst: conn_state
      Src: /src/curl/lib/smb.c:985,1
    - Dst: connclose
      Src: /src/curl/lib/smb.c:990,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:993,1
    - Dst: conn_state
      Src: /src/curl/lib/smb.c:994,1
    - Dst: smb_pop_message
      Src: /src/curl/lib/smb.c:999,1
    - Dst: smb_pop_message
      Src: /src/curl/lib/smb.c:1003,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 915
    functionDepth: 7
    functionLinenumber: 915
    functionLinenumberEnd: 1006
    functionName: smb_connection_state
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap16
    - conn_state
    - smb_send_setup
    - Curl_conn_is_ssl
    - smb_send_negotiate
    - Curl_conn_meta_get
    - memcpy
    - smb_pop_message
    - smb_send_and_recv
    - connclose
    - Curl_conn_connect
    - smb_swap32
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_connection_state(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - out
    - timestamp
    argTypes:
    - time_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1028
    functionName: get_posix_time
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_posix_time(time_t *out, curl_off_t timestamp)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smb.c:1033,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/smb.c:1034,1
    - Dst: failf
      Src: /src/curl/lib/smb.c:1047,1
    - Dst: smb_send_tree_connect
      Src: /src/curl/lib/smb.c:1053,1
    - Dst: connclose
      Src: /src/curl/lib/smb.c:1055,1
    - Dst: request_state
      Src: /src/curl/lib/smb.c:1059,1
    - Dst: smb_send_and_recv
      Src: /src/curl/lib/smb.c:1063,1
    - Dst: connclose
      Src: /src/curl/lib/smb.c:1065,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:1078,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:1082,1
    - Dst: smb_swap32
      Src: /src/curl/lib/smb.c:1089,1
    - Dst: smb_swap16
      Src: /src/curl/lib/smb.c:1095,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/smb.c:1099,1
    - Dst: smb_swap64
      Src: /src/curl/lib/smb.c:1103,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/smb.c:1109,1
    - Dst: get_posix_time
      Src: /src/curl/lib/smb.c:1111,1
    - Dst: Curl_read16_le
      Src: /src/curl/lib/smb.c:1123,1
    - Dst: Curl_read16_le
      Src: /src/curl/lib/smb.c:1125,1
    - Dst: failf
      Src: /src/curl/lib/smb.c:1129,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/smb.c:1133,1
    - Dst: Curl_read16_le
      Src: /src/curl/lib/smb.c:1152,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/smb.c:1156,1
    - Dst: smb_pop_message
      Src: /src/curl/lib/smb.c:1173,1
    - Dst: smb_pop_message
      Src: /src/curl/lib/smb.c:1177,1
    - Dst: smb_send_open
      Src: /src/curl/lib/smb.c:1181,1
    - Dst: smb_send_read
      Src: /src/curl/lib/smb.c:1185,1
    - Dst: smb_send_write
      Src: /src/curl/lib/smb.c:1189,1
    - Dst: smb_send_close
      Src: /src/curl/lib/smb.c:1193,1
    - Dst: smb_send_tree_disconnect
      Src: /src/curl/lib/smb.c:1197,1
    - Dst: connclose
      Src: /src/curl/lib/smb.c:1210,1
    - Dst: request_state
      Src: /src/curl/lib/smb.c:1214,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 139
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1030
    functionDepth: 7
    functionLinenumber: 1030
    functionLinenumberEnd: 1217
    functionName: smb_request_state
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - smb_swap16
    - smb_send_open
    - Curl_conn_meta_get
    - connclose
    - smb_swap64
    - failf
    - Curl_client_write
    - smb_send_close
    - get_posix_time
    - smb_send_write
    - smb_swap32
    - request_state
    - smb_send_tree_connect
    - Curl_read16_le
    - Curl_pgrsSetUploadSize
    - smb_pop_message
    - smb_send_tree_disconnect
    - smb_send_and_recv
    - Curl_meta_get
    - smb_send_read
    - Curl_pgrsSetDownloadSize
    - Curl_pgrsSetUploadCounter
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_request_state(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_inout
      Src: /src/curl/lib/smb.c:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: smb_pollset
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_inout
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_pollset(struct Curl_easy *data,\n                            struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/smb.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1236
    functionName: smb_do
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode smb_do(struct Curl_easy *data, bool *done)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/curl/lib/smb.c:1247,1
    - Dst: strdup
      Src: /src/curl/lib/smb.c:1252,1
    - Dst: free
      Src: /src/curl/lib/smb.c:1253,1
    - Dst: strchr
      Src: /src/curl/lib/smb.c:1257,1
    - Dst: strchr
      Src: /src/curl/lib/smb.c:1259,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/smb.c:1263,1
    - Dst: failf
      Src: /src/curl/lib/smb.c:1264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - data
    - smbc
    - req
    argTypes:
    - struct Curl_easy*
    - struct smb_conn*
    - struct smb_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1278
    functionName: smb_parse_url_path
    functionSourceFile: /src/curl/lib/smb.c
    functionUses: 1
    functionsReached:
    - Curl_safefree
    - failf
    - strdup
    - strchr
    - free
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode smb_parse_url_path(struct Curl_easy *data,\n                                   struct
      smb_conn *smbc,\n                                   struct smb_request *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/curl/lib/progress.c:43,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/progress.c:50,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/progress.c:59,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/progress.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - r
    - seconds
    argTypes:
    - char*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: time2str
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 1
    functionsReached:
    - curl_msnprintf
    - strcpy
    linkageType: ''
    returnType: void
    signature: void time2str(char *r, curl_off_t seconds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/progress.c:74,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/progress.c:82,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/progress.c:89,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/progress.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - bytes
    - max6
    argTypes:
    - curl_off_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: max6data
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - curl_msnprintf
    linkageType: ''
    returnType: char
    signature: char *max6data(curl_off_t bytes, char *max6)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/progress.c:119,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/progress.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: Curl_pgrsDone
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 1
    functionsReached:
    - curl_mfprintf
    - Curl_pgrsUpdate
    linkageType: ''
    returnType: int
    signature: int Curl_pgrsDone(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/progress.c:135,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/progress.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: Curl_pgrsResetTransferSizes
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 2
    functionsReached:
    - Curl_pgrsSetDownloadSize
    - Curl_pgrsSetUploadSize
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsResetTransferSizes(struct Curl_easy *data)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/progress.c:167,1
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/progress.c:203,1
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/progress.c:209,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - data
    - timer
    - timestamp
    argTypes:
    - struct Curl_easy*
    - timerid
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 214
    functionName: Curl_pgrsTimeWas
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 1
    functionsReached:
    - curlx_timediff_us
    linkageType: ''
    returnType: void
    signature: "void Curl_pgrsTimeWas(struct Curl_easy *data, timerid timer,\n                      struct
      curltime timestamp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/progress.c:225,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/curl/lib/progress.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - timer
    argTypes:
    - struct Curl_easy*
    - timerid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: Curl_pgrsTime
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 7
    functionsReached:
    - curlx_now
    - Curl_pgrsTimeWas
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime Curl_pgrsTime(struct Curl_easy *data, timerid timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/progress.c:235,1
    - Dst: Curl_ratelimit
      Src: /src/curl/lib/progress.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: Curl_pgrsStartNow
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 2
    functionsReached:
    - curlx_now
    - Curl_ratelimit
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsStartNow(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff_ceil
      Src: /src/curl/lib/progress.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - d
    - bytes_per_sec
    - now
    argTypes:
    - struct pgrs_dir*
    - curl_off_t
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 303
    functionName: Curl_pgrsLimitWaitTime
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - curlx_timediff_ceil
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_pgrsLimitWaitTime(struct pgrs_dir *d,\n                                  curl_off_t
      bytes_per_sec,\n                                  struct curltime now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: Curl_pgrsSetDownloadCounter
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_pgrsSetDownloadCounter(struct Curl_easy *data, curl_off_t
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff
      Src: /src/curl/lib/progress.c:321,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/progress.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - now
    argTypes:
    - struct Curl_easy*
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 334
    functionName: Curl_ratelimit
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 1
    functionsReached:
    - curlx_timediff
    linkageType: ''
    returnType: void
    signature: void Curl_ratelimit(struct Curl_easy *data, struct curltime now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: Curl_pgrsSetUploadCounter
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsSetUploadCounter(struct Curl_easy *data, curl_off_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: Curl_pgrsSetDownloadSize
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsSetDownloadSize(struct Curl_easy *data, curl_off_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: Curl_pgrsSetUploadSize
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsSetUploadSize(struct Curl_easy *data, curl_off_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sent
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: Curl_pgrsEarlyData
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsEarlyData(struct Curl_easy *data, curl_off_t sent)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - size
    - us
    argTypes:
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: trspeed
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: "curl_off_t trspeed(curl_off_t size, /* number of bytes */\n                          curl_off_t
      us)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/progress.c:394,1
    - Dst: trspeed
      Src: /src/curl/lib/progress.c:395,1
    - Dst: trspeed
      Src: /src/curl/lib/progress.c:396,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/progress.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - data
    - now
    argTypes:
    - struct Curl_easy*
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 457
    functionName: progress_calc
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - curlx_timediff_us
    - curlx_timediff
    - trspeed
    linkageType: ''
    returnType: bool
    signature: bool progress_calc(struct Curl_easy *data, struct curltime now)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - total
    - cur
    argTypes:
    - curl_off_t
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: pgrs_est_percent
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: curl_off_t
    signature: curl_off_t pgrs_est_percent(curl_off_t total, curl_off_t cur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pgrs_est_percent
      Src: /src/curl/lib/progress.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - d
    - total_known
    - est
    argTypes:
    - struct pgrs_dir*
    - bool
    - struct pgrs_estimate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: pgrs_estimates
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - pgrs_est_percent
    linkageType: ''
    returnType: void
    signature: "void pgrs_estimates(struct pgrs_dir *d,\n                           bool
      total_known,\n                           struct pgrs_estimate *est)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/progress.c:504,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/progress.c:508,1
    - Dst: pgrs_estimates
      Src: /src/curl/lib/progress.c:517,1
    - Dst: pgrs_estimates
      Src: /src/curl/lib/progress.c:518,1
    - Dst: CURLMAX
      Src: /src/curl/lib/progress.c:521,1
    - Dst: time2str
      Src: /src/curl/lib/progress.c:523,1
    - Dst: time2str
      Src: /src/curl/lib/progress.c:524,1
    - Dst: time2str
      Src: /src/curl/lib/progress.c:525,1
    - Dst: pgrs_est_percent
      Src: /src/curl/lib/progress.c:544,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/progress.c:546,1
    - Dst: max6data
      Src: /src/curl/lib/progress.c:552,1
    - Dst: max6data
      Src: /src/curl/lib/progress.c:554,1
    - Dst: max6data
      Src: /src/curl/lib/progress.c:556,1
    - Dst: max6data
      Src: /src/curl/lib/progress.c:557,1
    - Dst: max6data
      Src: /src/curl/lib/progress.c:558,1
    - Dst: max6data
      Src: /src/curl/lib/progress.c:562,1
    - Dst: fflush
      Src: /src/curl/lib/progress.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 487
    functionDepth: 7
    functionLinenumber: 487
    functionLinenumberEnd: 567
    functionName: progress_meter
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 2
    functionsReached:
    - fflush
    - time2str
    - max6data
    - curl_mfprintf
    - pgrs_estimates
    - pgrs_est_percent
    - CURLMAX
    linkageType: ''
    returnType: void
    signature: void progress_meter(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: progress_meter
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: progress_meter(x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/progress.c:584,1
    - Dst: struct Curl_easy*::set::fxferinfo
      Src: /src/curl/lib/progress.c:585,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/progress.c:590,1
    - Dst: failf
      Src: /src/curl/lib/progress.c:593,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/progress.c:600,1
    - Dst: struct Curl_easy*::set::fprogress
      Src: /src/curl/lib/progress.c:601,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/progress.c:606,1
    - Dst: failf
      Src: /src/curl/lib/progress.c:609,1
    - Dst: progress_meter
      Src: /src/curl/lib/progress.c:615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - data
    - showprogress
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 619
    functionName: pgrsupdate
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - failf
    - struct Curl_easy*::set::fprogress
    - progress_meter
    - struct Curl_easy*::set::fxferinfo
    - Curl_set_in_callback
    linkageType: ''
    returnType: int
    signature: int pgrsupdate(struct Curl_easy *data, bool showprogress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/progress.c:623,1
    - Dst: progress_calc
      Src: /src/curl/lib/progress.c:624,1
    - Dst: pgrsupdate
      Src: /src/curl/lib/progress.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: Curl_pgrsUpdate
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 7
    functionsReached:
    - pgrsupdate
    - curlx_now
    - progress_calc
    linkageType: ''
    returnType: int
    signature: int Curl_pgrsUpdate(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/progress.c:633,1
    - Dst: progress_calc
      Src: /src/curl/lib/progress.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: Curl_pgrsUpdate_nometer
    functionSourceFile: /src/curl/lib/progress.c
    functionUses: 0
    functionsReached:
    - curlx_now
    - progress_calc
    linkageType: ''
    returnType: void
    signature: void Curl_pgrsUpdate_nometer(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenLibrary
      Src: /src/curl/lib/amigaos.c:81,1
    - Dst: GetInterface
      Src: /src/curl/lib/amigaos.c:84,1
    - Dst: SocketBaseTags
      Src: /src/curl/lib/amigaos.c:88,1
    - Dst: SBTM_SETVAL
      Src: /src/curl/lib/amigaos.c:88,1
    - Dst: SBTM_GETREF
      Src: /src/curl/lib/amigaos.c:89,1
    - Dst: atexit
      Src: /src/curl/lib/amigaos.c:98,1
    - Dst: CloseLibrary
      Src: /src/curl/lib/amigaos.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: Curl_amiga_init
    functionSourceFile: /src/curl/lib/amigaos.c
    functionUses: 1
    functionsReached:
    - SBTM_SETVAL
    - atexit
    - GetInterface
    - OpenLibrary
    - SBTM_GETREF
    - CloseLibrary
    - SocketBaseTags
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_amiga_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DropInterface
      Src: /src/curl/lib/amigaos.c:112,1
    - Dst: CloseLibrary
      Src: /src/curl/lib/amigaos.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: Curl_amiga_cleanup
    functionSourceFile: /src/curl/lib/amigaos.c
    functionUses: 1
    functionsReached:
    - CloseLibrary
    - DropInterface
    linkageType: ''
    returnType: void
    signature: void Curl_amiga_cleanup(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/amigaos.c:138,1
    - Dst: gethostbyname_r
      Src: /src/curl/lib/amigaos.c:140,1
    - Dst: Curl_he2ai
      Src: /src/curl/lib/amigaos.c:145,1
    - Dst: free
      Src: /src/curl/lib/amigaos.c:147,1
    - Dst: OpenLibrary
      Src: /src/curl/lib/amigaos.c:155,1
    - Dst: GetInterface
      Src: /src/curl/lib/amigaos.c:157,1
    - Dst: gethostbyname
      Src: /src/curl/lib/amigaos.c:159,1
    - Dst: Curl_he2ai
      Src: /src/curl/lib/amigaos.c:161,1
    - Dst: DropInterface
      Src: /src/curl/lib/amigaos.c:163,1
    - Dst: CloseLibrary
      Src: /src/curl/lib/amigaos.c:165,1
    - Dst: gethostbyname
      Src: /src/curl/lib/amigaos.c:169,1
    - Dst: Curl_he2ai
      Src: /src/curl/lib/amigaos.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - hostname
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 177
    functionName: Curl_ipv4_resolve_r
    functionSourceFile: /src/curl/lib/amigaos.c
    functionUses: 0
    functionsReached:
    - gethostbyname
    - calloc
    - Curl_he2ai
    - GetInterface
    - OpenLibrary
    - DropInterface
    - gethostbyname_r
    - free
    - CloseLibrary
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_ipv4_resolve_r(const char *hostname,\n
      \                                         int port)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WaitSelect
      Src: /src/curl/lib/amigaos.c:185,1
    - Dst: raise
      Src: /src/curl/lib/amigaos.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - nfds
    - readfds
    - writefds
    - errorfds
    - timeout
    argTypes:
    - int
    - fd_set*
    - fd_set*
    - fd_set*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: Curl_amiga_select
    functionSourceFile: /src/curl/lib/amigaos.c
    functionUses: 0
    functionsReached:
    - raise
    - WaitSelect
    linkageType: ''
    returnType: int
    signature: "int Curl_amiga_select(int nfds, fd_set *readfds, fd_set *writefds,\n
      \                     fd_set *errorfds, struct timeval *timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: CURL_AMIGA_REQUEST
    functionSourceFile: /src/curl/lib/amigaos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_AMIGA_REQUEST(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: CURL_AMIGA_REQUEST
    functionSourceFile: /src/curl/lib/amigaos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_AMIGA_REQUEST(msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseLibrary
      Src: /src/curl/lib/amigaos.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: Curl_amiga_cleanup
    functionSourceFile: /src/curl/lib/amigaos.c
    functionUses: 1
    functionsReached:
    - CloseLibrary
    linkageType: ''
    returnType: void
    signature: void Curl_amiga_cleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenLibrary
      Src: /src/curl/lib/amigaos.c:218,1
    - Dst: CURL_AMIGA_REQUEST
      Src: /src/curl/lib/amigaos.c:221,1
    - Dst: SocketBaseTags
      Src: /src/curl/lib/amigaos.c:225,1
    - Dst: SBTM_SETVAL
      Src: /src/curl/lib/amigaos.c:225,1
    - Dst: SBTC_ERRNOPTR
      Src: /src/curl/lib/amigaos.c:225,1
    - Dst: SBTM_SETVAL
      Src: /src/curl/lib/amigaos.c:226,1
    - Dst: CURL_AMIGA_REQUEST
      Src: /src/curl/lib/amigaos.c:228,1
    - Dst: atexit
      Src: /src/curl/lib/amigaos.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: Curl_amiga_init
    functionSourceFile: /src/curl/lib/amigaos.c
    functionUses: 1
    functionsReached:
    - SBTM_SETVAL
    - atexit
    - OpenLibrary
    - CURL_AMIGA_REQUEST
    - SBTC_ERRNOPTR
    - SocketBaseTags
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_amiga_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: SIGPIPE_VARIABLE
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGPIPE_VARIABLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: SIGPIPE_MEMBER
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGPIPE_MEMBER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/sigpipe.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ig
    argTypes:
    - struct sigpipe_ignore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: sigpipe_init
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void sigpipe_init(struct sigpipe_ignore *ig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/curl/lib/sigpipe.h:60,1
    - Dst: sigaction
      Src: /src/curl/lib/sigpipe.h:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - ig
    argTypes:
    - struct Curl_easy*
    - struct sigpipe_ignore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: sigpipe_ignore
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 2
    functionsReached:
    - sigaction
    linkageType: ''
    returnType: void
    signature: "void sigpipe_ignore(struct Curl_easy *data,\n                           struct
      sigpipe_ignore *ig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/curl/lib/sigpipe.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ig
    argTypes:
    - struct sigpipe_ignore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sigpipe_restore
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 5
    functionsReached:
    - sigaction
    linkageType: ''
    returnType: void
    signature: void sigpipe_restore(struct sigpipe_ignore *ig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigpipe_restore
      Src: /src/curl/lib/sigpipe.h:84,1
    - Dst: sigpipe_ignore
      Src: /src/curl/lib/sigpipe.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - ig
    argTypes:
    - struct Curl_easy*
    - struct sigpipe_ignore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sigpipe_apply
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached:
    - sigpipe_restore
    - sigpipe_ignore
    linkageType: ''
    returnType: void
    signature: "void sigpipe_apply(struct Curl_easy *data,\n                          struct
      sigpipe_ignore *ig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: sigpipe_ignore
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigpipe_ignore(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: sigpipe_apply
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigpipe_apply(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: sigpipe_init
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigpipe_init(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: sigpipe_restore
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigpipe_restore(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: SIGPIPE_MEMBER
    functionSourceFile: /src/curl/lib/sigpipe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGPIPE_MEMBER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/curl_threads.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: curl_thread_create_thunk
    functionSourceFile: /src/curl/lib/curl_threads.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void *curl_thread_create_thunk(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/curl_threads.c:61,1
    - Dst: malloc
      Src: /src/curl/lib/curl_threads.c:62,1
    - Dst: pthread_create
      Src: /src/curl/lib/curl_threads.c:70,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curl_threads.c:72,1
    - Dst: free
      Src: /src/curl/lib/curl_threads.c:79,1
    - Dst: free
      Src: /src/curl/lib/curl_threads.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: Curl_thread_create
    functionSourceFile: /src/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - free
    - pthread_create
    - CURL_SETERRNO
    - malloc
    linkageType: ''
    returnType: curl_thread_t
    signature: "curl_thread_t Curl_thread_create(CURL_THREAD_RETURN_T\n                                 (CURL_STDCALL
      *func) (void *), void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_detach
      Src: /src/curl/lib/curl_threads.c:87,1
    - Dst: free
      Src: /src/curl/lib/curl_threads.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hnd
    argTypes:
    - curl_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: Curl_thread_destroy
    functionSourceFile: /src/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - free
    - pthread_detach
    linkageType: ''
    returnType: void
    signature: void Curl_thread_destroy(curl_thread_t *hnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/curl/lib/curl_threads.c:95,1
    - Dst: free
      Src: /src/curl/lib/curl_threads.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hnd
    argTypes:
    - curl_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: Curl_thread_join
    functionSourceFile: /src/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - free
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int Curl_thread_join(curl_thread_t *hnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/curl/lib/curl_threads.c:108,1
    - Dst: GetLastError
      Src: /src/curl/lib/curl_threads.c:110,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curl_threads.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: Curl_thread_create
    functionSourceFile: /src/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - CreateThread
    - CURL_SETERRNO
    - GetLastError
    linkageType: ''
    returnType: curl_thread_t
    signature: "curl_thread_t Curl_thread_create(CURL_THREAD_RETURN_T\n                                 (CURL_STDCALL
      *func) (void *), void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/curl/lib/curl_threads.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hnd
    argTypes:
    - curl_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: Curl_thread_destroy
    functionSourceFile: /src/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void Curl_thread_destroy(curl_thread_t *hnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/curl/lib/curl_threads.c:132,1
    - Dst: WaitForSingleObjectEx
      Src: /src/curl/lib/curl_threads.c:134,1
    - Dst: Curl_thread_destroy
      Src: /src/curl/lib/curl_threads.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hnd
    argTypes:
    - curl_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: Curl_thread_join
    functionSourceFile: /src/curl/lib/curl_threads.c
    functionUses: 1
    functionsReached:
    - WaitForSingleObject
    - WaitForSingleObjectEx
    - Curl_thread_destroy
    linkageType: ''
    returnType: int
    signature: int Curl_thread_join(curl_thread_t *hnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/uint-spbset.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Curl_uint_spbset_init
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_uint_spbset_init(struct uint_spbset *bset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-spbset.c:50,1
    - Dst: Curl_uint_spbset_clear
      Src: /src/curl/lib/uint-spbset.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Curl_uint_spbset_destroy
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - Curl_uint_spbset_clear
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_uint_spbset_destroy(struct uint_spbset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_POPCOUNT64
      Src: /src/curl/lib/uint-spbset.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: Curl_uint_spbset_count
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - CURL_POPCOUNT64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_spbset_count(struct uint_spbset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: Curl_uint_spbset_empty
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_spbset_empty(struct uint_spbset *bset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/uint-spbset.c:88,1
    - Dst: memset
      Src: /src/curl/lib/uint-spbset.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_spbset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: Curl_uint_spbset_clear
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 2
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST Curl_uint_spbset_clear(struct uint_spbset *bset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/uint-spbset.c:119,1
    - Dst: memcpy
      Src: /src/curl/lib/uint-spbset.c:128,1
    - Dst: memset
      Src: /src/curl/lib/uint-spbset.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - bset
    - i
    - grow
    argTypes:
    - struct uint_spbset*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 134
    functionName: uint_spbset_get_chunk
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - memset
    linkageType: ''
    returnType: struct uint_spbset_chunk
    signature: 'struct uint_spbset_chunk *

      uint_spbset_get_chunk(struct uint_spbset *bset, unsigned int i, bool grow)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint_spbset_get_chunk
      Src: /src/curl/lib/uint-spbset.c:142,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-spbset.c:146,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-spbset.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_spbset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: Curl_uint_spbset_add
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 2
    functionsReached:
    - uint_spbset_get_chunk
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_spbset_add(struct uint_spbset *bset, unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint_spbset_get_chunk
      Src: /src/curl/lib/uint-spbset.c:159,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-spbset.c:161,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-spbset.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_spbset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: Curl_uint_spbset_remove
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - uint_spbset_get_chunk
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_uint_spbset_remove(struct uint_spbset *bset, unsigned int
      i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint_spbset_get_chunk
      Src: /src/curl/lib/uint-spbset.c:174,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-spbset.c:176,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-spbset.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_spbset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: Curl_uint_spbset_contains
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 3
    functionsReached:
    - uint_spbset_get_chunk
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_spbset_contains(struct uint_spbset *bset, unsigned int
      i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/curl/lib/uint-spbset.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - bset
    - pfirst
    argTypes:
    - struct uint_spbset*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: Curl_uint_spbset_first
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 2
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_spbset_first(struct uint_spbset *bset, unsigned int
      *pfirst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/curl/lib/uint-spbset.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - chunk
    - pfirst
    argTypes:
    - struct uint_spbset_chunk*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: uint_spbset_chunk_first
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 0
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: "bool uint_spbset_chunk_first(struct uint_spbset_chunk *chunk,\n                                    unsigned
      int *pfirst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/curl/lib/uint-spbset.c:229,1
    - Dst: CURL_CTZ64
      Src: /src/curl/lib/uint-spbset.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - chunk
    - last
    - pnext
    argTypes:
    - struct uint_spbset_chunk*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 243
    functionName: uint_spbset_chunk_next
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 0
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: "bool uint_spbset_chunk_next(struct uint_spbset_chunk *chunk,\n                                   unsigned
      int last,\n                                   unsigned int *pnext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uint_spbset_chunk_next
      Src: /src/curl/lib/uint-spbset.c:262,1
    - Dst: uint_spbset_chunk_first
      Src: /src/curl/lib/uint-spbset.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - bset
    - last
    - pnext
    argTypes:
    - struct uint_spbset*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 275
    functionName: Curl_uint_spbset_next
    functionSourceFile: /src/curl/lib/uint-spbset.c
    functionUses: 2
    functionsReached:
    - uint_spbset_chunk_next
    - uint_spbset_chunk_first
    linkageType: ''
    returnType: bool
    signature: "bool Curl_uint_spbset_next(struct uint_spbset *bset, unsigned int
      last,\n                           unsigned int *pnext)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_spnego
      Src: /src/curl/lib/http_negotiate.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - neg_ctx
    - proxy
    argTypes:
    - struct connectdata*
    - struct negotiatedata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: http_auth_nego_reset
    functionSourceFile: /src/curl/lib/http_negotiate.c
    functionUses: 0
    functionsReached:
    - Curl_auth_cleanup_spnego
    linkageType: ''
    returnType: void
    signature: "void http_auth_nego_reset(struct connectdata *conn,\n                                 struct
      negotiatedata *neg_ctx,\n                                 bool proxy)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_nego_get
      Src: /src/curl/lib/http_negotiate.c:92,1
    - Dst: strlen
      Src: /src/curl/lib/http_negotiate.c:104,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http_negotiate.c:105,1
    - Dst: strlen
      Src: /src/curl/lib/http_negotiate.c:107,1
    - Dst: infof
      Src: /src/curl/lib/http_negotiate.c:111,1
    - Dst: http_auth_nego_reset
      Src: /src/curl/lib/http_negotiate.c:112,1
    - Dst: http_auth_nego_reset
      Src: /src/curl/lib/http_negotiate.c:117,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_negotiate.c:129,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/http_negotiate.c:130,1
    - Dst: Curl_ssl_get_channel_binding
      Src: /src/curl/lib/http_negotiate.c:131,1
    - Dst: http_auth_nego_reset
      Src: /src/curl/lib/http_negotiate.c:134,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http_negotiate.c:139,1
    - Dst: Curl_auth_decode_spnego_message
      Src: /src/curl/lib/http_negotiate.c:144,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http_negotiate.c:148,1
    - Dst: http_auth_nego_reset
      Src: /src/curl/lib/http_negotiate.c:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 4
    argNames:
    - data
    - conn
    - proxy
    - header
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 155
    functionName: Curl_input_negotiate
    functionSourceFile: /src/curl/lib/http_negotiate.c
    functionUses: 1
    functionsReached:
    - curlx_str_passblanks
    - strlen
    - Curl_auth_nego_get
    - Curl_conn_is_ssl
    - curlx_dyn_free
    - curlx_dyn_init
    - Curl_ssl_get_channel_binding
    - http_auth_nego_reset
    - infof
    - Curl_auth_decode_spnego_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_input_negotiate(struct Curl_easy *data, struct connectdata
      *conn,\n                              bool proxy, const char *header)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_nego_get
      Src: /src/curl/lib/http_negotiate.c:180,1
    - Dst: infof
      Src: /src/curl/lib/http_negotiate.c:201,1
    - Dst: http_auth_nego_reset
      Src: /src/curl/lib/http_negotiate.c:203,1
    - Dst: Curl_input_negotiate
      Src: /src/curl/lib/http_negotiate.c:206,1
    - Dst: Curl_auth_create_spnego_message
      Src: /src/curl/lib/http_negotiate.c:217,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_negotiate.c:221,1
    - Dst: free
      Src: /src/curl/lib/http_negotiate.c:226,1
    - Dst: free
      Src: /src/curl/lib/http_negotiate.c:231,1
    - Dst: free
      Src: /src/curl/lib/http_negotiate.c:235,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 3
    argNames:
    - data
    - conn
    - proxy
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 266
    functionName: Curl_output_negotiate
    functionSourceFile: /src/curl/lib/http_negotiate.c
    functionUses: 1
    functionsReached:
    - Curl_auth_nego_get
    - Curl_auth_create_spnego_message
    - free
    - Curl_input_negotiate
    - http_auth_nego_reset
    - infof
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_output_negotiate(struct Curl_easy *data,\n                               struct
      connectdata *conn, bool proxy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitSecurityInterfaceW
      Src: /src/curl/lib/curl_sspi.c:66,1
    - Dst: InitSecurityInterface
      Src: /src/curl/lib/curl_sspi.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: Curl_sspi_global_init
    functionSourceFile: /src/curl/lib/curl_sspi.c
    functionUses: 2
    functionsReached:
    - InitSecurityInterfaceW
    - InitSecurityInterface
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sspi_global_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: Curl_sspi_global_cleanup
    functionSourceFile: /src/curl/lib/curl_sspi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_sspi_global_cleanup(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEXT
      Src: /src/curl/lib/curl_sspi.c:116,1
    - Dst: memset
      Src: /src/curl/lib/curl_sspi.c:119,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/curl_sspi.c:121,1
    - Dst: _tcschr
      Src: /src/curl/lib/curl_sspi.c:125,1
    - Dst: TEXT
      Src: /src/curl/lib/curl_sspi.c:125,1
    - Dst: _tcschr
      Src: /src/curl/lib/curl_sspi.c:127,1
    - Dst: TEXT
      Src: /src/curl/lib/curl_sspi.c:127,1
    - Dst: TEXT
      Src: /src/curl/lib/curl_sspi.c:136,1
    - Dst: Curl_tcsdup
      Src: /src/curl/lib/curl_sspi.c:141,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/curl_sspi.c:143,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/curl_sspi.c:147,1
    - Dst: _tcslen
      Src: /src/curl/lib/curl_sspi.c:147,1
    - Dst: malloc
      Src: /src/curl/lib/curl_sspi.c:151,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/curl_sspi.c:153,1
    - Dst: _tcsncpy
      Src: /src/curl/lib/curl_sspi.c:156,1
    - Dst: TEXT
      Src: /src/curl/lib/curl_sspi.c:157,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/curl_sspi.c:159,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/curl_sspi.c:162,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/curl_sspi.c:165,1
    - Dst: Curl_tcsdup
      Src: /src/curl/lib/curl_sspi.c:168,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/curl_sspi.c:170,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/curl_sspi.c:174,1
    - Dst: _tcslen
      Src: /src/curl/lib/curl_sspi.c:174,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/curl_sspi.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 3
    argNames:
    - userp
    - passwdp
    - identity
    argTypes:
    - char*
    - char*
    - SEC_WINNT_AUTH_IDENTITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 188
    functionName: Curl_create_sspi_identity
    functionSourceFile: /src/curl/lib/curl_sspi.c
    functionUses: 0
    functionsReached:
    - malloc
    - _tcschr
    - _tcsncpy
    - TEXT
    - curlx_convert_UTF8_to_tchar
    - curlx_uztoul
    - _tcslen
    - memset
    - Curl_tcsdup
    - curlx_unicodefree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_create_sspi_identity(const char *userp, const char *passwdp,\n
      \                                  SEC_WINNT_AUTH_IDENTITY *identity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/curl_sspi.c:202,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/curl_sspi.c:203,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/curl_sspi.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - identity
    argTypes:
    - SEC_WINNT_AUTH_IDENTITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: Curl_sspi_free_identity
    functionSourceFile: /src/curl/lib/curl_sspi.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_sspi_free_identity(SEC_WINNT_AUTH_IDENTITY *identity)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/curl/lib/socks.c:140,1
    - Dst: SOCKET_READABLE
      Src: /src/curl/lib/socks.c:147,1
    - Dst: Curl_conn_cf_recv
      Src: /src/curl/lib/socks.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 166
    functionName: Curl_blockread_all
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 2
    functionsReached:
    - Curl_timeleft
    - Curl_conn_cf_recv
    - SOCKET_READABLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_blockread_all(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            char *buf,             /* store
      read data here */\n                            size_t blen,           /* space
      in buf */\n                            size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - c
    - ','
    - d
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: sxstate
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sxstate(x,c,d,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - c
    - ','
    - d
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: sxstate
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sxstate(x,c,d,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - sx
    - cf
    - data
    - state
    - lineno
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - enum socks_state_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 200
    functionName: socksstate
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void socksstate(struct socks_state *sx,\n                       struct
      Curl_cfilter *cf,\n                       struct Curl_easy *data,\n                       enum
      socks_state_t state\n#ifdef DEBUG_AND_VERBOSE\n                       , int
      lineno\n#endif\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - presult
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - CURLproxycode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: socks_failed
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - sxstate
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks_failed(struct socks_state *sx,\n                                  struct
      Curl_cfilter *cf,\n                                  struct Curl_easy *data,\n
      \                                 CURLproxycode presult)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/socks.c:221,1
    - Dst: Curl_cf_send_bufq
      Src: /src/curl/lib/socks.c:222,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:227,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/socks.c:228,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: socks_flush
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - failf
    - curl_easy_strerror
    - Curl_bufq_is_empty
    - socks_failed
    - Curl_cf_send_bufq
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks_flush(struct socks_state *sx,\n                                  struct
      Curl_cfilter *cf,\n                                  struct Curl_easy *data,\n
      \                                 bool *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/socks.c:246,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/curl/lib/socks.c:247,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/socks.c:248,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:253,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/socks.c:254,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/socks.c:258,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - sx
    - cf
    - data
    - min_bytes
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 268
    functionName: socks_recv
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_cf_recv_bufq
    - Curl_bufq_len
    - failf
    - curl_easy_strerror
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks_recv(struct socks_state *sx,\n                                struct
      Curl_cfilter *cf,\n                                struct Curl_easy *data,\n
      \                               size_t min_bytes,\n                                bool
      *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sx
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: socks4_req_add_hd
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_req_add_hd(struct socks_state *sx,\n                                       struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/socks.c:296,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:301,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/socks.c:305,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - sx
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 289
    functionDepth: 6
    functionLinenumber: 289
    functionLinenumberEnd: 318
    functionName: socks4_req_add_user
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - strlen
    - failf
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_req_add_user(struct socks_state *sx,\n                                         struct
      Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_resolv
      Src: /src/curl/lib/socks.c:335,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:338,1
    - Dst: Curl_resolv_check
      Src: /src/curl/lib/socks.c:347,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:353,1
    - Dst: Curl_printable_address
      Src: /src/curl/lib/socks.c:371,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:372,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:376,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/socks.c:380,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:385,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 320
    functionDepth: 5
    functionLinenumber: 320
    functionLinenumberEnd: 391
    functionName: socks4_resolving
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_resolv
    - failf
    - CURL_TRC_CF
    - Curl_bufq_write
    - Curl_resolv_check
    - Curl_printable_address
    - Curl_resolv_unlink
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_resolving(struct socks_state *sx,\n                                      struct
      Curl_cfilter *cf,\n                                      struct Curl_easy *data,\n
      \                                     bool *done)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/socks.c:400,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:401,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/socks.c:405,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:427,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:434,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/socks.c:435,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:438,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:445,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:453,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - sx
    - cf
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 468
    functionName: socks4_check_resp
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_bufq_skip
    - Curl_bufq_peek
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_check_resp(struct socks_state *sx,\n                                       struct
      Curl_cfilter *cf,\n                                       struct Curl_easy *data)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:494,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:495,1
    - Dst: Curl_bufq_reset
      Src: /src/curl/lib/socks.c:498,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:506,1
    - Dst: socks4_req_add_hd
      Src: /src/curl/lib/socks.c:521,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:523,1
    - Dst: strlen
      Src: /src/curl/lib/socks.c:530,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:533,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:534,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:536,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:538,1
    - Dst: socks4_req_add_user
      Src: /src/curl/lib/socks.c:539,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:541,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/socks.c:542,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:544,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:546,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:550,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:551,1
    - Dst: socks4_resolving
      Src: /src/curl/lib/socks.c:554,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:556,1
    - Dst: socks4_req_add_user
      Src: /src/curl/lib/socks.c:560,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:562,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:563,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:564,1
    - Dst: socks_flush
      Src: /src/curl/lib/socks.c:567,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:569,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:572,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:573,1
    - Dst: socks_recv
      Src: /src/curl/lib/socks.c:577,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:579,1
    - Dst: socks4_check_resp
      Src: /src/curl/lib/socks.c:582,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:584,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:585,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:586,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/socks.c:592,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/socks.c:596,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:597,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 3
    argNames:
    - cf
    - sx
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 481
    functionDepth: 7
    functionLinenumber: 481
    functionLinenumberEnd: 599
    functionName: socks4_connect
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - FALLTHROUGH
    - strlen
    - failf
    - CURL_TRC_CF
    - sxstate
    - socks_flush
    - socks4_check_resp
    - socks4_req_add_hd
    - Curl_bufq_write
    - socks_failed
    - socks_recv
    - socks4_req_add_user
    - Curl_bufq_reset
    - socks4_resolving
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks4_connect(struct Curl_cfilter *cf,\n                                    struct
      socks_state *sx,\n                                    struct Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/socks.c:613,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:614,1
    - Dst: infof
      Src: /src/curl/lib/socks.c:620,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:642,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - cf
    - sx
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 601
    functionDepth: 5
    functionLinenumber: 601
    functionLinenumberEnd: 646
    functionName: socks5_req0_init
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - infof
    - strlen
    - failf
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_req0_init(struct Curl_cfilter *cf,\n                                      struct
      socks_state *sx,\n                                      struct Curl_easy *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/socks.c:656,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:657,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:662,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/socks.c:667,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:672,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:676,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:679,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:685,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:688,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:691,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - sx
    - cf
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 648
    functionDepth: 4
    functionLinenumber: 648
    functionLinenumberEnd: 697
    functionName: socks5_check_resp0
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_peek
    - failf
    - Curl_bufq_skip
    - sxstate
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_check_resp0(struct socks_state *sx,\n                                        struct
      Curl_cfilter *cf,\n                                        struct Curl_easy
      *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/socks.c:709,1
    - Dst: strlen
      Src: /src/curl/lib/socks.c:710,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:713,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:717,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:731,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/socks.c:735,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:740,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/socks.c:744,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:748,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - cf
    - sx
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 699
    functionDepth: 6
    functionLinenumber: 699
    functionLinenumberEnd: 750
    functionName: socks5_auth_init
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - strlen
    - failf
    - sxstate
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_auth_init(struct Curl_cfilter *cf,\n                                      struct
      socks_state *sx,\n                                      struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/socks.c:761,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:762,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/socks.c:768,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - sx
    - cf
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 752
    functionDepth: 4
    functionLinenumber: 752
    functionLinenumberEnd: 776
    functionName: socks5_check_auth_resp
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_peek
    - failf
    - Curl_bufq_skip
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_check_auth_resp(struct socks_state *sx,\n                                            struct
      Curl_cfilter *cf,\n                                            struct Curl_easy
      *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:794,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/socks.c:806,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/socks.c:811,1
    - Dst: strlen
      Src: /src/curl/lib/socks.c:817,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:826,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:829,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:835,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:838,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - sx
    - cf
    - data
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 778
    functionDepth: 5
    functionLinenumber: 778
    functionLinenumberEnd: 841
    functionName: socks5_req1_init
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - curlx_inet_pton
    - Curl_bufq_write
    - strlen
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_req1_init(struct socks_state *sx,\n                                      struct
      Curl_cfilter *cf,\n                                      struct Curl_easy *data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_resolv
      Src: /src/curl/lib/socks.c:863,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:866,1
    - Dst: Curl_resolv_check
      Src: /src/curl/lib/socks.c:875,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:881,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:899,1
    - Dst: Curl_printable_address
      Src: /src/curl/lib/socks.c:905,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:913,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:923,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:929,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:935,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:940,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/socks.c:948,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/socks.c:956,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 843
    functionDepth: 5
    functionLinenumber: 843
    functionLinenumberEnd: 959
    functionName: socks5_resolving
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_resolv
    - failf
    - CURL_TRC_CF
    - Curl_bufq_write
    - Curl_resolv_check
    - Curl_printable_address
    - Curl_resolv_unlink
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_resolving(struct socks_state *sx,\n                                      struct
      Curl_cfilter *cf,\n                                      struct Curl_easy *data,\n
      \                                     bool *done)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: socks_recv
      Src: /src/curl/lib/socks.c:970,1
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/socks.c:976,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:977,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:997,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:1003,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:1035,1
    - Dst: socks_recv
      Src: /src/curl/lib/socks.c:1040,1
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/socks.c:1046,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:1047,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 4
    argNames:
    - sx
    - cf
    - data
    - done
    argTypes:
    - struct socks_state*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 961
    functionDepth: 4
    functionLinenumber: 961
    functionLinenumberEnd: 1053
    functionName: socks5_recv_resp1
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - socks_recv
    - Curl_bufq_peek
    - failf
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_recv_resp1(struct socks_state *sx,\n                                       struct
      Curl_cfilter *cf,\n                                       struct Curl_easy *data,\n
      \                                      bool *done)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1071,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1072,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:1076,1
    - Dst: socks5_req0_init
      Src: /src/curl/lib/socks.c:1078,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1080,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1081,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1082,1
    - Dst: socks_flush
      Src: /src/curl/lib/socks.c:1085,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1087,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1091,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1092,1
    - Dst: socks_recv
      Src: /src/curl/lib/socks.c:1095,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1097,1
    - Dst: socks5_check_resp0
      Src: /src/curl/lib/socks.c:1100,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1102,1
    - Dst: Curl_SOCKS5_gssapi_negotiate
      Src: /src/curl/lib/socks.c:1109,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:1111,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1114,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:1117,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1119,1
    - Dst: socks5_auth_init
      Src: /src/curl/lib/socks.c:1124,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1126,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1127,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1128,1
    - Dst: socks_flush
      Src: /src/curl/lib/socks.c:1131,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1133,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1136,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1137,1
    - Dst: socks_recv
      Src: /src/curl/lib/socks.c:1140,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1142,1
    - Dst: socks5_check_auth_resp
      Src: /src/curl/lib/socks.c:1145,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1147,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1149,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1150,1
    - Dst: socks5_req1_init
      Src: /src/curl/lib/socks.c:1153,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1155,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1158,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1162,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1163,1
    - Dst: socks5_resolving
      Src: /src/curl/lib/socks.c:1166,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1168,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1171,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1172,1
    - Dst: socks_flush
      Src: /src/curl/lib/socks.c:1175,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1177,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:1182,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1186,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1187,1
    - Dst: socks5_recv_resp1
      Src: /src/curl/lib/socks.c:1190,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1192,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:1195,1
    - Dst: sxstate
      Src: /src/curl/lib/socks.c:1196,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/socks.c:1197,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/socks.c:1203,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/socks.c:1207,1
    - Dst: socks_failed
      Src: /src/curl/lib/socks.c:1208,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 122
    argCount: 3
    argNames:
    - cf
    - sx
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct socks_state*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1059
    functionDepth: 7
    functionLinenumber: 1059
    functionLinenumberEnd: 1210
    functionName: socks5_connect
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - socks5_req1_init
    - FALLTHROUGH
    - socks5_check_resp0
    - socks5_resolving
    - failf
    - CURL_TRC_CF
    - sxstate
    - socks5_req0_init
    - socks_flush
    - Curl_SOCKS5_gssapi_negotiate
    - socks_failed
    - socks_recv
    - socks5_recv_resp1
    - socks5_auth_init
    - DEBUGASSERT
    - socks5_check_auth_resp
    linkageType: ''
    returnType: CURLproxycode
    signature: "CURLproxycode socks5_connect(struct Curl_cfilter *cf,\n                                    struct
      socks_state *sx,\n                                    struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/socks.c:1216,1
    - Dst: free
      Src: /src/curl/lib/socks.c:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1220
    functionName: socks_proxy_cf_free
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void socks_proxy_cf_free(struct Curl_cfilter *cf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/curl/lib/socks.c:1244,1
    - Dst: calloc
      Src: /src/curl/lib/socks.c:1249,1
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/socks.c:1270,1
    - Dst: socks5_connect
      Src: /src/curl/lib/socks.c:1277,1
    - Dst: socks4_connect
      Src: /src/curl/lib/socks.c:1282,1
    - Dst: failf
      Src: /src/curl/lib/socks.c:1286,1
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/socks.c:1300,1
    - Dst: Curl_conn_cf_get_ip_info
      Src: /src/curl/lib/socks.c:1303,1
    - Dst: infof
      Src: /src/curl/lib/socks.c:1304,1
    - Dst: infof
      Src: /src/curl/lib/socks.c:1311,1
    - Dst: socks_proxy_cf_free
      Src: /src/curl/lib/socks.c:1315,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1229
    functionDepth: 8
    functionLinenumber: 1229
    functionLinenumberEnd: 1321
    functionName: socks_proxy_cf_connect
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_ip_info
    - calloc
    - failf
    - Curl_bufq_init2
    - Curl_trc_is_verbose
    - struct Curl_cfilter*::next::cft::do_connect
    - socks4_connect
    - socks_proxy_cf_free
    - infof
    - socks5_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socks_proxy_cf_connect(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       bool *done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/socks.c:1333,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:1339,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/curl/lib/socks.c:1340,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/socks.c:1343,1
    - Dst: Curl_pollset_set_in_only
      Src: /src/curl/lib/socks.c:1344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1349
    functionName: socks_cf_adjust_pollset
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    - Curl_pollset_set_in_only
    - CURL_TRC_CF
    - Curl_pollset_set_out_only
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socks_cf_adjust_pollset(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        struct easy_pollset
      *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/socks.c:1355,1
    - Dst: socks_proxy_cf_free
      Src: /src/curl/lib/socks.c:1357,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/socks.c:1358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1351
    functionDepth: 3
    functionLinenumber: 1351
    functionLinenumberEnd: 1359
    functionName: socks_proxy_cf_close
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - struct Curl_cfilter*::next::cft::do_close
    - socks_proxy_cf_free
    linkageType: ''
    returnType: void
    signature: "void socks_proxy_cf_close(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socks_proxy_cf_free
      Src: /src/curl/lib/socks.c:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1361
    functionDepth: 3
    functionLinenumber: 1361
    functionLinenumberEnd: 1366
    functionName: socks_proxy_cf_destroy
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - socks_proxy_cf_free
    linkageType: ''
    returnType: void
    signature: "void socks_proxy_cf_destroy(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/socks.c:1384,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/socks.c:1392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1394
    functionName: socks_cf_query
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - struct Curl_cfilter*::next::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode socks_cf_query(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               int query, int *pres1, void
      *pres2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cf_create
      Src: /src/curl/lib/socks.c:1421,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/socks.c:1423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1414
    functionDepth: 2
    functionLinenumber: 1414
    functionLinenumberEnd: 1425
    functionName: Curl_cf_socks_proxy_insert_after
    functionSourceFile: /src/curl/lib/socks.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_socks_proxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                         struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: SOCKET_READABLE
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET_READABLE(x,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: SOCKET_WRITABLE
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKET_WRITABLE(x,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: VALID_SOCK
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SOCK(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: FDSET_SOCK
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FDSET_SOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: VERIFY_SOCK
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_SOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: VALID_SOCK
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SOCK(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: FDSET_SOCK
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FDSET_SOCK(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: VERIFY_SOCK
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_SOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: Curl_pollset_add_in
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_add_in(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Curl_pollset_add_out
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_add_out(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: Curl_pollset_add_inout
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_add_inout(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: Curl_pollset_set_in_only
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_set_in_only(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - ps
    - ','
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: Curl_pollset_set_out_only
    functionSourceFile: /src/curl/lib/select.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_pollset_set_out_only(data, ps, sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CURL_TELOPT
    functionSourceFile: /src/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELOPT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CURL_TELOPT
    functionSourceFile: /src/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELOPT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: CURL_TELOPT_OK
    functionSourceFile: /src/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELOPT_OK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: CURL_TELCMD_OK
    functionSourceFile: /src/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELCMD_OK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: CURL_TELCMD
    functionSourceFile: /src/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELCMD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: CURL_TELCMD
    functionSourceFile: /src/curl/lib/arpa_telnet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_TELCMD(x)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ISLOWER
      Src: /src/curl/lib/curl_fnmatch.c:87,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:104,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:106,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:108,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:110,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:112,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:114,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:116,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:118,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:120,1
    - Dst: strcmp
      Src: /src/curl/lib/curl_fnmatch.c:122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - pattern
    - charset
    argTypes:
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 127
    functionName: parsekeyword
    functionSourceFile: /src/curl/lib/curl_fnmatch.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ISLOWER
    linkageType: ''
    returnType: int
    signature: int parsekeyword(const unsigned char **pattern, unsigned char *charset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISUPPER
      Src: /src/curl/lib/curl_fnmatch.c:132,1
    - Dst: ISLOWER
      Src: /src/curl/lib/curl_fnmatch.c:134,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/curl_fnmatch.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: charclass
    functionSourceFile: /src/curl/lib/curl_fnmatch.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - ISLOWER
    - ISUPPER
    linkageType: ''
    returnType: char_class
    signature: char_class charclass(unsigned char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/curl/lib/curl_fnmatch.c:148,1
    - Dst: charclass
      Src: /src/curl/lib/curl_fnmatch.c:149,1
    - Dst: charclass
      Src: /src/curl/lib/curl_fnmatch.c:154,1
    - Dst: charclass
      Src: /src/curl/lib/curl_fnmatch.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pp
    - charset
    argTypes:
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: setcharorrange
    functionSourceFile: /src/curl/lib/curl_fnmatch.c
    functionUses: 0
    functionsReached:
    - charclass
    - ISALNUM
    linkageType: ''
    returnType: void
    signature: void setcharorrange(const unsigned char **pp, unsigned char *charset)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/curl_fnmatch.c:170,1
    - Dst: parsekeyword
      Src: /src/curl/lib/curl_fnmatch.c:189,1
    - Dst: setcharorrange
      Src: /src/curl/lib/curl_fnmatch.c:213,1
    - Dst: setcharorrange
      Src: /src/curl/lib/curl_fnmatch.c:219,1
    - Dst: ISPRINT
      Src: /src/curl/lib/curl_fnmatch.c:232,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 2
    argNames:
    - p
    - charset
    argTypes:
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 254
    functionName: setcharset
    functionSourceFile: /src/curl/lib/curl_fnmatch.c
    functionUses: 0
    functionsReached:
    - setcharorrange
    - ISPRINT
    - parsekeyword
    - memset
    linkageType: ''
    returnType: int
    signature: int setcharset(const unsigned char **p, unsigned char *charset)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: loop
      Src: /src/curl/lib/curl_fnmatch.c:284,1
    - Dst: setcharset
      Src: /src/curl/lib/curl_fnmatch.c:304,1
    - Dst: ISALNUM
      Src: /src/curl/lib/curl_fnmatch.c:311,1
    - Dst: ISALPHA
      Src: /src/curl/lib/curl_fnmatch.c:313,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/curl_fnmatch.c:315,1
    - Dst: ISXDIGIT
      Src: /src/curl/lib/curl_fnmatch.c:317,1
    - Dst: ISPRINT
      Src: /src/curl/lib/curl_fnmatch.c:319,1
    - Dst: ISBLANK
      Src: /src/curl/lib/curl_fnmatch.c:321,1
    - Dst: ISUPPER
      Src: /src/curl/lib/curl_fnmatch.c:323,1
    - Dst: ISLOWER
      Src: /src/curl/lib/curl_fnmatch.c:325,1
    - Dst: ISBLANK
      Src: /src/curl/lib/curl_fnmatch.c:327,1
    - Dst: ISGRAPH
      Src: /src/curl/lib/curl_fnmatch.c:329,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 77
    argCount: 3
    argNames:
    - pattern
    - string
    - maxstars
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 349
    functionName: loop
    functionSourceFile: /src/curl/lib/curl_fnmatch.c
    functionUses: 5
    functionsReached:
    - ISALNUM
    - ISGRAPH
    - ISBLANK
    - loop
    - ISPRINT
    - ISLOWER
    - ISUPPER
    - setcharset
    - ISXDIGIT
    - ISDIGIT
    - ISALPHA
    linkageType: ''
    returnType: int
    signature: "int loop(const unsigned char *pattern, const unsigned char *string,\n
      \               int maxstars)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: loop
      Src: /src/curl/lib/curl_fnmatch.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - pattern
    - string
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: Curl_fnmatch
    functionSourceFile: /src/curl/lib/curl_fnmatch.c
    functionUses: 2
    functionsReached:
    - loop
    linkageType: ''
    returnType: int
    signature: int Curl_fnmatch(void *ptr, const char *pattern, const char *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fnmatch
      Src: /src/curl/lib/curl_fnmatch.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ptr
    - pattern
    - string
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 386
    functionName: Curl_fnmatch
    functionSourceFile: /src/curl/lib/curl_fnmatch.c
    functionUses: 2
    functionsReached:
    - fnmatch
    linkageType: ''
    returnType: int
    signature: int Curl_fnmatch(void *ptr, const char *pattern, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: Curl_headers_init
    functionSourceFile: /src/curl/lib/headers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_headers_init(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: Curl_headers_push
    functionSourceFile: /src/curl/lib/headers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_headers_push(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: Curl_headers_cleanup
    functionSourceFile: /src/curl/lib/headers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_headers_cleanup(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: wakeup_create
    functionSourceFile: /src/curl/lib/socketpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wakeup_create(p,nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: wakeup_create
    functionSourceFile: /src/curl/lib/socketpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wakeup_create(p,nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: wakeup_create
    functionSourceFile: /src/curl/lib/socketpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wakeup_create(p,nb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/share.c:44,1
    - Dst: Curl_dnscache_init
      Src: /src/curl/lib/share.c:48,1
    - Dst: curl_easy_init
      Src: /src/curl/lib/share.c:49,1
    - Dst: free
      Src: /src/curl/lib/share.c:51,1
    - Dst: getenv
      Src: /src/curl/lib/share.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: curl_share_init
    functionSourceFile: /src/curl/lib/share.c
    functionUses: 12
    functionsReached:
    - calloc
    - getenv
    - free
    - curl_easy_init
    - Curl_dnscache_init
    linkageType: ''
    returnType: CURLSH
    signature: 'CURLSH *

      curl_share_init(void)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SHARE_HANDLE
      Src: /src/curl/lib/share.c:78,1
    - Dst: va_start
      Src: /src/curl/lib/share.c:86,1
    - Dst: va_arg
      Src: /src/curl/lib/share.c:91,1
    - Dst: Curl_cookie_init
      Src: /src/curl/lib/share.c:100,1
    - Dst: Curl_hsts_init
      Src: /src/curl/lib/share.c:112,1
    - Dst: Curl_ssl_scache_create
      Src: /src/curl/lib/share.c:129,1
    - Dst: Curl_cpool_init
      Src: /src/curl/lib/share.c:140,1
    - Dst: va_arg
      Src: /src/curl/lib/share.c:159,1
    - Dst: Curl_cookie_cleanup
      Src: /src/curl/lib/share.c:168,1
    - Dst: Curl_hsts_cleanup
      Src: /src/curl/lib/share.c:179,1
    - Dst: Curl_ssl_scache_destroy
      Src: /src/curl/lib/share.c:189,1
    - Dst: va_arg
      Src: /src/curl/lib/share.c:207,1
    - Dst: va_arg
      Src: /src/curl/lib/share.c:212,1
    - Dst: va_arg
      Src: /src/curl/lib/share.c:217,1
    - Dst: va_end
      Src: /src/curl/lib/share.c:226,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 100
    argCount: 2
    argNames:
    - sh
    - option
    argTypes:
    - CURLSH*
    - CURLSHoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 229
    functionName: curl_share_setopt
    functionSourceFile: /src/curl/lib/share.c
    functionUses: 12
    functionsReached:
    - Curl_cookie_init
    - va_start
    - Curl_cpool_init
    - GOOD_SHARE_HANDLE
    - Curl_cookie_cleanup
    - Curl_hsts_init
    - Curl_ssl_scache_create
    - va_end
    - Curl_ssl_scache_destroy
    - Curl_hsts_cleanup
    - va_arg
    linkageType: ''
    returnType: CURLSHcode
    signature: CURLSHcode curl_share_setopt(CURLSH *sh, CURLSHoption option, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SHARE_HANDLE
      Src: /src/curl/lib/share.c:235,1
    - Dst: struct Curl_share*::lockfunc
      Src: /src/curl/lib/share.c:239,1
    - Dst: struct Curl_share*::unlockfunc
      Src: /src/curl/lib/share.c:244,1
    - Dst: Curl_cpool_destroy
      Src: /src/curl/lib/share.c:249,1
    - Dst: Curl_dnscache_destroy
      Src: /src/curl/lib/share.c:252,1
    - Dst: Curl_cookie_cleanup
      Src: /src/curl/lib/share.c:255,1
    - Dst: Curl_hsts_cleanup
      Src: /src/curl/lib/share.c:259,1
    - Dst: Curl_ssl_scache_destroy
      Src: /src/curl/lib/share.c:264,1
    - Dst: Curl_psl_destroy
      Src: /src/curl/lib/share.c:269,1
    - Dst: Curl_close
      Src: /src/curl/lib/share.c:270,1
    - Dst: struct Curl_share*::unlockfunc
      Src: /src/curl/lib/share.c:273,1
    - Dst: free
      Src: /src/curl/lib/share.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - sh
    argTypes:
    - CURLSH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 278
    functionName: curl_share_cleanup
    functionSourceFile: /src/curl/lib/share.c
    functionUses: 12
    functionsReached:
    - Curl_ssl_scache_destroy
    - Curl_dnscache_destroy
    - GOOD_SHARE_HANDLE
    - struct Curl_share*::unlockfunc
    - Curl_psl_destroy
    - Curl_cookie_cleanup
    - free
    - Curl_close
    - struct Curl_share*::lockfunc
    - Curl_cpool_destroy
    - Curl_hsts_cleanup
    linkageType: ''
    returnType: CURLSHcode
    signature: CURLSHcode curl_share_cleanup(CURLSH *sh)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_share*::lockfunc
      Src: /src/curl/lib/share.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - type
    - accesstype
    argTypes:
    - struct Curl_easy*
    - curl_lock_data
    - curl_lock_access
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: Curl_share_lock
    functionSourceFile: /src/curl/lib/share.c
    functionUses: 7
    functionsReached:
    - struct Curl_share*::lockfunc
    linkageType: ''
    returnType: CURLSHcode
    signature: "CURLSHcode Curl_share_lock(struct Curl_easy *data, curl_lock_data
      type,\n                curl_lock_access accesstype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_share*::unlockfunc
      Src: /src/curl/lib/share.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - type
    argTypes:
    - struct Curl_easy*
    - curl_lock_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: Curl_share_unlock
    functionSourceFile: /src/curl/lib/share.c
    functionUses: 8
    functionsReached:
    - struct Curl_share*::unlockfunc
    linkageType: ''
    returnType: CURLSHcode
    signature: CURLSHcode Curl_share_unlock(struct Curl_easy *data, curl_lock_data
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_close
      Src: /src/curl/lib/cf-https-connect.c:67,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/cf-https-connect.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - b
    - data
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: cf_hc_baller_reset
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - Curl_conn_cf_close
    linkageType: ''
    returnType: void
    signature: "void cf_hc_baller_reset(struct cf_hc_baller *b,\n                               struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct cf_hc_baller*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: cf_hc_baller_is_active
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_hc_baller_is_active(struct cf_hc_baller *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct cf_hc_baller*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: cf_hc_baller_has_started
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_hc_baller_has_started(struct cf_hc_baller *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_hc_baller*::cf::cft::query
      Src: /src/curl/lib/cf-https-connect.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - b
    - data
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: cf_hc_baller_reply_ms
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - struct cf_hc_baller*::cf::cft::query
    linkageType: ''
    returnType: int
    signature: "int cf_hc_baller_reply_ms(struct cf_hc_baller *b,\n                                 struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_hc_baller*::cf::cft::has_data_pending
      Src: /src/curl/lib/cf-https-connect.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - data
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: cf_hc_baller_data_pending
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - struct cf_hc_baller*::cf::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_hc_baller_data_pending(struct cf_hc_baller *b,\n                                      const
      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_needs_flush
      Src: /src/curl/lib/cf-https-connect.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - b
    - data
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: cf_hc_baller_needs_flush
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_needs_flush
    linkageType: ''
    returnType: bool
    signature: "bool cf_hc_baller_needs_flush(struct cf_hc_baller *b,\n                                     struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_cntrl
      Src: /src/curl/lib/cf-https-connect.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - b
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: cf_hc_baller_cntrl
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_cntrl
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_baller_cntrl(struct cf_hc_baller *b,\n                                   struct
      Curl_easy *data,\n                                   int event, int arg1, void
      *arg2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - b
    - alpn_id
    - def_transport
    argTypes:
    - struct cf_hc_baller*
    - enum alpnid
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: cf_hc_baller_assign
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cf_hc_baller_assign(struct cf_hc_baller *b,\n                                enum
      alpnid alpn_id,\n                                unsigned char def_transport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/cf-https-connect.c:156,1
    - Dst: Curl_cf_setup_insert_after
      Src: /src/curl/lib/cf-https-connect.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - b
    - cf
    - data
    - transport
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: cf_hc_baller_init
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_cf_setup_insert_after
    - curlx_now
    linkageType: ''
    returnType: void
    signature: "void cf_hc_baller_init(struct cf_hc_baller *b,\n                              struct
      Curl_cfilter *cf,\n                              struct Curl_easy *data,\n                              int
      transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/cf-https-connect.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - b
    - cf
    - data
    - done
    argTypes:
    - struct cf_hc_baller*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: cf_hc_baller_connect
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_baller_connect(struct cf_hc_baller *b,\n                                     struct
      Curl_cfilter *cf,\n                                     struct Curl_easy *data,\n
      \                                    bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_hc_baller_reset
      Src: /src/curl/lib/cf-https-connect.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: cf_hc_reset
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_reset
    linkageType: ''
    returnType: void
    signature: void cf_hc_reset(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-https-connect.c:210,1
    - Dst: cf_hc_baller_reset
      Src: /src/curl/lib/cf-https-connect.c:213,1
    - Dst: cf_hc_baller_reply_ms
      Src: /src/curl/lib/cf-https-connect.c:215,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:217,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-https-connect.c:218,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-https-connect.c:218,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:221,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-https-connect.c:222,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-https-connect.c:222,1
    - Dst: Curl_conn_cf_get_alpn_negotiated
      Src: /src/curl/lib/cf-https-connect.c:233,1
    - Dst: strcmp
      Src: /src/curl/lib/cf-https-connect.c:234,1
    - Dst: Curl_http2_switch_at
      Src: /src/curl/lib/cf-https-connect.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - cf
    - data
    - winner
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_hc_baller*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 248
    functionName: baller_connected
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - cf_hc_baller_reset
    - curlx_now
    - Curl_conn_cf_get_alpn_negotiated
    - curlx_timediff
    - strcmp
    - cf_hc_baller_reply_ms
    - DEBUGASSERT
    - Curl_http2_switch_at
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode baller_connected(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct cf_hc_baller *winner)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cf_hc_baller_has_started
      Src: /src/curl/lib/cf-https-connect.c:261,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:268,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-https-connect.c:272,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:274,1
    - Dst: cf_hc_baller_reply_ms
      Src: /src/curl/lib/cf-https-connect.c:281,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:282,1
    - Dst: Curl_expire
      Src: /src/curl/lib/cf-https-connect.c:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - cf
    - data
    - idx
    - now
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 293
    functionName: time_to_start_next
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - CURL_TRC_CF
    - curlx_timediff
    - cf_hc_baller_reply_ms
    - cf_hc_baller_has_started
    linkageType: ''
    returnType: bool
    signature: "bool time_to_start_next(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               size_t idx, struct curltime
      now)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/cf-https-connect.c:310,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-https-connect.c:313,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-https-connect.c:315,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:316,1
    - Dst: cf_hc_baller_init
      Src: /src/curl/lib/cf-https-connect.c:318,1
    - Dst: Curl_expire
      Src: /src/curl/lib/cf-https-connect.c:320,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:321,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-https-connect.c:325,1
    - Dst: cf_hc_baller_is_active
      Src: /src/curl/lib/cf-https-connect.c:328,1
    - Dst: cf_hc_baller_connect
      Src: /src/curl/lib/cf-https-connect.c:329,1
    - Dst: baller_connected
      Src: /src/curl/lib/cf-https-connect.c:331,1
    - Dst: time_to_start_next
      Src: /src/curl/lib/cf-https-connect.c:336,1
    - Dst: cf_hc_baller_init
      Src: /src/curl/lib/cf-https-connect.c:337,1
    - Dst: cf_hc_baller_is_active
      Src: /src/curl/lib/cf-https-connect.c:340,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:341,1
    - Dst: cf_hc_baller_connect
      Src: /src/curl/lib/cf-https-connect.c:342,1
    - Dst: baller_connected
      Src: /src/curl/lib/cf-https-connect.c:344,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:357,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:385,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 387
    functionName: cf_hc_connect
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - FALLTHROUGH
    - CURL_TRC_CF
    - cf_hc_baller_is_active
    - cf_hc_baller_connect
    - curlx_now
    - baller_connected
    - time_to_start_next
    - DEBUGASSERT
    - cf_hc_baller_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_connect(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool *done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-https-connect.c:396,1
    - Dst: cf_hc_baller_is_active
      Src: /src/curl/lib/cf-https-connect.c:407,1
    - Dst: struct cf_hc_baller*::cf::cft::do_shutdown
      Src: /src/curl/lib/cf-https-connect.c:409,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:425,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 427
    functionName: cf_hc_shutdown
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - struct cf_hc_baller*::cf::cft::do_shutdown
    - DEBUGASSERT
    - CURL_TRC_CF
    - cf_hc_baller_is_active
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_shutdown(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data, bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_hc_baller_is_active
      Src: /src/curl/lib/cf-https-connect.c:440,1
    - Dst: Curl_conn_cf_adjust_pollset
      Src: /src/curl/lib/cf-https-connect.c:442,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 447
    functionName: cf_hc_adjust_pollset
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_adjust_pollset
    - CURL_TRC_CF
    - cf_hc_baller_is_active
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_adjust_pollset(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/curl/lib/cf-https-connect.c:456,1
    - Dst: cf_hc_baller_data_pending
      Src: /src/curl/lib/cf-https-connect.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 462
    functionName: cf_hc_data_pending
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_data_pending
    - struct Curl_cfilter*::next::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_hc_data_pending(struct Curl_cfilter *cf,\n                               const
      struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/cf-https-connect.c:472,1
    - Dst: memset
      Src: /src/curl/lib/cf-https-connect.c:475,1
    - Dst: struct Curl_cfilter*::cft::query
      Src: /src/curl/lib/cf-https-connect.c:476,1
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/cf-https-connect.c:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - query
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 482
    functionName: cf_get_max_baller_time
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - curlx_timediff_us
    - struct Curl_cfilter*::cft::query
    - memset
    linkageType: ''
    returnType: struct curltime
    signature: "struct curltime cf_get_max_baller_time(struct Curl_cfilter *cf,\n
      \                                             struct Curl_easy *data,\n                                              int
      query)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cf_get_max_baller_time
      Src: /src/curl/lib/cf-https-connect.c:495,1
    - Dst: cf_get_max_baller_time
      Src: /src/curl/lib/cf-https-connect.c:500,1
    - Dst: cf_hc_baller_needs_flush
      Src: /src/curl/lib/cf-https-connect.c:505,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/cf-https-connect.c:516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 518
    functionName: cf_hc_query
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_needs_flush
    - cf_get_max_baller_time
    - struct Curl_cfilter*::next::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_query(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            int query, int *pres1, void *pres2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_hc_baller_cntrl
      Src: /src/curl/lib/cf-https-connect.c:530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 538
    functionName: cf_hc_cntrl
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_baller_cntrl
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_cntrl(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            int event, int arg1, void *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:542,1
    - Dst: cf_hc_reset
      Src: /src/curl/lib/cf-https-connect.c:543,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/cf-https-connect.c:547,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/cf-https-connect.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: cf_hc_close
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - cf_hc_reset
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: void cf_hc_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:557,1
    - Dst: cf_hc_reset
      Src: /src/curl/lib/cf-https-connect.c:558,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-https-connect.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 560
    functionName: cf_hc_destroy
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - cf_hc_reset
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: void cf_hc_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-https-connect.c:590,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-https-connect.c:591,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-https-connect.c:592,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-https-connect.c:592,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-https-connect.c:593,1
    - Dst: failf
      Src: /src/curl/lib/cf-https-connect.c:594,1
    - Dst: calloc
      Src: /src/curl/lib/cf-https-connect.c:599,1
    - Dst: cf_hc_baller_assign
      Src: /src/curl/lib/cf-https-connect.c:605,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-https-connect.c:606,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/cf-https-connect.c:610,1
    - Dst: cf_hc_reset
      Src: /src/curl/lib/cf-https-connect.c:614,1
    - Dst: free
      Src: /src/curl/lib/cf-https-connect.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - pcf
    - data
    - alpnids
    - alpn_count
    - def_transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - enum alpnid*
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 580
    functionDepth: 3
    functionLinenumber: 580
    functionLinenumberEnd: 620
    functionName: cf_hc_create
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - calloc
    - failf
    - Curl_cf_create
    - free
    - cf_hc_baller_assign
    - cf_hc_reset
    - CURL_ARRAYSIZE
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_hc_create(struct Curl_cfilter **pcf,\n                             struct
      Curl_easy *data,\n                             enum alpnid *alpnids, size_t
      alpn_count,\n                             unsigned char def_transport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-https-connect.c:631,1
    - Dst: cf_hc_create
      Src: /src/curl/lib/cf-https-connect.c:632,1
    - Dst: Curl_conn_cf_add
      Src: /src/curl/lib/cf-https-connect.c:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - data
    - conn
    - sockindex
    - alpn_ids
    - alpn_count
    - def_transport
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - enum alpnid*
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 622
    functionDepth: 4
    functionLinenumber: 622
    functionLinenumberEnd: 638
    functionName: cf_http_connect_add
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - cf_hc_create
    - Curl_conn_cf_add
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_http_connect_add(struct Curl_easy *data,\n                                    struct
      connectdata *conn,\n                                    int sockindex,\n                                    enum
      alpnid *alpn_ids, size_t alpn_count,\n                                    unsigned
      char def_transport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - id
    - list
    - len
    argTypes:
    - enum alpnid
    - enum alpnid*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 649
    functionName: cf_https_alpns_contain
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cf_https_alpns_contain(enum alpnid id,\n                                   enum
      alpnid *list, size_t len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/cf-https-connect.c:662,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-https-connect.c:682,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-https-connect.c:683,1
    - Dst: cf_https_alpns_contain
      Src: /src/curl/lib/cf-https-connect.c:685,1
    - Dst: Curl_conn_may_http3
      Src: /src/curl/lib/cf-https-connect.c:689,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:692,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:698,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:704,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-https-connect.c:715,1
    - Dst: cf_https_alpns_contain
      Src: /src/curl/lib/cf-https-connect.c:717,1
    - Dst: Curl_conn_may_http3
      Src: /src/curl/lib/cf-https-connect.c:718,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:720,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-https-connect.c:726,1
    - Dst: cf_https_alpns_contain
      Src: /src/curl/lib/cf-https-connect.c:728,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:729,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-https-connect.c:732,1
    - Dst: cf_https_alpns_contain
      Src: /src/curl/lib/cf-https-connect.c:734,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-https-connect.c:735,1
    - Dst: cf_http_connect_add
      Src: /src/curl/lib/cf-https-connect.c:743,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 61
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 651
    functionDepth: 5
    functionLinenumber: 651
    functionLinenumberEnd: 750
    functionName: Curl_cf_https_setup
    functionSourceFile: /src/curl/lib/cf-https-connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_may_http3
    - CURL_TRC_CF
    - memset
    - CURL_ARRAYSIZE
    - cf_https_alpns_contain
    - cf_http_connect_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_https_setup(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             int sockindex)"
  - BBCount: 90
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 183
    argCount: 1
    argNames:
    - error
    argTypes:
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 332
    functionName: curl_easy_strerror
    functionSourceFile: /src/curl/lib/strerror.c
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_easy_strerror(CURLcode error)'
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - error
    argTypes:
    - CURLMcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 392
    functionName: curl_multi_strerror
    functionSourceFile: /src/curl/lib/strerror.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_multi_strerror(CURLMcode error)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - error
    argTypes:
    - CURLSHcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 428
    functionName: curl_share_strerror
    functionSourceFile: /src/curl/lib/strerror.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_share_strerror(CURLSHcode error)'
  - BBCount: 35
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 73
    argCount: 1
    argNames:
    - error
    argTypes:
    - CURLUcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 542
    functionName: curl_url_strerror
    functionSourceFile: /src/curl/lib/strerror.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      curl_url_strerror(CURLUcode error)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/curl/lib/strerror.c:552,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:569,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:570,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:571,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:572,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:573,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:574,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:575,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:576,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:577,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:578,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:579,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:580,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:581,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:582,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:583,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:584,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:585,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:586,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:587,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:588,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:589,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:590,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:591,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:592,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:593,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:594,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:595,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:596,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:597,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:598,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:599,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:600,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:601,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:602,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:603,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:604,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:605,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:606,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:607,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:608,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:609,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:610,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:611,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:612,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:613,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:614,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:615,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:616,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:617,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:618,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:619,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:620,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:621,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:622,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:623,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:624,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:625,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:626,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:627,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:628,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:629,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:630,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:631,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:632,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:633,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:634,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:635,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:636,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:637,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:638,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:639,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:640,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:641,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:642,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:643,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:644,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:645,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:646,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:647,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:648,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:649,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:650,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:651,1
    - Dst: SEC2TXT
      Src: /src/curl/lib/strerror.c:652,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/strerror.c:658,1
    - Dst: curlx_get_winapi_error
      Src: /src/curl/lib/strerror.c:666,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/strerror.c:667,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/strerror.c:669,1
    - Dst: strlen
      Src: /src/curl/lib/strerror.c:677,1
    - Dst: strcpy
      Src: /src/curl/lib/strerror.c:678,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/strerror.c:682,1
    - Dst: GetLastError
      Src: /src/curl/lib/strerror.c:685,1
    - Dst: SetLastError
      Src: /src/curl/lib/strerror.c:686,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 112
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - SECURITY_STATUS
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 549
    functionDepth: 6
    functionLinenumber: 549
    functionLinenumberEnd: 690
    functionName: Curl_sspi_strerror
    functionSourceFile: /src/curl/lib/strerror.c
    functionUses: 1
    functionsReached:
    - SetLastError
    - CURL_SETERRNO
    - strlen
    - curl_msnprintf
    - curlx_get_winapi_error
    - GetLastError
    - SEC2TXT
    - strcpy
    linkageType: ''
    returnType: char
    signature: char *Curl_sspi_strerror(SECURITY_STATUS err, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: SEC2TXT
    functionSourceFile: /src/curl/lib/strerror.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEC2TXT(sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: Curl_ipv6works
    functionSourceFile: /src/curl/lib/hostip.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ipv6works(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: Curl_resolv_check
    functionSourceFile: /src/curl/lib/hostip.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_resolv_check(x,y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/hash.c:54,1
    - Dst: Curl_hash_start_iterate
      Src: /src/curl/lib/hash.c:56,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/hash.c:58,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/hash.c:61,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/hash.c:63,1
    - Dst: func
      Src: /src/curl/lib/hash.c:69,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/hash.c:71,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/hash.c:75,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/hash.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: Curl_hash_print
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - Curl_hash_next_element
    - Curl_hash_start_iterate
    - func
    linkageType: ''
    returnType: void
    signature: "void Curl_hash_print(struct Curl_hash *h,\n                     void
      (*func)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:94,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:95,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:96,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:97,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - h
    - slots
    - hfunc
    - comparator
    - dtor
    argTypes:
    - struct Curl_hash*
    - size_t
    - hash_function
    - comp_function
    - Curl_hash_dtor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 109
    functionName: Curl_hash_init
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 7
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_hash_init(struct Curl_hash *h,\n               size_t slots,\n
      \              hash_function hfunc,\n               comp_function comparator,\n
      \              Curl_hash_dtor dtor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/hash.c:118,1
    - Dst: memcpy
      Src: /src/curl/lib/hash.c:122,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/hash.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - key
    - key_len
    - p
    - dtor
    argTypes:
    - void*
    - size_t
    - void*
    - Curl_hash_elem_dtor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: hash_elem_create
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - CURL_UNCONST
    linkageType: ''
    returnType: struct Curl_hash_element
    signature: "struct Curl_hash_element *\nhash_elem_create(const void *key, size_t
      key_len, const void *p,\n                 Curl_hash_elem_dtor dtor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:133,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:134,1
    - Dst: struct Curl_hash_element*::dtor
      Src: /src/curl/lib/hash.c:137,1
    - Dst: struct Curl_hash*::dtor
      Src: /src/curl/lib/hash.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - h
    - he
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: hash_elem_clear_ptr
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - struct Curl_hash*::dtor
    - DEBUGASSERT
    - struct Curl_hash_element*::dtor
    linkageType: ''
    returnType: void
    signature: "void hash_elem_clear_ptr(struct Curl_hash *h,\n                                struct
      Curl_hash_element *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_elem_clear_ptr
      Src: /src/curl/lib/hash.c:147,1
    - Dst: free
      Src: /src/curl/lib/hash.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - he
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: hash_elem_destroy
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - free
    - hash_elem_clear_ptr
    linkageType: ''
    returnType: void
    signature: "void hash_elem_destroy(struct Curl_hash *h,\n                              struct
      Curl_hash_element *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - h
    - he_anchor
    - he
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_element**
    - struct Curl_hash_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: hash_elem_unlink
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hash_elem_unlink(struct Curl_hash *h,\n                             struct
      Curl_hash_element **he_anchor,\n                             struct Curl_hash_element
      *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - h
    - he_anchor
    - he
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_element**
    - struct Curl_hash_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: hash_elem_link
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hash_elem_link(struct Curl_hash *h,\n                           struct
      Curl_hash_element **he_anchor,\n                           struct Curl_hash_element
      *he)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: CURL_HASH_SLOT
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_HASH_SLOT(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: CURL_HASH_SLOT_ADDR
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_HASH_SLOT_ADDR(x,y,z)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:176,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:177,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:178,1
    - Dst: calloc
      Src: /src/curl/lib/hash.c:180,1
    - Dst: CURL_HASH_SLOT_ADDR
      Src: /src/curl/lib/hash.c:185,1
    - Dst: struct Curl_hash*::comp_func
      Src: /src/curl/lib/hash.c:187,1
    - Dst: hash_elem_clear_ptr
      Src: /src/curl/lib/hash.c:189,1
    - Dst: hash_elem_create
      Src: /src/curl/lib/hash.c:196,1
    - Dst: hash_elem_link
      Src: /src/curl/lib/hash.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - h
    - key
    - key_len
    - p
    - dtor
    argTypes:
    - struct Curl_hash*
    - void*
    - size_t
    - void*
    - Curl_hash_elem_dtor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: Curl_hash_add2
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 3
    functionsReached:
    - calloc
    - hash_elem_link
    - hash_elem_create
    - CURL_HASH_SLOT_ADDR
    - hash_elem_clear_ptr
    - DEBUGASSERT
    - struct Curl_hash*::comp_func
    linkageType: ''
    returnType: void
    signature: "void *Curl_hash_add2(struct Curl_hash *h, void *key, size_t key_len,
      void *p,\n                     Curl_hash_elem_dtor dtor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_add2
      Src: /src/curl/lib/hash.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - h
    - key
    - key_len
    - p
    argTypes:
    - struct Curl_hash*
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: Curl_hash_add
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 6
    functionsReached:
    - Curl_hash_add2
    linkageType: ''
    returnType: void
    signature: 'void *

      Curl_hash_add(struct Curl_hash *h, void *key, size_t key_len, void *p)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:225,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:226,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:227,1
    - Dst: CURL_HASH_SLOT_ADDR
      Src: /src/curl/lib/hash.c:231,1
    - Dst: struct Curl_hash*::comp_func
      Src: /src/curl/lib/hash.c:234,1
    - Dst: hash_elem_unlink
      Src: /src/curl/lib/hash.c:235,1
    - Dst: hash_elem_destroy
      Src: /src/curl/lib/hash.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - h
    - key
    - key_len
    argTypes:
    - struct Curl_hash*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: Curl_hash_delete
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 6
    functionsReached:
    - hash_elem_destroy
    - CURL_HASH_SLOT_ADDR
    - hash_elem_unlink
    - DEBUGASSERT
    - struct Curl_hash*::comp_func
    linkageType: ''
    returnType: int
    signature: int Curl_hash_delete(struct Curl_hash *h, void *key, size_t key_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:252,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:253,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:256,1
    - Dst: CURL_HASH_SLOT
      Src: /src/curl/lib/hash.c:257,1
    - Dst: struct Curl_hash*::comp_func
      Src: /src/curl/lib/hash.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - h
    - key
    - key_len
    argTypes:
    - struct Curl_hash*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: Curl_hash_pick
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 8
    functionsReached:
    - DEBUGASSERT
    - CURL_HASH_SLOT
    - struct Curl_hash*::comp_func
    linkageType: ''
    returnType: void
    signature: 'void *

      Curl_hash_pick(struct Curl_hash *h, void *key, size_t key_len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:278,1
    - Dst: Curl_hash_clean
      Src: /src/curl/lib/hash.c:280,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/hash.c:281,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: Curl_hash_destroy
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 6
    functionsReached:
    - Curl_safefree
    - DEBUGASSERT
    - Curl_hash_clean
    linkageType: ''
    returnType: void
    signature: void Curl_hash_destroy(struct Curl_hash *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:296,1
    - Dst: hash_elem_unlink
      Src: /src/curl/lib/hash.c:301,1
    - Dst: hash_elem_destroy
      Src: /src/curl/lib/hash.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 306
    functionName: Curl_hash_clean
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 6
    functionsReached:
    - hash_elem_destroy
    - hash_elem_unlink
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_hash_clean(struct Curl_hash *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct Curl_hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: Curl_hash_count
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_hash_count(struct Curl_hash *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:324,1
    - Dst: comp
      Src: /src/curl/lib/hash.c:329,1
    - Dst: hash_elem_unlink
      Src: /src/curl/lib/hash.c:331,1
    - Dst: hash_elem_destroy
      Src: /src/curl/lib/hash.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - h
    - user
    argTypes:
    - struct Curl_hash*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 338
    functionName: Curl_hash_clean_with_criterium
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 1
    functionsReached:
    - hash_elem_destroy
    - hash_elem_unlink
    - DEBUGASSERT
    - comp
    linkageType: ''
    returnType: void
    signature: "void Curl_hash_clean_with_criterium(struct Curl_hash *h, void *user,\n
      \                              int (*comp)(void *, void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - key
    - key_length
    - slots_num
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 353
    functionName: Curl_hash_str
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_hash_str(void *key, size_t key_length, size_t slots_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/curl/lib/hash.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - k1
    - key1_len
    - k2
    - key2_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: curlx_str_key_compare
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: size_t
    signature: "size_t curlx_str_key_compare(void *k1, size_t key1_len,\n                             void
      *k2, size_t key2_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hash
    - iter
    argTypes:
    - struct Curl_hash*
    - struct Curl_hash_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: Curl_hash_start_iterate
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_hash_start_iterate(struct Curl_hash *hash,\n                             struct
      Curl_hash_iterator *iter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hash.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct Curl_hash_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: Curl_hash_next_element
    functionSourceFile: /src/curl/lib/hash.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_hash_element
    signature: 'struct Curl_hash_element *

      Curl_hash_next_element(struct Curl_hash_iterator *iter)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: Curl_SOCKS4
    functionSourceFile: /src/curl/lib/socks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_SOCKS4(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: Curl_SOCKS5
    functionSourceFile: /src/curl/lib/socks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_SOCKS5(a,b,c,d,e,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: Curl_SOCKS_getsock
    functionSourceFile: /src/curl/lib/socks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_SOCKS_getsock(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: Curl_win32_init
    functionSourceFile: /src/curl/lib/system_win32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_win32_init(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_max_concurrent_streams
      Src: /src/curl/lib/http2.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - iv
    - data
    argTypes:
    - nghttp2_settings_entry*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: populate_settings
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_multi_max_concurrent_streams
    linkageType: ''
    returnType: size_t
    signature: "size_t populate_settings(nghttp2_settings_entry *iv,\n                                struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: populate_settings
      Src: /src/curl/lib/http2.c:122,1
    - Dst: nghttp2_pack_settings_payload
      Src: /src/curl/lib/http2.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - binsettings
    - data
    argTypes:
    - uint8_t*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: populate_binsettings
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - populate_settings
    - nghttp2_pack_settings_payload
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t populate_binsettings(uint8_t *binsettings,\n                                    struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufcp_init
      Src: /src/curl/lib/http2.c:165,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/lib/http2.c:166,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/lib/http2.c:167,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http2.c:168,1
    - Dst: Curl_uint_hash_init
      Src: /src/curl/lib/http2.c:169,1
    - Dst: getenv
      Src: /src/curl/lib/http2.c:174,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/http2.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - via_h1_upgrade
    argTypes:
    - struct cf_h2_ctx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: cf_h2_ctx_init
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_bufcp_init
    - getenv
    - Curl_bufq_initp
    - curlx_dyn_init
    - curlx_str_number
    - Curl_uint_hash_init
    linkageType: ''
    returnType: void
    signature: void cf_h2_ctx_init(struct cf_h2_ctx *ctx, bool via_h1_upgrade)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/http2.c:190,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/http2.c:191,1
    - Dst: Curl_bufcp_free
      Src: /src/curl/lib/http2.c:192,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http2.c:193,1
    - Dst: Curl_uint_hash_destroy
      Src: /src/curl/lib/http2.c:194,1
    - Dst: memset
      Src: /src/curl/lib/http2.c:195,1
    - Dst: free
      Src: /src/curl/lib/http2.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: cf_h2_ctx_free
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    - Curl_uint_hash_destroy
    - curlx_dyn_free
    - free
    - memset
    - Curl_bufcp_free
    linkageType: ''
    returnType: void
    signature: void cf_h2_ctx_free(struct cf_h2_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_del
      Src: /src/curl/lib/http2.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: cf_h2_ctx_close
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_del
    linkageType: ''
    returnType: void
    signature: void cf_h2_ctx_close(struct cf_h2_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: H2_STREAM_CTX
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STREAM_CTX(ctx,data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/http2.c:251,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/lib/http2.c:256,1
    - Dst: Curl_h1_req_parse_init
      Src: /src/curl/lib/http2.c:258,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/http2.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 268
    functionName: h2_stream_ctx_create
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - calloc
    - Curl_h1_req_parse_init
    - Curl_dynhds_init
    - Curl_bufq_initp
    linkageType: ''
    returnType: struct h2_stream_ctx
    signature: struct h2_stream_ctx *h2_stream_ctx_create(struct cf_h2_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/http2.c:274,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http2.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h2_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: free_push_headers
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void free_push_headers(struct h2_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/http2.c:281,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/curl/lib/http2.c:282,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/http2.c:283,1
    - Dst: free_push_headers
      Src: /src/curl/lib/http2.c:284,1
    - Dst: free
      Src: /src/curl/lib/http2.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h2_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: h2_stream_ctx_free
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    - Curl_h1_req_parse_free
    - free_push_headers
    - Curl_dynhds_free
    - free
    linkageType: ''
    returnType: void
    signature: void h2_stream_ctx_free(struct h2_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:291,1
    - Dst: h2_stream_ctx_free
      Src: /src/curl/lib/http2.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - stream
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: h2_stream_hash_free
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - h2_stream_ctx_free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void h2_stream_hash_free(unsigned int id, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: cf_h2_get_desired_local_win
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    linkageType: ''
    returnType: int32_t
    signature: "int32_t cf_h2_get_desired_local_win(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_h2_get_desired_local_win
      Src: /src/curl/lib/http2.c:327,1
    - Dst: nghttp2_session_get_stream_effective_local_window_size
      Src: /src/curl/lib/http2.c:329,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/curl/lib/http2.c:332,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:335,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:336,1
    - Dst: nghttp2_submit_window_update
      Src: /src/curl/lib/http2.c:339,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:342,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:343,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:347,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/curl/lib/http2.c:351,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:354,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:355,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - cf
    - data
    - stream
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 364
    functionName: cf_h2_update_local_win
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - nghttp2_session_get_stream_effective_local_window_size
    - cf_h2_get_desired_local_win
    - nghttp2_submit_window_update
    - nghttp2_strerror
    - nghttp2_session_set_local_window_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_update_local_win(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       struct h2_stream_ctx
      *stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - stream
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 376
    functionName: cf_h2_update_local_win
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_update_local_win(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       struct h2_stream_ctx
      *stream)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:388,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:389,1
    - Dst: h2_stream_ctx_create
      Src: /src/curl/lib/http2.c:395,1
    - Dst: Curl_uint_hash_set
      Src: /src/curl/lib/http2.c:399,1
    - Dst: h2_stream_ctx_free
      Src: /src/curl/lib/http2.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cf
    - data
    - pstream
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 380
    functionDepth: 4
    functionLinenumber: 380
    functionLinenumberEnd: 406
    functionName: http2_data_setup
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - H2_STREAM_CTX
    - h2_stream_ctx_create
    - h2_stream_ctx_free
    - Curl_uint_hash_set
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_data_setup(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct h2_stream_ctx **pstream)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:411,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:413,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/curl/lib/http2.c:420,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:424,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/curl/lib/http2.c:428,1
    - Dst: nghttp2_session_send
      Src: /src/curl/lib/http2.c:434,1
    - Dst: nw_out_flush
      Src: /src/curl/lib/http2.c:435,1
    - Dst: Curl_uint_hash_remove
      Src: /src/curl/lib/http2.c:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 440
    functionName: http2_data_done
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - Curl_uint_hash_remove
    - nghttp2_session_send
    - nw_out_flush
    - nghttp2_submit_rst_stream
    - nghttp2_session_set_stream_user_data
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void http2_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_option_new
      Src: /src/curl/lib/http2.c:450,1
    - Dst: nghttp2_option_set_no_auto_window_update
      Src: /src/curl/lib/http2.c:454,1
    - Dst: nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
      Src: /src/curl/lib/http2.c:459,1
    - Dst: nghttp2_session_client_new3
      Src: /src/curl/lib/http2.c:461,1
    - Dst: nghttp2_option_del
      Src: /src/curl/lib/http2.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - cbs
    argTypes:
    - struct Curl_cfilter*
    - nghttp2_session_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 464
    functionName: h2_client_new
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - nghttp2_option_del
    - nghttp2_session_client_new3
    - nghttp2_option_set_no_auto_window_update
    - nghttp2_option_new
    - nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
    linkageType: ''
    returnType: int
    signature: "int h2_client_new(struct Curl_cfilter *cf,\n                         nghttp2_session_callbacks
      *cbs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:504,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:505,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/curl/lib/http2.c:507,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:509,1
    - Dst: nghttp2_session_callbacks_set_send_callback
      Src: /src/curl/lib/http2.c:513,1
    - Dst: nghttp2_session_callbacks_set_on_frame_recv_callback
      Src: /src/curl/lib/http2.c:514,1
    - Dst: nghttp2_session_callbacks_set_on_invalid_frame_recv_callback
      Src: /src/curl/lib/http2.c:515,1
    - Dst: nghttp2_session_callbacks_set_on_frame_send_callback
      Src: /src/curl/lib/http2.c:518,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/curl/lib/http2.c:520,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/curl/lib/http2.c:522,1
    - Dst: nghttp2_session_callbacks_set_on_begin_headers_callback
      Src: /src/curl/lib/http2.c:523,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/curl/lib/http2.c:525,1
    - Dst: nghttp2_session_callbacks_set_error_callback
      Src: /src/curl/lib/http2.c:527,1
    - Dst: h2_client_new
      Src: /src/curl/lib/http2.c:531,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:533,1
    - Dst: populate_binsettings
      Src: /src/curl/lib/http2.c:545,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:547,1
    - Dst: http2_data_setup
      Src: /src/curl/lib/http2.c:552,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:555,1
    - Dst: nghttp2_session_upgrade2
      Src: /src/curl/lib/http2.c:558,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:562,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:563,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/curl/lib/http2.c:568,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:571,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:573,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:575,1
    - Dst: populate_settings
      Src: /src/curl/lib/http2.c:581,1
    - Dst: nghttp2_submit_settings
      Src: /src/curl/lib/http2.c:582,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:585,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:586,1
    - Dst: nghttp2_session_set_local_window_size
      Src: /src/curl/lib/http2.c:592,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:595,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:596,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:603,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/curl/lib/http2.c:608,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 610
    functionName: cf_h2_ctx_open
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - h2_client_new
    - nghttp2_session_upgrade2
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - nghttp2_session_callbacks_set_on_invalid_frame_recv_callback
    - nghttp2_submit_settings
    - http2_data_setup
    - nghttp2_session_callbacks_set_send_callback
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_callbacks_set_on_frame_recv_callback
    - failf
    - populate_binsettings
    - nghttp2_session_callbacks_set_on_frame_send_callback
    - nghttp2_session_callbacks_new
    - nghttp2_session_callbacks_set_on_begin_headers_callback
    - nghttp2_session_set_stream_user_data
    - nghttp2_session_set_local_window_size
    - nghttp2_session_callbacks_set_on_header_callback
    - CURL_TRC_CF
    - nghttp2_session_callbacks_del
    - nghttp2_session_callbacks_set_error_callback
    - DEBUGASSERT
    - infof
    - nghttp2_strerror
    - populate_settings
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_ctx_open(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_want_read
      Src: /src/curl/lib/http2.c:617,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/http2.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_h2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: should_close_session
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - nghttp2_session_want_read
    - nghttp2_session_want_write
    linkageType: ''
    returnType: int
    signature: int should_close_session(struct cf_h2_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/http2.c:634,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/curl/lib/http2.c:635,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:637,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:637,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/http2.c:640,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:641,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:645,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:646,1
    - Dst: nghttp2_session_check_request_allowed
      Src: /src/curl/lib/http2.c:650,1
    - Dst: connclose
      Src: /src/curl/lib/http2.c:655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: h2_process_pending_input
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - nghttp2_session_mem_recv
    - failf
    - CURL_TRC_CF
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - nghttp2_session_check_request_allowed
    - connclose
    - Curl_bufq_skip
    - nghttp2_strerror
    - Curl_bufq_peek
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_process_pending_input(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/curl/lib/http2.c:675,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/curl/lib/http2.c:686,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:688,1
    - Dst: h2_process_pending_input
      Src: /src/curl/lib/http2.c:690,1
    - Dst: should_close_session
      Src: /src/curl/lib/http2.c:695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 668
    functionDepth: 5
    functionLinenumber: 668
    functionLinenumberEnd: 705
    functionName: http2_connisalive
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::is_alive
    - CURL_TRC_CF
    - should_close_session
    - h2_process_pending_input
    - Curl_cf_recv_bufq
    linkageType: ''
    returnType: bool
    signature: "bool http2_connisalive(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                             bool *input_pending)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_ping
      Src: /src/curl/lib/http2.c:713,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:715,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:716,1
    - Dst: nghttp2_session_send
      Src: /src/curl/lib/http2.c:720,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:722,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 727
    functionName: http2_send_ping
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_strerror
    - failf
    - nghttp2_session_send
    - nghttp2_submit_ping
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_send_ping(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_version
      Src: /src/curl/lib/http2.c:734,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 6
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: Curl_http2_ver
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_version
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_http2_ver(char *p, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:746,1
    - Dst: Curl_cf_send_bufq
      Src: /src/curl/lib/http2.c:749,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:753,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:754,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 760
    functionName: nw_out_flush
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - Curl_cf_send_bufq
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode nw_out_flush(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/http2.c:773,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:779,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/http2.c:782,1
    - Dst: Curl_cf_send_bufq
      Src: /src/curl/lib/http2.c:784,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - h2
    - buf
    - blen
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 767
    functionDepth: 5
    functionLinenumber: 767
    functionLinenumberEnd: 802
    functionName: send_callback
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - failf
    - Curl_bufq_write
    - CF_DATA_CURRENT
    - Curl_cf_send_bufq
    - DEBUGASSERT
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t send_callback(nghttp2_session *h2,\n                             const
      uint8_t *buf, size_t blen, int flags,\n                             void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/http2.c:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - h
    - num
    argTypes:
    - struct curl_pushheaders*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 827
    functionName: curl_pushheader_bynum
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 3
    functionsReached:
    - GOOD_EASY_HANDLE
    linkageType: ''
    returnType: char
    signature: char *curl_pushheader_bynum(struct curl_pushheaders *h, size_t num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/http2.c:843,1
    - Dst: strcmp
      Src: /src/curl/lib/http2.c:844,1
    - Dst: strchr
      Src: /src/curl/lib/http2.c:844,1
    - Dst: strlen
      Src: /src/curl/lib/http2.c:851,1
    - Dst: strncmp
      Src: /src/curl/lib/http2.c:853,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - h
    - header
    argTypes:
    - struct curl_pushheaders*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 861
    functionName: curl_pushheader_byname
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 4
    functionsReached:
    - strlen
    - GOOD_EASY_HANDLE
    - strchr
    - strcmp
    - strncmp
    linkageType: ''
    returnType: char
    signature: char *curl_pushheader_byname(struct curl_pushheaders *h, const char
      *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_duphandle
      Src: /src/curl/lib/http2.c:866,1
    - Dst: http2_data_setup
      Src: /src/curl/lib/http2.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 863
    functionDepth: 5
    functionLinenumber: 863
    functionLinenumberEnd: 873
    functionName: h2_duphandle
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - http2_data_setup
    - curl_easy_duphandle
    linkageType: ''
    returnType: struct Curl_easy
    signature: "struct Curl_easy *h2_duphandle(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/curl/lib/http2.c:882,1
    - Dst: curl_pushheader_byname
      Src: /src/curl/lib/http2.c:887,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http2.c:889,1
    - Dst: curl_pushheader_byname
      Src: /src/curl/lib/http2.c:896,1
    - Dst: Curl_url_set_authority
      Src: /src/curl/lib/http2.c:898,1
    - Dst: curl_pushheader_byname
      Src: /src/curl/lib/http2.c:905,1
    - Dst: curl_url_set
      Src: /src/curl/lib/http2.c:907,1
    - Dst: curl_url_get
      Src: /src/curl/lib/http2.c:914,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/http2.c:918,1
    - Dst: free
      Src: /src/curl/lib/http2.c:923,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - data
    - hp
    argTypes:
    - struct Curl_easy*
    - struct curl_pushheaders*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 927
    functionName: set_transfer_url
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - curl_url_set
    - curl_pushheader_byname
    - curl_url_get
    - curl_url
    - free
    - curl_url_cleanup
    - Curl_url_set_authority
    linkageType: ''
    returnType: int
    signature: "int set_transfer_url(struct Curl_easy *data,\n                            struct
      curl_pushheaders *hp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http2_data_done
      Src: /src/curl/lib/http2.c:932,1
    - Dst: Curl_close
      Src: /src/curl/lib/http2.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - newhandle
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 5
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: discard_newhandle
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - http2_data_done
    - Curl_close
    linkageType: ''
    returnType: void
    signature: "void discard_newhandle(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *newhandle)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:943,1
    - Dst: h2_duphandle
      Src: /src/curl/lib/http2.c:952,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:954,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:959,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:961,1
    - Dst: discard_newhandle
      Src: /src/curl/lib/http2.c:962,1
    - Dst: set_transfer_url
      Src: /src/curl/lib/http2.c:971,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:973,1
    - Dst: discard_newhandle
      Src: /src/curl/lib/http2.c:975,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/http2.c:980,1
    - Dst: struct Curl_easy*::multi::push_cb
      Src: /src/curl/lib/http2.c:981,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/http2.c:984,1
    - Dst: free_push_headers
      Src: /src/curl/lib/http2.c:987,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:990,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:992,1
    - Dst: discard_newhandle
      Src: /src/curl/lib/http2.c:994,1
    - Dst: Curl_multi_add_perform
      Src: /src/curl/lib/http2.c:1001,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:1003,1
    - Dst: discard_newhandle
      Src: /src/curl/lib/http2.c:1004,1
    - Dst: http2_data_setup
      Src: /src/curl/lib/http2.c:1009,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1011,1
    - Dst: discard_newhandle
      Src: /src/curl/lib/http2.c:1012,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1017,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1022,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/curl/lib/http2.c:1024,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:1028,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1030,1
    - Dst: discard_newhandle
      Src: /src/curl/lib/http2.c:1031,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1041,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 78
    argCount: 3
    argNames:
    - cf
    - data
    - frame
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - nghttp2_push_promise*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 936
    functionDepth: 6
    functionLinenumber: 936
    functionLinenumberEnd: 1046
    functionName: push_promise
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - free_push_headers
    - Curl_multi_add_perform
    - struct Curl_easy*::multi::push_cb
    - discard_newhandle
    - http2_data_setup
    - set_transfer_url
    - h2_duphandle
    - nghttp2_session_set_stream_user_data
    - infof
    - Curl_set_in_callback
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int push_promise(struct Curl_cfilter *cf,\n                        struct
      Curl_easy *data,\n                        const nghttp2_push_promise *frame)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_write_resp_hd
      Src: /src/curl/lib/http2.c:1056,1
    - Dst: cf_h2_update_local_win
      Src: /src/curl/lib/http2.c:1058,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1063
    functionName: h2_xfer_write_resp_hd
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - cf_h2_update_local_win
    - CURL_TRC_CF
    - Curl_xfer_write_resp_hd
    linkageType: ''
    returnType: void
    signature: "void h2_xfer_write_resp_hd(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct h2_stream_ctx *stream,\n
      \                                 const char *buf, size_t blen, bool eos)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_write_resp
      Src: /src/curl/lib/http2.c:1073,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1077,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/curl/lib/http2.c:1080,1
    - Dst: Curl_xfer_write_is_paused
      Src: /src/curl/lib/http2.c:1083,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1084,1
    - Dst: Curl_xfer_write_is_paused
      Src: /src/curl/lib/http2.c:1087,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1088,1
    - Dst: cf_h2_update_local_win
      Src: /src/curl/lib/http2.c:1093,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1065
    functionDepth: 3
    functionLinenumber: 1065
    functionLinenumberEnd: 1094
    functionName: h2_xfer_write_resp
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_xfer_write_is_paused
    - Curl_xfer_write_resp
    - nghttp2_submit_rst_stream
    - cf_h2_update_local_win
    linkageType: ''
    returnType: void
    signature: "void h2_xfer_write_resp(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h2_stream_ctx *stream,\n
      \                              const char *buf, size_t blen, bool eos)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:1101,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1106,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1112,1
    - Dst: nghttp2_session_get_stream_effective_recv_data_length
      Src: /src/curl/lib/http2.c:1114,1
    - Dst: nghttp2_session_get_stream_effective_local_window_size
      Src: /src/curl/lib/http2.c:1116,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/curl/lib/http2.c:1120,1
    - Dst: nghttp2_is_fatal
      Src: /src/curl/lib/http2.c:1123,1
    - Dst: h2_xfer_write_resp_hd
      Src: /src/curl/lib/http2.c:1147,1
    - Dst: STRCONST
      Src: /src/curl/lib/http2.c:1147,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:1152,1
    - Dst: push_promise
      Src: /src/curl/lib/http2.c:1155,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1157,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/curl/lib/http2.c:1158,1
    - Dst: nghttp2_is_fatal
      Src: /src/curl/lib/http2.c:1161,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1164,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:1175,1
    - Dst: CURL_WANT_SEND
      Src: /src/curl/lib/http2.c:1178,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:1178,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:1180,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:1182,1
    - Dst: nghttp2_session_resume_data
      Src: /src/curl/lib/http2.c:1184,1
    - Dst: nghttp2_is_fatal
      Src: /src/curl/lib/http2.c:1185,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1199,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/curl/lib/http2.c:1202,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:1206,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 3
    argNames:
    - cf
    - data
    - frame
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - nghttp2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1096
    functionDepth: 7
    functionLinenumber: 1096
    functionLinenumberEnd: 1209
    functionName: on_stream_frame
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - STRCONST
    - push_promise
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - Curl_bufq_is_empty
    - nghttp2_is_fatal
    - CURL_WANT_SEND
    - nghttp2_submit_rst_stream
    - nghttp2_session_get_stream_effective_local_window_size
    - h2_xfer_write_resp_hd
    - nghttp2_session_resume_data
    - nghttp2_session_get_stream_effective_recv_data_length
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode on_stream_frame(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                const nghttp2_frame *frame)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1216,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1223,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1230,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1235,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1242,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1244,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1248,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1254,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/http2.c:1261,1
    - Dst: memcpy
      Src: /src/curl/lib/http2.c:1265,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1267,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1273,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 3
    argNames:
    - frame
    - buffer
    - blen
    argTypes:
    - nghttp2_frame*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1212
    functionDepth: 6
    functionLinenumber: 1212
    functionLinenumberEnd: 1282
    functionName: fr_print
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 2
    functionsReached:
    - memcpy
    - CURL_ARRAYSIZE
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: int fr_print(const nghttp2_frame *frame, char *buffer, size_t blen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/http2.c:1289,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1292,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/curl/lib/http2.c:1293,1
    - Dst: fr_print
      Src: /src/curl/lib/http2.c:1296,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1298,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1303,1
    - Dst: nghttp2_http2_strerror
      Src: /src/curl/lib/http2.c:1305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1284
    functionDepth: 7
    functionLinenumber: 1284
    functionLinenumberEnd: 1308
    functionName: on_frame_send
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_trc_cf_is_verbose
    - CF_DATA_CURRENT
    - fr_print
    - nghttp2_http2_strerror
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int on_frame_send(nghttp2_session *session, const nghttp2_frame *frame,\n
      \                        void *userp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/http2.c:1316,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1319,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/curl/lib/http2.c:1321,1
    - Dst: fr_print
      Src: /src/curl/lib/http2.c:1324,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1326,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1332,1
    - Dst: nghttp2_session_get_remote_settings
      Src: /src/curl/lib/http2.c:1337,1
    - Dst: nghttp2_session_get_remote_settings
      Src: /src/curl/lib/http2.c:1339,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1341,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1343,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1347,1
    - Dst: Curl_multi_connchanged
      Src: /src/curl/lib/http2.c:1349,1
    - Dst: CURL_WANT_SEND
      Src: /src/curl/lib/http2.c:1356,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:1357,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:1366,1
    - Dst: Curl_multi_connchanged
      Src: /src/curl/lib/http2.c:1368,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/curl/lib/http2.c:1377,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1379,1
    - Dst: on_stream_frame
      Src: /src/curl/lib/http2.c:1383,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1311
    functionDepth: 8
    functionLinenumber: 1311
    functionLinenumberEnd: 1384
    functionName: on_frame_recv
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - nghttp2_session_get_stream_user_data
    - CURL_TRC_CF
    - Curl_multi_connchanged
    - on_stream_frame
    - Curl_trc_cf_is_verbose
    - CF_DATA_CURRENT
    - fr_print
    - CURL_WANT_SEND
    - infof
    - nghttp2_session_get_remote_settings
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,\n
      \                        void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/curl/lib/http2.c:1395,1
    - Dst: fr_print
      Src: /src/curl/lib/http2.c:1401,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1403,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:1404,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:1406,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/curl/lib/http2.c:1408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - session
    - frame
    - ngerr
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1386
    functionDepth: 7
    functionLinenumber: 1386
    functionLinenumberEnd: 1417
    functionName: cf_h2_on_invalid_frame_recv
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_user_data
    - failf
    - H2_STREAM_CTX
    - fr_print
    - nghttp2_submit_rst_stream
    - nghttp2_strerror
    linkageType: ''
    returnType: int
    signature: "int cf_h2_on_invalid_frame_recv(nghttp2_session *session,\n                                       const
      nghttp2_frame *frame,\n                                       int ngerr, void
      *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1429,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1430,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/http2.c:1430,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/curl/lib/http2.c:1433,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1438,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/http2.c:1438,1
    - Dst: nghttp2_session_consume
      Src: /src/curl/lib/http2.c:1441,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:1445,1
    - Dst: h2_xfer_write_resp
      Src: /src/curl/lib/http2.c:1449,1
    - Dst: nghttp2_session_consume
      Src: /src/curl/lib/http2.c:1451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - session
    - flags
    - stream_id
    - mem
    - len
    - userp
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1419
    functionDepth: 4
    functionLinenumber: 1419
    functionLinenumberEnd: 1454
    functionName: on_data_chunk_recv
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_user_data
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - CF_DATA_CURRENT
    - h2_xfer_write_resp
    - nghttp2_session_consume
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int on_data_chunk_recv(nghttp2_session *session, uint8_t flags,\n
      \                             int32_t stream_id,\n                              const
      uint8_t *mem, size_t len, void *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/http2.c:1461,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1466,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/curl/lib/http2.c:1469,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1471,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/http2.c:1475,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1479,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/curl/lib/http2.c:1481,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:1484,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1486,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1498,1
    - Dst: nghttp2_http2_strerror
      Src: /src/curl/lib/http2.c:1499,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1501,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:1502,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/curl/lib/http2.c:1505,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:1507,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - session
    - stream_id
    - error_code
    - userp
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1512
    functionName: on_stream_close
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - nghttp2_session_get_stream_user_data
    - GOOD_EASY_HANDLE
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - CF_DATA_CURRENT
    - infof
    - nghttp2_http2_strerror
    - nghttp2_session_set_stream_user_data
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int on_stream_close(nghttp2_session *session, int32_t stream_id,\n
      \                          uint32_t error_code, void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/curl/lib/http2.c:1523,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:1532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - session
    - frame
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1538
    functionName: on_begin_headers
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_user_data
    - H2_STREAM_CTX
    linkageType: ''
    returnType: int
    signature: "int on_begin_headers(nghttp2_session *session,\n                            const
      nghttp2_frame *frame, void *userp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/http2.c:1547,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/http2.c:1548,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/curl/lib/http2.c:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - result
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1555
    functionName: cf_h2_header_error
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - failf
    - curl_easy_strerror
    - nghttp2_submit_rst_stream
    linkageType: ''
    returnType: void
    signature: "void cf_h2_header_error(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h2_stream_ctx *stream,\n
      \                              CURLcode result)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1572,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/curl/lib/http2.c:1575,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/http2.c:1576,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:1581,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1583,1
    - Dst: strncmp
      Src: /src/curl/lib/http2.c:1593,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http2.c:1596,1
    - Dst: curl_strequal
      Src: /src/curl/lib/http2.c:1601,1
    - Dst: curl_strequal
      Src: /src/curl/lib/http2.c:1603,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/curl/lib/http2.c:1609,1
    - Dst: free
      Src: /src/curl/lib/http2.c:1613,1
    - Dst: malloc
      Src: /src/curl/lib/http2.c:1620,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1631,1
    - Dst: free_push_headers
      Src: /src/curl/lib/http2.c:1632,1
    - Dst: realloc
      Src: /src/curl/lib/http2.c:1636,1
    - Dst: free_push_headers
      Src: /src/curl/lib/http2.c:1639,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http2.c:1644,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1652,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/http2.c:1654,1
    - Dst: cf_h2_header_error
      Src: /src/curl/lib/http2.c:1658,1
    - Dst: memcmp
      Src: /src/curl/lib/http2.c:1666,1
    - Dst: Curl_http_decode_status
      Src: /src/curl/lib/http2.c:1669,1
    - Dst: cf_h2_header_error
      Src: /src/curl/lib/http2.c:1672,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/http2.c:1675,1
    - Dst: Curl_headers_push
      Src: /src/curl/lib/http2.c:1677,1
    - Dst: cf_h2_header_error
      Src: /src/curl/lib/http2.c:1679,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http2.c:1682,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http2.c:1683,1
    - Dst: STRCONST
      Src: /src/curl/lib/http2.c:1683,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http2.c:1685,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http2.c:1687,1
    - Dst: STRCONST
      Src: /src/curl/lib/http2.c:1687,1
    - Dst: h2_xfer_write_resp_hd
      Src: /src/curl/lib/http2.c:1689,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http2.c:1689,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http2.c:1690,1
    - Dst: cf_h2_header_error
      Src: /src/curl/lib/http2.c:1692,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/http2.c:1696,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:1697,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1699,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http2.c:1707,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http2.c:1708,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http2.c:1710,1
    - Dst: STRCONST
      Src: /src/curl/lib/http2.c:1710,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http2.c:1712,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/http2.c:1714,1
    - Dst: STRCONST
      Src: /src/curl/lib/http2.c:1714,1
    - Dst: h2_xfer_write_resp_hd
      Src: /src/curl/lib/http2.c:1716,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http2.c:1716,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http2.c:1717,1
    - Dst: cf_h2_header_error
      Src: /src/curl/lib/http2.c:1719,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/http2.c:1723,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:1724,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1726,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 105
    argCount: 8
    argNames:
    - session
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - userp
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1558
    functionDepth: 6
    functionLinenumber: 1558
    functionLinenumberEnd: 1730
    functionName: on_header
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_user_data
    - H2_STREAM_CTX
    - realloc
    - STRCONST
    - failf
    - curl_strequal
    - curlx_dyn_reset
    - curlx_dyn_addn
    - nghttp2_submit_rst_stream
    - Curl_headers_push
    - h2_xfer_write_resp_hd
    - curlx_dyn_len
    - strncmp
    - curl_maprintf
    - curlx_dyn_ptr
    - cf_h2_header_error
    - GOOD_EASY_HANDLE
    - CURL_TRC_CF
    - curl_msnprintf
    - free
    - DEBUGASSERT
    - malloc
    - Curl_http_decode_status
    - free_push_headers
    - CF_DATA_CURRENT
    - Curl_dynhds_add
    - memcmp
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: int
    signature: "int on_header(nghttp2_session *session, const nghttp2_frame *frame,\n
      \                    const uint8_t *name, size_t namelen,\n                     const
      uint8_t *value, size_t valuelen,\n                     uint8_t flags,\n                     void
      *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/curl/lib/http2.c:1754,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:1760,1
    - Dst: Curl_bufq_read
      Src: /src/curl/lib/http2.c:1764,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1773,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:1776,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - session
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - userp
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1732
    functionDepth: 4
    functionLinenumber: 1732
    functionLinenumberEnd: 1781
    functionName: req_body_read_callback
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_user_data
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - Curl_bufq_is_empty
    - Curl_bufq_read
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t req_body_read_callback(nghttp2_session *session,\n                                      int32_t
      stream_id,\n                                      uint8_t *buf, size_t length,\n
      \                                     uint32_t *data_flags,\n                                      nghttp2_data_source
      *source,\n                                      void *userp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/http2.c:1790,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - session
    - msg
    - len
    - userp
    argTypes:
    - nghttp2_session*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1794
    functionName: error_callback
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - CF_DATA_CURRENT
    - failf
    linkageType: ''
    returnType: int
    signature: "int error_callback(nghttp2_session *session,\n                          const
      char *msg,\n                          size_t len,\n                          void
      *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: populate_binsettings
      Src: /src/curl/lib/http2.c:1810,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1812,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http2.c:1813,1
    - Dst: curlx_base64url_encode
      Src: /src/curl/lib/http2.c:1817,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http2.c:1820,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http2.c:1826,1
    - Dst: free
      Src: /src/curl/lib/http2.c:1830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct dynbuf*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1800
    functionDepth: 3
    functionLinenumber: 1800
    functionLinenumberEnd: 1836
    functionName: Curl_http2_request_upgrade
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - curlx_base64url_encode
    - failf
    - populate_binsettings
    - curlx_dyn_free
    - free
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http2_request_upgrade(struct dynbuf *req,\n                                    struct
      Curl_easy *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1847,1
    - Dst: connclose
      Src: /src/curl/lib/http2.c:1849,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1855,1
    - Dst: nghttp2_http2_strerror
      Src: /src/curl/lib/http2.c:1857,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1862,1
    - Dst: nghttp2_http2_strerror
      Src: /src/curl/lib/http2.c:1863,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1868,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:1873,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/lib/http2.c:1879,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/http2.c:1885,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/lib/http2.c:1886,1
    - Dst: Curl_dynhds_getn
      Src: /src/curl/lib/http2.c:1887,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/http2.c:1890,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/http2.c:1891,1
    - Dst: Curl_debug
      Src: /src/curl/lib/http2.c:1896,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http2.c:1896,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http2.c:1897,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/http2.c:1898,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/http2.c:1899,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/http2.c:1899,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/http2.c:1903,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1912,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - pnlen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1838
    functionDepth: 8
    functionLinenumber: 1838
    functionLinenumberEnd: 1914
    functionName: http2_handle_stream_close
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_dynhds_count
    - Curl_client_write
    - curlx_dyn_reset
    - curlx_dyn_free
    - curlx_dyn_init
    - connclose
    - curlx_dyn_len
    - curlx_dyn_ptr
    - nghttp2_http2_strerror
    - Curl_dynhds_getn
    - curlx_dyn_addf
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_handle_stream_close(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          struct h2_stream_ctx
      *stream,\n                                          size_t *pnlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1921
    functionName: sweight_wanted
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sweight_wanted(const struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1928
    functionName: sweight_in_effect
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sweight_in_effect(const struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:1941,1
    - Dst: nghttp2_priority_spec_init
      Src: /src/curl/lib/http2.c:1943,1
    - Dst: sweight_wanted
      Src: /src/curl/lib/http2.c:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - pri_spec
    argTypes:
    - struct cf_h2_ctx*
    - struct Curl_easy*
    - nghttp2_priority_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1936
    functionDepth: 1
    functionLinenumber: 1936
    functionLinenumberEnd: 1947
    functionName: h2_pri_spec
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_priority_spec_init
    - sweight_wanted
    - H2_STREAM_CTX
    linkageType: ''
    returnType: void
    signature: "void h2_pri_spec(struct cf_h2_ctx *ctx,\n                        struct
      Curl_easy *data,\n                        nghttp2_priority_spec *pri_spec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:1959,1
    - Dst: sweight_wanted
      Src: /src/curl/lib/http2.c:1963,1
    - Dst: sweight_in_effect
      Src: /src/curl/lib/http2.c:1963,1
    - Dst: h2_pri_spec
      Src: /src/curl/lib/http2.c:1969,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1970,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:1971,1
    - Dst: nghttp2_submit_priority
      Src: /src/curl/lib/http2.c:1972,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/http2.c:1979,1
    - Dst: nghttp2_session_send
      Src: /src/curl/lib/http2.c:1980,1
    - Dst: nghttp2_is_fatal
      Src: /src/curl/lib/http2.c:1983,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:1984,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:1985,1
    - Dst: nw_out_flush
      Src: /src/curl/lib/http2.c:1993,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1955
    functionDepth: 3
    functionLinenumber: 1955
    functionLinenumberEnd: 1994
    functionName: h2_progress_egress
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 5
    functionsReached:
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - nghttp2_is_fatal
    - nghttp2_session_send
    - nw_out_flush
    - sweight_in_effect
    - sweight_wanted
    - nghttp2_submit_priority
    - nghttp2_session_want_write
    - nghttp2_strerror
    - h2_pri_spec
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_progress_egress(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2008,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2012,1
    - Dst: http2_handle_stream_close
      Src: /src/curl/lib/http2.c:2013,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2016,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2018,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2023,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 1996
    functionDepth: 9
    functionLinenumber: 1996
    functionLinenumberEnd: 2026
    functionName: stream_recv
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_is_empty
    - CURL_TRC_CF
    - http2_handle_stream_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode stream_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                           struct h2_stream_ctx *stream,\n                            char
      *buf, size_t len, size_t *pnread)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: should_close_session
      Src: /src/curl/lib/http2.c:2037,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2038,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2043,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2044,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:2045,1
    - Dst: h2_process_pending_input
      Src: /src/curl/lib/http2.c:2046,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2057,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:2058,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/curl/lib/http2.c:2064,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:2065,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2069,1
    - Dst: Curl_cf_recv_bufq
      Src: /src/curl/lib/http2.c:2073,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:2076,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/http2.c:2077,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2083,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2088,1
    - Dst: h2_process_pending_input
      Src: /src/curl/lib/http2.c:2092,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2095,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:2096,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2099,1
    - Dst: connclose
      Src: /src/curl/lib/http2.c:2100,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2103,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 3
    argNames:
    - cf
    - data
    - data_max_bytes
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2028
    functionDepth: 5
    functionLinenumber: 2028
    functionLinenumberEnd: 2105
    functionName: h2_progress_ingress
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 4
    functionsReached:
    - struct Curl_cfilter*::next::cft::has_data_pending
    - failf
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - curl_easy_strerror
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - should_close_session
    - h2_process_pending_input
    - connclose
    - Curl_cf_recv_bufq
    - Curl_multi_mark_dirty
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_progress_ingress(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    size_t data_max_bytes)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:2111,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:2121,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2126,1
    - Dst: stream_recv
      Src: /src/curl/lib/http2.c:2128,1
    - Dst: h2_progress_ingress
      Src: /src/curl/lib/http2.c:2133,1
    - Dst: stream_recv
      Src: /src/curl/lib/http2.c:2137,1
    - Dst: nghttp2_session_consume
      Src: /src/curl/lib/http2.c:2144,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2146,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:2147,1
    - Dst: h2_progress_egress
      Src: /src/curl/lib/http2.c:2152,1
    - Dst: CURL_WANT_SEND
      Src: /src/curl/lib/http2.c:2157,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:2158,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2163,1
    - Dst: nghttp2_session_get_stream_effective_recv_data_length
      Src: /src/curl/lib/http2.c:2166,1
    - Dst: nghttp2_session_get_stream_effective_local_window_size
      Src: /src/curl/lib/http2.c:2168,1
    - Dst: nghttp2_session_get_local_window_size
      Src: /src/curl/lib/http2.c:2170,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2173,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2107
    functionDepth: 10
    functionLinenumber: 2107
    functionLinenumberEnd: 2175
    functionName: cf_h2_recv
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - failf
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - CF_DATA_RESTORE
    - nghttp2_session_get_stream_effective_recv_data_length
    - h2_progress_egress
    - CURL_WANT_SEND
    - stream_recv
    - nghttp2_session_get_stream_effective_local_window_size
    - nghttp2_session_get_local_window_size
    - h2_progress_ingress
    - nghttp2_session_consume
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                          char *buf, size_t len, size_t *pnread)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2193,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:2201,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/http2.c:2206,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2213,1
    - Dst: nghttp2_session_resume_data
      Src: /src/curl/lib/http2.c:2215,1
    - Dst: nghttp2_is_fatal
      Src: /src/curl/lib/http2.c:2216,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 7
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h2_stream_ctx*
    - void*
    - size_t
    - bool
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2177
    functionDepth: 5
    functionLinenumber: 2177
    functionLinenumberEnd: 2222
    functionName: cf_h2_body_send
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - Curl_bufq_write
    - nghttp2_is_fatal
    - infof
    - nghttp2_session_resume_data
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cf_h2_body_send(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h2_stream_ctx *stream,\n
      \                              const void *buf, size_t blen, bool eos,\n                               CURLcode
      *err)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/http2.c:2242,1
    - Dst: http2_data_setup
      Src: /src/curl/lib/http2.c:2244,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/curl/lib/http2.c:2248,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2256,1
    - Dst: Curl_http_req_to_h2
      Src: /src/curl/lib/http2.c:2258,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/curl/lib/http2.c:2262,1
    - Dst: Curl_dynhds_to_nva
      Src: /src/curl/lib/http2.c:2264,1
    - Dst: h2_pri_spec
      Src: /src/curl/lib/http2.c:2270,1
    - Dst: nghttp2_session_check_request_allowed
      Src: /src/curl/lib/http2.c:2271,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2272,1
    - Dst: nghttp2_submit_request
      Src: /src/curl/lib/http2.c:2281,1
    - Dst: nghttp2_submit_request
      Src: /src/curl/lib/http2.c:2285,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2290,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:2291,1
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/http2.c:2298,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:2301,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:2306,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:2312,1
    - Dst: cf_h2_body_send
      Src: /src/curl/lib/http2.c:2325,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2336,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/http2.c:2338,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/http2.c:2340,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 7
    argNames:
    - pstream
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct h2_stream_ctx**
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2224
    functionDepth: 6
    functionLinenumber: 2224
    functionLinenumberEnd: 2342
    functionName: h2_submit
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - cf_h2_body_send
    - Curl_h1_req_parse_free
    - Curl_safefree
    - CURL_TRC_CF
    - Curl_http_req_to_h2
    - Curl_trc_is_verbose
    - Curl_dynhds_free
    - http2_data_setup
    - nghttp2_session_check_request_allowed
    - Curl_h1_req_parse_read
    - Curl_dynhds_to_nva
    - infof
    - nghttp2_strerror
    - h2_pri_spec
    - DEBUGASSERT
    - Curl_dynhds_init
    - nghttp2_submit_request
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h2_submit(struct h2_stream_ctx **pstream,\n                          struct
      Curl_cfilter *cf, struct Curl_easy *data,\n                          const void
      *buf, size_t len,\n                          bool eos, size_t *pnwritten)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:2349,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2354,1
    - Dst: h2_submit
      Src: /src/curl/lib/http2.c:2358,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2361,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2368,1
    - Dst: cf_h2_body_send
      Src: /src/curl/lib/http2.c:2369,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2370,1
    - Dst: cf_h2_body_send
      Src: /src/curl/lib/http2.c:2378,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2379,1
    - Dst: h2_progress_egress
      Src: /src/curl/lib/http2.c:2387,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:2392,1
    - Dst: should_close_session
      Src: /src/curl/lib/http2.c:2401,1
    - Dst: http2_handle_stream_close
      Src: /src/curl/lib/http2.c:2405,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2408,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2415,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/curl/lib/http2.c:2420,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/curl/lib/http2.c:2422,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:2423,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:2424,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2427,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/curl/lib/http2.c:2430,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:2431,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2433,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2344
    functionDepth: 9
    functionLinenumber: 2344
    functionLinenumberEnd: 2435
    functionName: cf_h2_send
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - cf_h2_body_send
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - nghttp2_session_get_stream_remote_window_size
    - Curl_bufq_len
    - should_close_session
    - http2_handle_stream_close
    - nghttp2_session_get_remote_window_size
    - h2_submit
    - h2_progress_egress
    - infof
    - DEBUGASSERT
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                          const void *buf, size_t len, bool eos,\n                           size_t
      *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:2441,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2445,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2446,1
    - Dst: nghttp2_session_resume_data
      Src: /src/curl/lib/http2.c:2448,1
    - Dst: nghttp2_is_fatal
      Src: /src/curl/lib/http2.c:2449,1
    - Dst: h2_progress_egress
      Src: /src/curl/lib/http2.c:2455,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2459,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/curl/lib/http2.c:2463,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/curl/lib/http2.c:2465,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:2466,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:2467,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2470,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/curl/lib/http2.c:2472,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/http2.c:2473,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2437
    functionDepth: 4
    functionLinenumber: 2437
    functionLinenumberEnd: 2477
    functionName: cf_h2_flush
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - nghttp2_session_get_stream_remote_window_size
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - nghttp2_is_fatal
    - nghttp2_session_get_remote_window_size
    - h2_progress_egress
    - nghttp2_session_resume_data
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_flush(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/http2.c:2492,1
    - Dst: Curl_pollset_check
      Src: /src/curl/lib/http2.c:2493,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:2495,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2498,1
    - Dst: nghttp2_session_get_remote_window_size
      Src: /src/curl/lib/http2.c:2499,1
    - Dst: nghttp2_session_get_stream_remote_window_size
      Src: /src/curl/lib/http2.c:2501,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/http2.c:2505,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2506,1
    - Dst: Curl_pollset_set
      Src: /src/curl/lib/http2.c:2508,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2509,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2513,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/http2.c:2514,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2515,1
    - Dst: nghttp2_session_want_read
      Src: /src/curl/lib/http2.c:2516,1
    - Dst: Curl_pollset_set
      Src: /src/curl/lib/http2.c:2517,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2518,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2479
    functionDepth: 2
    functionLinenumber: 2479
    functionLinenumberEnd: 2521
    functionName: cf_h2_adjust_pollset
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    - CF_DATA_RESTORE
    - nghttp2_session_get_stream_remote_window_size
    - H2_STREAM_CTX
    - Curl_pollset_set
    - Curl_bufq_is_empty
    - nghttp2_session_get_remote_window_size
    - nghttp2_session_want_write
    - nghttp2_session_want_read
    - Curl_pollset_check
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_adjust_pollset(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct easy_pollset *ps)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/http2.c:2539,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2546,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2547,1
    - Dst: cf_h2_ctx_open
      Src: /src/curl/lib/http2.c:2549,1
    - Dst: h2_progress_ingress
      Src: /src/curl/lib/http2.c:2556,1
    - Dst: h2_progress_egress
      Src: /src/curl/lib/http2.c:2563,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2572,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2573,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2523
    functionDepth: 6
    functionLinenumber: 2523
    functionLinenumberEnd: 2575
    functionName: cf_h2_connect
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - Curl_conn_cf_connect
    - cf_h2_ctx_open
    - h2_progress_egress
    - h2_progress_ingress
    - DEBUGASSERT
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_connect(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2584,1
    - Dst: cf_h2_ctx_close
      Src: /src/curl/lib/http2.c:2585,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2586,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/http2.c:2590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2577
    functionDepth: 1
    functionLinenumber: 2577
    functionLinenumberEnd: 2591
    functionName: cf_h2_close
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::do_close
    - CF_DATA_RESTORE
    - CF_DATA_SAVE
    - cf_h2_ctx_close
    linkageType: ''
    returnType: void
    signature: void cf_h2_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_h2_ctx_free
      Src: /src/curl/lib/http2.c:2599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2593
    functionDepth: 6
    functionLinenumber: 2593
    functionLinenumberEnd: 2602
    functionName: cf_h2_destroy
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - cf_h2_ctx_free
    linkageType: ''
    returnType: void
    signature: void cf_h2_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2617,1
    - Dst: nghttp2_submit_goaway
      Src: /src/curl/lib/http2.c:2621,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:2626,1
    - Dst: nghttp2_strerror
      Src: /src/curl/lib/http2.c:2627,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/http2.c:2634,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2635,1
    - Dst: h2_progress_egress
      Src: /src/curl/lib/http2.c:2636,1
    - Dst: nghttp2_session_want_read
      Src: /src/curl/lib/http2.c:2637,1
    - Dst: h2_progress_ingress
      Src: /src/curl/lib/http2.c:2638,1
    - Dst: nghttp2_session_want_write
      Src: /src/curl/lib/http2.c:2644,1
    - Dst: nghttp2_session_want_read
      Src: /src/curl/lib/http2.c:2645,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2646,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2649,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2604
    functionDepth: 6
    functionLinenumber: 2604
    functionLinenumberEnd: 2652
    functionName: cf_h2_shutdown
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_goaway
    - failf
    - CF_DATA_RESTORE
    - Curl_bufq_is_empty
    - h2_progress_ingress
    - h2_progress_egress
    - nghttp2_session_want_write
    - nghttp2_session_want_read
    - nghttp2_strerror
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_shutdown(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data, bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:2659,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2661,1
    - Dst: cf_h2_update_local_win
      Src: /src/curl/lib/http2.c:2666,1
    - Dst: h2_progress_egress
      Src: /src/curl/lib/http2.c:2671,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/http2.c:2679,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2681,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - cf
    - data
    - pause
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2654
    functionDepth: 4
    functionLinenumber: 2654
    functionLinenumberEnd: 2685
    functionName: http2_data_pause
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - H2_STREAM_CTX
    - h2_progress_egress
    - cf_h2_update_local_win
    - Curl_multi_mark_dirty
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_data_pause(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool pause)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2696,1
    - Dst: http2_data_pause
      Src: /src/curl/lib/http2.c:2701,1
    - Dst: cf_h2_flush
      Src: /src/curl/lib/http2.c:2704,1
    - Dst: http2_data_done
      Src: /src/curl/lib/http2.c:2707,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/curl/lib/http2.c:2712,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2687
    functionDepth: 5
    functionLinenumber: 2687
    functionLinenumberEnd: 2720
    functionName: cf_h2_cntrl
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - http2_data_pause
    - Curl_conn_set_multiplex
    - http2_data_done
    - CF_DATA_SAVE
    - cf_h2_flush
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_cntrl(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            int event, int arg1, void *arg2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2727,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/curl/lib/http2.c:2729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2722
    functionDepth: 2
    functionLinenumber: 2722
    functionLinenumberEnd: 2730
    functionName: cf_h2_data_pending
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::has_data_pending
    - Curl_bufq_is_empty
    linkageType: ''
    returnType: bool
    signature: "bool cf_h2_data_pending(struct Curl_cfilter *cf,\n                               const
      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2741,1
    - Dst: http2_connisalive
      Src: /src/curl/lib/http2.c:2742,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2743,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2732
    functionDepth: 6
    functionLinenumber: 2732
    functionLinenumberEnd: 2747
    functionName: cf_h2_is_alive
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - http2_connisalive
    - CURL_TRC_CF
    - CF_DATA_SAVE
    linkageType: ''
    returnType: bool
    signature: "bool cf_h2_is_alive(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           bool *input_pending)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2755,1
    - Dst: http2_send_ping
      Src: /src/curl/lib/http2.c:2756,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2749
    functionDepth: 1
    functionLinenumber: 2749
    functionLinenumberEnd: 2759
    functionName: cf_h2_keep_alive
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - http2_send_ping
    - CF_DATA_RESTORE
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_keep_alive(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2771,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/http2.c:2773,1
    - Dst: nghttp2_session_check_request_allowed
      Src: /src/curl/lib/http2.c:2774,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/http2.c:2776,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/http2.c:2782,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:2785,1
    - Dst: H2_STREAM_CTX
      Src: /src/curl/lib/http2.c:2790,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2791,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/http2.c:2792,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/http2.c:2805,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2761
    functionDepth: 2
    functionLinenumber: 2761
    functionLinenumberEnd: 2807
    functionName: cf_h2_query
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - CONN_ATTACHED
    - CF_DATA_RESTORE
    - struct Curl_cfilter*::next::cft::query
    - H2_STREAM_CTX
    - Curl_bufq_is_empty
    - nghttp2_session_check_request_allowed
    - DEBUGASSERT
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h2_query(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            int query, int *pres1, void *pres2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2837,1
    - Dst: calloc
      Src: /src/curl/lib/http2.c:2838,1
    - Dst: cf_h2_ctx_init
      Src: /src/curl/lib/http2.c:2841,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/http2.c:2843,1
    - Dst: Curl_conn_cf_add
      Src: /src/curl/lib/http2.c:2848,1
    - Dst: cf_h2_ctx_free
      Src: /src/curl/lib/http2.c:2852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - sockindex
    - via_h1_upgrade
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2827
    functionDepth: 6
    functionLinenumber: 2827
    functionLinenumberEnd: 2855
    functionName: http2_cfilter_add
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - calloc
    - Curl_cf_create
    - cf_h2_ctx_init
    - cf_h2_ctx_free
    - Curl_conn_cf_add
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_cfilter_add(struct Curl_cfilter **pcf,\n                                  struct
      Curl_easy *data,\n                                  struct connectdata *conn,\n
      \                                 int sockindex,\n                                  bool
      via_h1_upgrade)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/http2.c:2866,1
    - Dst: cf_h2_ctx_init
      Src: /src/curl/lib/http2.c:2869,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/http2.c:2871,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/http2.c:2876,1
    - Dst: cf_h2_ctx_free
      Src: /src/curl/lib/http2.c:2880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cf
    - data
    - via_h1_upgrade
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2857
    functionDepth: 6
    functionLinenumber: 2857
    functionLinenumberEnd: 2882
    functionName: http2_cfilter_insert_after
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - calloc
    - Curl_cf_create
    - cf_h2_ctx_init
    - cf_h2_ctx_free
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http2_cfilter_insert_after(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           bool via_h1_upgrade)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/http2.c:2886,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:2893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2884
    functionDepth: 1
    functionLinenumber: 2884
    functionLinenumberEnd: 2900
    functionName: Curl_http2_may_switch
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - infof
    - Curl_conn_http_version
    linkageType: ''
    returnType: bool
    signature: bool Curl_http2_may_switch(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2907,1
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/http2.c:2907,1
    - Dst: http2_cfilter_add
      Src: /src/curl/lib/http2.c:2909,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2912,1
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/http2.c:2916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2919
      start: 2902
    functionDepth: 7
    functionLinenumber: 2902
    functionLinenumberEnd: 2919
    functionName: Curl_http2_switch
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_CF
    - Curl_conn_cf_connect
    - Curl_conn_http_version
    - http2_cfilter_add
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http2_switch(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2926,1
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/http2.c:2926,1
    - Dst: http2_cfilter_insert_after
      Src: /src/curl/lib/http2.c:2928,1
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/http2.c:2936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2921
    functionDepth: 7
    functionLinenumber: 2921
    functionLinenumberEnd: 2939
    functionName: Curl_http2_switch_at
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - http2_cfilter_insert_after
    - Curl_conn_cf_connect
    - DEBUGASSERT
    - Curl_conn_http_version
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_http2_switch_at(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2949,1
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/http2.c:2949,1
    - Dst: http2_cfilter_add
      Src: /src/curl/lib/http2.c:2951,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http2.c:2954,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http2.c:2956,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/http2.c:2969,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:2972,1
    - Dst: failf
      Src: /src/curl/lib/http2.c:2976,1
    - Dst: infof
      Src: /src/curl/lib/http2.c:2981,1
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/http2.c:2987,1
    - Dst: struct Curl_cfilter*::cft::cntrl
      Src: /src/curl/lib/http2.c:2989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - data
    - conn
    - sockindex
    - mem
    - nread
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2941
    functionDepth: 7
    functionLinenumber: 2941
    functionLinenumberEnd: 2992
    functionName: Curl_http2_upgrade
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 1
    functionsReached:
    - failf
    - CURL_TRC_CF
    - Curl_conn_cf_connect
    - Curl_bufq_write
    - Curl_conn_http_version
    - http2_cfilter_add
    - struct Curl_cfilter*::cft::cntrl
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http2_upgrade(struct Curl_easy *data,\n                            struct
      connectdata *conn, int sockindex,\n                            const char *mem,
      size_t nread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_http_version
      Src: /src/curl/lib/http2.c:2998,1
    - Dst: Curl_conn_get_stream_error
      Src: /src/curl/lib/http2.c:2999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2996
    functionDepth: 2
    functionLinenumber: 2996
    functionLinenumberEnd: 3003
    functionName: Curl_h2_http_1_1_error
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_get_stream_error
    - Curl_conn_http_version
    linkageType: ''
    returnType: bool
    signature: bool Curl_h2_http_1_1_error(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cmalloc
      Src: /src/curl/lib/http2.c:3008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - user_data
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3009
    functionName: Curl_nghttp2_malloc
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_cmalloc
    linkageType: ''
    returnType: void
    signature: void *Curl_nghttp2_malloc(size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cfree
      Src: /src/curl/lib/http2.c:3014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 3011
    functionDepth: 0
    functionLinenumber: 3011
    functionLinenumberEnd: 3015
    functionName: Curl_nghttp2_free
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_cfree
    linkageType: ''
    returnType: void
    signature: void Curl_nghttp2_free(void *ptr, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ccalloc
      Src: /src/curl/lib/http2.c:3020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nmemb
    - size
    - user_data
    argTypes:
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3021
    functionName: Curl_nghttp2_calloc
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_ccalloc
    linkageType: ''
    returnType: void
    signature: void *Curl_nghttp2_calloc(size_t nmemb, size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_crealloc
      Src: /src/curl/lib/http2.c:3026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - user_data
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3027
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3027
    functionName: Curl_nghttp2_realloc
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 0
    functionsReached:
    - Curl_crealloc
    linkageType: ''
    returnType: void
    signature: void *Curl_nghttp2_realloc(void *ptr, size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - h
    - num
    argTypes:
    - struct curl_pushheaders*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3034
    functionDepth: 0
    functionLinenumber: 3034
    functionLinenumberEnd: 3039
    functionName: curl_pushheader_bynum
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *curl_pushheader_bynum(struct curl_pushheaders *h, size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - h
    - header
    argTypes:
    - struct curl_pushheaders*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3046
    functionName: curl_pushheader_byname
    functionSourceFile: /src/curl/lib/http2.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *curl_pushheader_byname(struct curl_pushheaders *h, const char
      *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: Curl_sndbuf_init
    functionSourceFile: /src/curl/lib/cf-socket.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_sndbuf_init(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: setsockopt
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setsockopt(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: SET_RCVTIMEO
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RCVTIMEO(tv,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: SET_RCVTIMEO
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RCVTIMEO(tv,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: SET_RCVTIMEO
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RCVTIMEO(tv,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTMP_Close
      Src: /src/curl/lib/curl_rtmp.c:229,1
    - Dst: RTMP_Free
      Src: /src/curl/lib/curl_rtmp.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: rtmp_conn_dtor
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - RTMP_Free
    - RTMP_Close
    linkageType: ''
    returnType: void
    signature: void rtmp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTMP_Alloc
      Src: /src/curl/lib/curl_rtmp.c:236,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/curl_rtmp.c:238,1
    - Dst: RTMP_Init
      Src: /src/curl/lib/curl_rtmp.c:241,1
    - Dst: RTMP_SetBufferMS
      Src: /src/curl/lib/curl_rtmp.c:242,1
    - Dst: RTMP_SetupURL
      Src: /src/curl/lib/curl_rtmp.c:243,1
    - Dst: RTMP_Free
      Src: /src/curl/lib/curl_rtmp.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: rtmp_setup_connection
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - RTMP_Alloc
    - RTMP_Init
    - RTMP_SetupURL
    - Curl_conn_meta_set
    - RTMP_Free
    - RTMP_SetBufferMS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/curl_rtmp.c:253,1
    - Dst: SET_RCVTIMEO
      Src: /src/curl/lib/curl_rtmp.c:254,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/curl_rtmp.c:272,1
    - Dst: setsockopt
      Src: /src/curl/lib/curl_rtmp.c:273,1
    - Dst: RTMP_Connect1
      Src: /src/curl/lib/curl_rtmp.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 286
    functionName: rtmp_connect
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - curlx_nonblock
    - RTMP_Connect1
    - Curl_conn_meta_get
    - SET_RCVTIMEO
    - setsockopt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtmp_connect(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/curl_rtmp.c:291,1
    - Dst: RTMP_ConnectStream
      Src: /src/curl/lib/curl_rtmp.c:293,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/curl_rtmp.c:297,1
    - Dst: Curl_xfer_setup_send
      Src: /src/curl/lib/curl_rtmp.c:298,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/curl_rtmp.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 304
    functionName: rtmp_do
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_send
    - RTMP_ConnectStream
    - Curl_pgrsSetUploadSize
    - Curl_xfer_setup_recv
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtmp_do(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: rtmp_done
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/curl_rtmp.c:320,1
    - Dst: Curl_conn_meta_remove
      Src: /src/curl/lib/curl_rtmp.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: rtmp_disconnect
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_conn_meta_remove
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                bool dead_connection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/curl_rtmp.c:332,1
    - Dst: RTMP_Read
      Src: /src/curl/lib/curl_rtmp.c:341,1
    - Dst: curlx_uztosi
      Src: /src/curl/lib/curl_rtmp.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - data
    - sockindex
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 354
    functionName: rtmp_recv
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - curlx_uztosi
    - Curl_conn_meta_get
    - RTMP_Read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_recv(struct Curl_easy *data, int sockindex, char *buf,\n
      \                         size_t len, size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/curl_rtmp.c:361,1
    - Dst: RTMP_Write
      Src: /src/curl/lib/curl_rtmp.c:370,1
    - Dst: curlx_uztosi
      Src: /src/curl/lib/curl_rtmp.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - data
    - sockindex
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 376
    functionName: rtmp_send
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - curlx_uztosi
    - Curl_conn_meta_get
    - RTMP_Write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtmp_send(struct Curl_easy *data, int sockindex,\n                          const
      void *buf, size_t len, bool eos,\n                          size_t *pnwritten)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/curl_rtmp.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - version
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 378
    functionDepth: 6
    functionLinenumber: 378
    functionLinenumberEnd: 391
    functionName: Curl_rtmp_version
    functionSourceFile: /src/curl/lib/curl_rtmp.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_rtmp_version(char *version, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: gopher_connect
    functionSourceFile: /src/curl/lib/gopher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode gopher_connect(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/gopher.c:127,1
    - Dst: connclose
      Src: /src/curl/lib/gopher.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: gopher_connecting
    functionSourceFile: /src/curl/lib/gopher.c
    functionUses: 0
    functionsReached:
    - connclose
    - Curl_conn_connect
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode gopher_connecting(struct Curl_easy *data, bool *done)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/gopher.c:153,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/gopher.c:156,1
    - Dst: strdup
      Src: /src/curl/lib/gopher.c:158,1
    - Dst: strlen
      Src: /src/curl/lib/gopher.c:164,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/gopher.c:165,1
    - Dst: strlen
      Src: /src/curl/lib/gopher.c:166,1
    - Dst: free
      Src: /src/curl/lib/gopher.c:167,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/gopher.c:177,1
    - Dst: free
      Src: /src/curl/lib/gopher.c:178,1
    - Dst: curlx_uztosz
      Src: /src/curl/lib/gopher.c:184,1
    - Dst: strlen
      Src: /src/curl/lib/gopher.c:189,1
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/gopher.c:192,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/gopher.c:194,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/gopher.c:206,1
    - Dst: SOCKET_WRITABLE
      Src: /src/curl/lib/gopher.c:220,1
    - Dst: free
      Src: /src/curl/lib/gopher.c:231,1
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/gopher.c:234,1
    - Dst: failf
      Src: /src/curl/lib/gopher.c:236,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/gopher.c:239,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/gopher.c:243,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 245
    functionName: gopher_do
    functionSourceFile: /src/curl/lib/gopher.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_send
    - strlen
    - Curl_timeleft
    - SOCKET_WRITABLE
    - failf
    - strdup
    - curlx_uztosz
    - Curl_client_write
    - Curl_xfer_setup_recv
    - CURL_UNCONST
    - free
    - Curl_urldecode
    - DEBUGASSERT
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode gopher_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/dict.c:117,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/dict.c:125,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/dict.c:127,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/dict.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: unescape_word
    functionSourceFile: /src/curl/lib/dict.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_dyn_init
    - curlx_dyn_ptr
    linkageType: ''
    returnType: char
    signature: char *unescape_word(const char *input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/dict.c:146,1
    - Dst: curl_mvaprintf
      Src: /src/curl/lib/dict.c:147,1
    - Dst: va_end
      Src: /src/curl/lib/dict.c:148,1
    - Dst: strlen
      Src: /src/curl/lib/dict.c:153,1
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/dict.c:158,1
    - Dst: Curl_debug
      Src: /src/curl/lib/dict.c:163,1
    - Dst: free
      Src: /src/curl/lib/dict.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - data
    - fmt
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 138
    functionDepth: 8
    functionLinenumber: 138
    functionLinenumberEnd: 178
    functionName: sendf
    functionSourceFile: /src/curl/lib/dict.c
    functionUses: 12
    functionsReached:
    - Curl_xfer_send
    - strlen
    - va_start
    - free
    - va_end
    - curl_mvaprintf
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sendf(struct Curl_easy *data, const char *fmt, ...)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/curl/lib/dict.c:196,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/dict.c:200,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/dict.c:201,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/dict.c:202,1
    - Dst: strchr
      Src: /src/curl/lib/dict.c:204,1
    - Dst: strchr
      Src: /src/curl/lib/dict.c:207,1
    - Dst: strchr
      Src: /src/curl/lib/dict.c:210,1
    - Dst: strchr
      Src: /src/curl/lib/dict.c:213,1
    - Dst: infof
      Src: /src/curl/lib/dict.c:222,1
    - Dst: unescape_word
      Src: /src/curl/lib/dict.c:224,1
    - Dst: sendf
      Src: /src/curl/lib/dict.c:230,1
    - Dst: failf
      Src: /src/curl/lib/dict.c:242,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/dict.c:245,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/dict.c:247,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/dict.c:248,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/dict.c:249,1
    - Dst: strchr
      Src: /src/curl/lib/dict.c:251,1
    - Dst: strchr
      Src: /src/curl/lib/dict.c:254,1
    - Dst: strchr
      Src: /src/curl/lib/dict.c:257,1
    - Dst: infof
      Src: /src/curl/lib/dict.c:265,1
    - Dst: unescape_word
      Src: /src/curl/lib/dict.c:267,1
    - Dst: sendf
      Src: /src/curl/lib/dict.c:273,1
    - Dst: failf
      Src: /src/curl/lib/dict.c:283,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/dict.c:286,1
    - Dst: strchr
      Src: /src/curl/lib/dict.c:290,1
    - Dst: sendf
      Src: /src/curl/lib/dict.c:299,1
    - Dst: failf
      Src: /src/curl/lib/dict.c:304,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/dict.c:308,1
    - Dst: free
      Src: /src/curl/lib/dict.c:313,1
    - Dst: free
      Src: /src/curl/lib/dict.c:314,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 180
    functionDepth: 9
    functionLinenumber: 180
    functionLinenumberEnd: 316
    functionName: dict_do
    functionSourceFile: /src/curl/lib/dict.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - failf
    - sendf
    - strchr
    - Curl_xfer_setup_recv
    - free
    - unescape_word
    - infof
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode dict_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/rand.c:70,1
    - Dst: BCryptGenRandom
      Src: /src/curl/lib/rand.c:73,1
    - Dst: CryptAcquireContext
      Src: /src/curl/lib/rand.c:82,1
    - Dst: CryptGenRandom
      Src: /src/curl/lib/rand.c:86,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/rand.c:87,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/rand.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - entropy
    - length
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 97
    functionName: Curl_win32_random
    functionSourceFile: /src/curl/lib/rand.c
    functionUses: 0
    functionsReached:
    - CryptReleaseContext
    - CryptGenRandom
    - BCryptGenRandom
    - memset
    - CryptAcquireContext
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_win32_random(unsigned char *entropy, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rand.c:107,1
    - Dst: Curl_win32_random
      Src: /src/curl/lib/rand.c:113,1
    - Dst: arc4random
      Src: /src/curl/lib/rand.c:121,1
    - Dst: memcpy
      Src: /src/curl/lib/rand.c:122,1
    - Dst: infof
      Src: /src/curl/lib/rand.c:124,1
    - Dst: curlx_now
      Src: /src/curl/lib/rand.c:130,1
    - Dst: memcpy
      Src: /src/curl/lib/rand.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 145
    functionName: weak_random
    functionSourceFile: /src/curl/lib/rand.c
    functionUses: 0
    functionsReached:
    - Curl_win32_random
    - curlx_now
    - memcpy
    - infof
    - arc4random
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode weak_random(struct Curl_easy *data,\n                            unsigned
      char *entropy,\n                            size_t length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/rand.c:153,1
    - Dst: strlen
      Src: /src/curl/lib/rand.c:160,1
    - Dst: memcpy
      Src: /src/curl/lib/rand.c:163,1
    - Dst: ntohl
      Src: /src/curl/lib/rand.c:164,1
    - Dst: Curl_ssl_random
      Src: /src/curl/lib/rand.c:179,1
    - Dst: weak_random
      Src: /src/curl/lib/rand.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - data
    - rnd
    - env_override
    argTypes:
    - struct Curl_easy*
    - unsigned int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 183
    functionName: randit
    functionSourceFile: /src/curl/lib/rand.c
    functionUses: 0
    functionsReached:
    - strlen
    - ntohl
    - getenv
    - Curl_ssl_random
    - memcpy
    - weak_random
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode randit(struct Curl_easy *data, unsigned int *rnd,\n                       bool
      env_override)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rand.c:211,1
    - Dst: randit
      Src: /src/curl/lib/rand.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - data
    - env_override
    - rnd
    - num
    argTypes:
    - struct Curl_easy*
    - DEBUGBUILD
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 230
    functionName: Curl_rand_bytes
    functionSourceFile: /src/curl/lib/rand.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - randit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_rand_bytes(struct Curl_easy *data,\n#ifdef DEBUGBUILD\n
      \                        bool env_override,\n#endif\n                         unsigned
      char *rnd, size_t num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rand.c:243,1
    - Dst: memset
      Src: /src/curl/lib/rand.c:248,1
    - Dst: DEBUGF
      Src: /src/curl/lib/rand.c:253,1
    - Dst: infof
      Src: /src/curl/lib/rand.c:253,1
    - Dst: Curl_rand
      Src: /src/curl/lib/rand.c:259,1
    - Dst: Curl_hexencode
      Src: /src/curl/lib/rand.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - rnd
    - num
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 265
    functionName: Curl_rand_hex
    functionSourceFile: /src/curl/lib/rand.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - Curl_rand
    - Curl_hexencode
    - memset
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_rand_hex(struct Curl_easy *data, unsigned char *rnd,\n
      \                      size_t num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rand.c:281,1
    - Dst: randit
      Src: /src/curl/lib/rand.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - rnd
    - num
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: Curl_rand_alnum
    functionSourceFile: /src/curl/lib/rand.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - randit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_rand_alnum(struct Curl_easy *data, unsigned char *rnd,\n
      \                        size_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/getinfo.c:77,1
    - Dst: free
      Src: /src/curl/lib/getinfo.c:80,1
    - Dst: memset
      Src: /src/curl/lib/getinfo.c:83,1
    - Dst: Curl_ssl_free_certinfo
      Src: /src/curl/lib/getinfo.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 95
    functionName: Curl_initinfo
    functionSourceFile: /src/curl/lib/getinfo.c
    functionUses: 4
    functionsReached:
    - free
    - Curl_ssl_free_certinfo
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_initinfo(struct Curl_easy *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: switch
      Src: /src/curl/lib/getinfo.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - data
    - info
    - param_charp
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 132
    functionName: getinfo_char
    functionSourceFile: /src/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - switch
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_char(struct Curl_easy *data, CURLINFO info,\n                             const
      char **param_charp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: DOUBLE_SECS
    functionSourceFile: /src/curl/lib/getinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOUBLE_SECS(x)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/getinfo.c:385,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/getinfo.c:388,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 3
    argNames:
    - data
    - info
    - param_offt
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 478
    functionName: getinfo_offt
    functionSourceFile: /src/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    - getenv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_offt(struct Curl_easy *data, CURLINFO info,\n                             curl_off_t
      *param_offt)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/getinfo.c:484,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/getinfo.c:487,1
    - Dst: DOUBLE_SECS
      Src: /src/curl/lib/getinfo.c:508,1
    - Dst: DOUBLE_SECS
      Src: /src/curl/lib/getinfo.c:511,1
    - Dst: DOUBLE_SECS
      Src: /src/curl/lib/getinfo.c:514,1
    - Dst: DOUBLE_SECS
      Src: /src/curl/lib/getinfo.c:517,1
    - Dst: DOUBLE_SECS
      Src: /src/curl/lib/getinfo.c:520,1
    - Dst: DOUBLE_SECS
      Src: /src/curl/lib/getinfo.c:523,1
    - Dst: DOUBLE_SECS
      Src: /src/curl/lib/getinfo.c:546,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 3
    argNames:
    - data
    - info
    - param_doublep
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 554
    functionName: getinfo_double
    functionSourceFile: /src/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    - DOUBLE_SECS
    - getenv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_double(struct Curl_easy *data, CURLINFO info,\n                               double
      *param_doublep)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_engines_list
      Src: /src/curl/lib/getinfo.c:566,1
    - Dst: Curl_cookie_list
      Src: /src/curl/lib/getinfo.c:569,1
    - Dst: Curl_conn_get_ssl_info
      Src: /src/curl/lib/getinfo.c:587,1
    - Dst: Curl_ssl_backend
      Src: /src/curl/lib/getinfo.c:588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - data
    - info
    - param_slistp
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - struct curl_slist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 598
    functionName: getinfo_slist
    functionSourceFile: /src/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_engines_list
    - Curl_ssl_backend
    - Curl_cookie_list
    - Curl_conn_get_ssl_info
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_slist(struct Curl_easy *data, CURLINFO info,\n                              struct
      curl_slist **param_slistp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_getconnectinfo
      Src: /src/curl/lib/getinfo.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - info
    - param_socketp
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    - curl_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 612
    functionName: getinfo_socket
    functionSourceFile: /src/curl/lib/getinfo.c
    functionUses: 0
    functionsReached:
    - Curl_getconnectinfo
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getinfo_socket(struct Curl_easy *data, CURLINFO info,\n                               curl_socket_t
      *param_socketp)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/getinfo.c:629,1
    - Dst: va_arg
      Src: /src/curl/lib/getinfo.c:634,1
    - Dst: getinfo_char
      Src: /src/curl/lib/getinfo.c:636,1
    - Dst: va_arg
      Src: /src/curl/lib/getinfo.c:639,1
    - Dst: getinfo_long
      Src: /src/curl/lib/getinfo.c:641,1
    - Dst: va_arg
      Src: /src/curl/lib/getinfo.c:644,1
    - Dst: getinfo_double
      Src: /src/curl/lib/getinfo.c:646,1
    - Dst: va_arg
      Src: /src/curl/lib/getinfo.c:649,1
    - Dst: getinfo_offt
      Src: /src/curl/lib/getinfo.c:651,1
    - Dst: va_arg
      Src: /src/curl/lib/getinfo.c:654,1
    - Dst: getinfo_slist
      Src: /src/curl/lib/getinfo.c:656,1
    - Dst: va_arg
      Src: /src/curl/lib/getinfo.c:659,1
    - Dst: getinfo_socket
      Src: /src/curl/lib/getinfo.c:661,1
    - Dst: va_end
      Src: /src/curl/lib/getinfo.c:668,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - data
    - info
    argTypes:
    - struct Curl_easy*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 671
    functionName: Curl_getinfo
    functionSourceFile: /src/curl/lib/getinfo.c
    functionUses: 2
    functionsReached:
    - getinfo_offt
    - va_start
    - va_arg
    - getinfo_slist
    - getinfo_socket
    - getinfo_double
    - va_end
    - getinfo_char
    - getinfo_long
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_getinfo(struct Curl_easy *data, CURLINFO info, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/http_proxy.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - n1
    - n1len
    - n2
    - n2len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: hd_name_eq
    functionSourceFile: /src/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: "bool hd_name_eq(const char *n1, size_t n1len,\n                       const
      char *n2, size_t n2len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/lib/http_proxy.c:105,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http_proxy.c:110,1
    - Dst: strlen
      Src: /src/curl/lib/http_proxy.c:113,1
    - Dst: strchr
      Src: /src/curl/lib/http_proxy.c:121,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http_proxy.c:132,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_proxy.c:145,1
    - Dst: hd_name_eq
      Src: /src/curl/lib/http_proxy.c:149,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:149,1
    - Dst: hd_name_eq
      Src: /src/curl/lib/http_proxy.c:153,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:153,1
    - Dst: hd_name_eq
      Src: /src/curl/lib/http_proxy.c:157,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:157,1
    - Dst: hd_name_eq
      Src: /src/curl/lib/http_proxy.c:162,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:162,1
    - Dst: hd_name_eq
      Src: /src/curl/lib/http_proxy.c:165,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:165,1
    - Dst: hd_name_eq
      Src: /src/curl/lib/http_proxy.c:168,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:168,1
    - Dst: hd_name_eq
      Src: /src/curl/lib/http_proxy.c:169,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:169,1
    - Dst: Curl_auth_allowed_to_host
      Src: /src/curl/lib/http_proxy.c:172,1
    - Dst: Curl_dynhds_add
      Src: /src/curl/lib/http_proxy.c:177,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 71
    argCount: 4
    argNames:
    - data
    - is_connect
    - httpversion
    - hds
    argTypes:
    - struct Curl_easy*
    - bool
    - int
    - struct dynhds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 185
    functionName: dynhds_add_custom
    functionSourceFile: /src/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - STRCONST
    - curlx_str_passblanks
    - strlen
    - hd_name_eq
    - strchr
    - Curl_auth_allowed_to_host
    - Curl_dynhds_add
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode dynhds_add_custom(struct Curl_easy *data,\n                                  bool
      is_connect, int httpversion,\n                                  struct dynhds
      *hds)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_proxy.c:191,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_proxy.c:192,1
    - Dst: strchr
      Src: /src/curl/lib/http_proxy.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - cf
    - phostname
    - pport
    - pipv6_ip
    argTypes:
    - struct Curl_cfilter*
    - char**
    - int*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 214
    functionName: Curl_http_proxy_get_destination
    functionSourceFile: /src/curl/lib/http_proxy.c
    functionUses: 1
    functionsReached:
    - strchr
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_proxy_get_destination(struct Curl_cfilter *cf,\n
      \                                        const char **phostname,\n                                         int
      *pport, bool *pipv6_ip)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_http_proxy_get_destination
      Src: /src/curl/lib/http_proxy.c:234,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_proxy.c:238,1
    - Dst: Curl_http_req_make
      Src: /src/curl/lib/http_proxy.c:245,1
    - Dst: strlen
      Src: /src/curl/lib/http_proxy.c:246,1
    - Dst: Curl_http_output_auth
      Src: /src/curl/lib/http_proxy.c:252,1
    - Dst: Curl_checkProxyheaders
      Src: /src/curl/lib/http_proxy.c:259,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:259,1
    - Dst: Curl_dynhds_cadd
      Src: /src/curl/lib/http_proxy.c:260,1
    - Dst: Curl_dynhds_h1_cadd_line
      Src: /src/curl/lib/http_proxy.c:266,1
    - Dst: Curl_checkProxyheaders
      Src: /src/curl/lib/http_proxy.c:272,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:272,1
    - Dst: Curl_dynhds_cadd
      Src: /src/curl/lib/http_proxy.c:274,1
    - Dst: Curl_checkProxyheaders
      Src: /src/curl/lib/http_proxy.c:281,1
    - Dst: STRCONST
      Src: /src/curl/lib/http_proxy.c:281,1
    - Dst: Curl_dynhds_cadd
      Src: /src/curl/lib/http_proxy.c:282,1
    - Dst: dynhds_add_custom
      Src: /src/curl/lib/http_proxy.c:287,1
    - Dst: Curl_http_req_free
      Src: /src/curl/lib/http_proxy.c:291,1
    - Dst: free
      Src: /src/curl/lib/http_proxy.c:294,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 4
    argNames:
    - preq
    - cf
    - data
    - http_version_major
    argTypes:
    - struct httpreq**
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 221
    functionDepth: 6
    functionLinenumber: 221
    functionLinenumberEnd: 297
    functionName: Curl_http_proxy_create_CONNECT
    functionSourceFile: /src/curl/lib/http_proxy.c
    functionUses: 1
    functionsReached:
    - strlen
    - Curl_dynhds_h1_cadd_line
    - Curl_http_output_auth
    - Curl_checkProxyheaders
    - free
    - Curl_http_req_free
    - Curl_http_proxy_get_destination
    - Curl_http_req_make
    - STRCONST
    - curl_maprintf
    - Curl_dynhds_cadd
    - dynhds_add_custom
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_http_proxy_create_CONNECT(struct httpreq **preq,\n                                        struct
      Curl_cfilter *cf,\n                                        struct Curl_easy
      *data,\n                                        int http_version_major)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http_proxy.c:311,1
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/curl/lib/http_proxy.c:313,1
    - Dst: Curl_conn_cf_get_alpn_negotiated
      Src: /src/curl/lib/http_proxy.c:320,1
    - Dst: infof
      Src: /src/curl/lib/http_proxy.c:323,1
    - Dst: infof
      Src: /src/curl/lib/http_proxy.c:325,1
    - Dst: strcmp
      Src: /src/curl/lib/http_proxy.c:327,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http_proxy.c:328,1
    - Dst: Curl_cf_h1_proxy_insert_after
      Src: /src/curl/lib/http_proxy.c:329,1
    - Dst: strcmp
      Src: /src/curl/lib/http_proxy.c:334,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http_proxy.c:335,1
    - Dst: Curl_cf_h1_proxy_insert_after
      Src: /src/curl/lib/http_proxy.c:336,1
    - Dst: strcmp
      Src: /src/curl/lib/http_proxy.c:343,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http_proxy.c:344,1
    - Dst: Curl_cf_h2_proxy_insert_after
      Src: /src/curl/lib/http_proxy.c:345,1
    - Dst: failf
      Src: /src/curl/lib/http_proxy.c:352,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 363
    functionName: http_proxy_cf_connect
    functionSourceFile: /src/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - Curl_cf_h1_proxy_insert_after
    - CURL_TRC_CF
    - failf
    - Curl_conn_cf_get_alpn_negotiated
    - struct Curl_cfilter*::next::cft::do_connect
    - strcmp
    - infof
    - Curl_cf_h2_proxy_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode http_proxy_cf_connect(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/http_proxy.c:391,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/http_proxy.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 401
    functionName: Curl_cf_http_proxy_query
    functionSourceFile: /src/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - struct Curl_cfilter*::next::cft::query
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_http_proxy_query(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  int query, int *pres1, void
      *pres2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http_proxy.c:409,1
    - Dst: free
      Src: /src/curl/lib/http_proxy.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: http_proxy_cf_destroy
    functionSourceFile: /src/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - free
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void http_proxy_cf_destroy(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/http_proxy.c:416,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/http_proxy.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: http_proxy_cf_close
    functionSourceFile: /src/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: "void http_proxy_cf_close(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/http_proxy.c:449,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/http_proxy.c:454,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/http_proxy.c:458,1
    - Dst: free
      Src: /src/curl/lib/http_proxy.c:461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 463
    functionName: Curl_cf_http_proxy_insert_after
    functionSourceFile: /src/curl/lib/http_proxy.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - Curl_cf_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_http_proxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                        struct Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/imap.c:284,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/imap.c:290,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/imap.c:294,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/imap.c:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - line
    - len
    - cmd
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: imap_matchresp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - strlen
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: bool imap_matchresp(const char *line, size_t len, const char *cmd)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:322,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/imap.c:323,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/imap.c:327,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/imap.c:328,1
    - Dst: strlen
      Src: /src/curl/lib/imap.c:334,1
    - Dst: memcmp
      Src: /src/curl/lib/imap.c:335,1
    - Dst: memcmp
      Src: /src/curl/lib/imap.c:339,1
    - Dst: memcmp
      Src: /src/curl/lib/imap.c:341,1
    - Dst: memcmp
      Src: /src/curl/lib/imap.c:350,1
    - Dst: imap_matchresp
      Src: /src/curl/lib/imap.c:354,1
    - Dst: imap_matchresp
      Src: /src/curl/lib/imap.c:359,1
    - Dst: imap_matchresp
      Src: /src/curl/lib/imap.c:360,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:361,1
    - Dst: imap_matchresp
      Src: /src/curl/lib/imap.c:362,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:363,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:364,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:365,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:366,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:367,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:368,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:369,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:370,1
    - Dst: imap_matchresp
      Src: /src/curl/lib/imap.c:380,1
    - Dst: imap_matchresp
      Src: /src/curl/lib/imap.c:385,1
    - Dst: memcmp
      Src: /src/curl/lib/imap.c:403,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:412,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 57
    argCount: 5
    argNames:
    - data
    - conn
    - line
    - len
    - resp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 421
    functionName: imap_endofresp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_matchresp
    - strlen
    - failf
    - curl_strequal
    - Curl_conn_meta_get
    - memcmp
    - Curl_meta_get
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool imap_endofresp(struct Curl_easy *data, struct connectdata *conn,\n
      \                          const char *line, size_t len, int *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:432,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:439,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/imap.c:455,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/imap.c:459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - data
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 462
    functionName: imap_get_message
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - curlx_dyn_ptr
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_get_message(struct Curl_easy *data, struct bufref *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/imap.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - imapc
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 501
    functionName: imap_state
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void imap_state(struct Curl_easy *data,\n                       struct
      imap_conn *imapc,\n                       imapstate newstate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:520,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - imapc
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 526
    functionName: imap_perform_capability
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_capability(struct Curl_easy *data,\n                                        struct
      imap_conn *imapc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:538,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - imapc
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: imap_perform_starttls
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_starttls(struct Curl_easy *data,\n                                      struct
      imap_conn *imapc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/imap.c:561,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/curl/lib/imap.c:562,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/imap.c:569,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/imap.c:570,1
    - Dst: DEBUGF
      Src: /src/curl/lib/imap.c:571,1
    - Dst: infof
      Src: /src/curl/lib/imap.c:571,1
    - Dst: imap_perform_capability
      Src: /src/curl/lib/imap.c:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - data
    - imapc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 586
    functionName: imap_perform_upgrade_tls
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - Curl_conn_is_ssl
    - Curl_ssl_cfilter_add
    - Curl_conn_connect
    - infof
    - DEBUGASSERT
    - imap_perform_capability
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_upgrade_tls(struct Curl_easy *data,\n                                         struct
      imap_conn *imapc,\n                                         struct connectdata
      *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:605,1
    - Dst: imap_atom
      Src: /src/curl/lib/imap.c:611,1
    - Dst: imap_atom
      Src: /src/curl/lib/imap.c:612,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:615,1
    - Dst: free
      Src: /src/curl/lib/imap.c:618,1
    - Dst: free
      Src: /src/curl/lib/imap.c:619,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - data
    - imapc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 625
    functionName: imap_perform_login
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - free
    - imap_sendf
    - imap_atom
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_login(struct Curl_easy *data,\n                                   struct
      imap_conn *imapc,\n                                   struct connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:639,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/imap.c:641,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:647,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - mech
    - initresp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 655
    functionName: imap_perform_authenticate
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_ptr
    - imap_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_authenticate(struct Curl_easy *data,\n                                          const
      char *mech,\n                                          const struct bufref *initresp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:668,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/imap.c:673,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/imap.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - mech
    - resp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 663
    functionDepth: 3
    functionLinenumber: 663
    functionLinenumberEnd: 675
    functionName: imap_continue_authenticate
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_ptr
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_continue_authenticate(struct Curl_easy *data,\n                                           const
      char *mech,\n                                           const struct bufref
      *resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:687,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/imap.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - mech
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 693
    functionName: imap_cancel_authenticate
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_cancel_authenticate(struct Curl_easy *data,\n                                         const
      char *mech)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sasl_can_authenticate
      Src: /src/curl/lib/imap.c:712,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:713,1
    - Dst: Curl_sasl_start
      Src: /src/curl/lib/imap.c:718,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:722,1
    - Dst: imap_perform_login
      Src: /src/curl/lib/imap.c:725,1
    - Dst: Curl_sasl_is_blocked
      Src: /src/curl/lib/imap.c:727,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - data
    - imapc
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 703
    functionDepth: 3
    functionLinenumber: 703
    functionLinenumberEnd: 731
    functionName: imap_perform_authentication
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_can_authenticate
    - Curl_sasl_is_blocked
    - imap_state
    - Curl_sasl_start
    - imap_perform_login
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_authentication(struct Curl_easy *data,\n                                            struct
      imap_conn *imapc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:747,1
    - Dst: imap_atom
      Src: /src/curl/lib/imap.c:751,1
    - Dst: strdup
      Src: /src/curl/lib/imap.c:752,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:757,1
    - Dst: free
      Src: /src/curl/lib/imap.c:759,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 766
    functionName: imap_perform_list
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - strdup
    - imap_state
    - free
    - imap_atom
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_list(struct Curl_easy *data,\n                                  struct
      imap_conn *imapc,\n                                  struct IMAP *imap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:782,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:783,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:787,1
    - Dst: imap_atom
      Src: /src/curl/lib/imap.c:792,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:797,1
    - Dst: free
      Src: /src/curl/lib/imap.c:799,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 805
    functionName: imap_perform_select
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - imap_sendf
    - failf
    - imap_state
    - free
    - imap_atom
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_select(struct Curl_easy *data,\n                                    struct
      imap_conn *imapc,\n                                    struct IMAP *imap)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:823,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:827,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:833,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:837,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:841,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 848
    functionName: imap_perform_fetch
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_fetch(struct Curl_easy *data,\n                                   struct
      imap_conn *imapc,\n                                   struct IMAP *imap)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/imap.c:866,1
    - Dst: curl_mime_headers
      Src: /src/curl/lib/imap.c:877,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/curl/lib/imap.c:878,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/imap.c:882,1
    - Dst: STRCONST
      Src: /src/curl/lib/imap.c:882,1
    - Dst: Curl_mime_add_header
      Src: /src/curl/lib/imap.c:883,1
    - Dst: Curl_creader_set_mime
      Src: /src/curl/lib/imap.c:887,1
    - Dst: Curl_creader_client_length
      Src: /src/curl/lib/imap.c:890,1
    - Dst: Curl_creader_set_fread
      Src: /src/curl/lib/imap.c:895,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:902,1
    - Dst: imap_atom
      Src: /src/curl/lib/imap.c:907,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/imap.c:912,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/imap.c:925,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/imap.c:931,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/imap.c:931,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/imap.c:932,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/imap.c:933,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/imap.c:938,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/imap.c:941,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:944,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:945,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/imap.c:948,1
    - Dst: free
      Src: /src/curl/lib/imap.c:949,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:952,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 856
    functionDepth: 6
    functionLinenumber: 856
    functionLinenumberEnd: 955
    functionName: imap_perform_append
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - Curl_mime_add_header
    - imap_sendf
    - failf
    - curl_mime_headers
    - Curl_creader_set_fread
    - Curl_checkheaders
    - imap_state
    - Curl_mime_prepare_headers
    - curlx_dyn_free
    - free
    - curlx_dyn_init
    - imap_atom
    - Curl_creader_client_length
    - curlx_dyn_len
    - STRCONST
    - curlx_dyn_ptr
    - Curl_creader_set_mime
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_append(struct Curl_easy *data,\n                                    struct
      imap_conn *imapc,\n                                    struct IMAP *imap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/imap.c:971,1
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:976,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - imapc
    - imap
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 982
    functionName: imap_perform_search
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_search(struct Curl_easy *data,\n                                    struct
      imap_conn *imapc,\n                                    struct IMAP *imap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_sendf
      Src: /src/curl/lib/imap.c:994,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - imapc
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 1000
    functionName: imap_perform_logout
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_sendf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform_logout(struct Curl_easy *data,\n                                    struct
      imap_conn *imapc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/imap.c:1013,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:1016,1
    - Dst: imap_perform_capability
      Src: /src/curl/lib/imap.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1021
    functionName: imap_state_servergreet_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - infof
    - failf
    - imap_perform_capability
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_servergreet_resp(struct Curl_easy *data,\n                                            struct
      imap_conn *imapc,\n                                            int imapcode,\n
      \                                           imapstate instate)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:1031,1
    - Dst: memcmp
      Src: /src/curl/lib/imap.c:1059,1
    - Dst: memcmp
      Src: /src/curl/lib/imap.c:1063,1
    - Dst: memcmp
      Src: /src/curl/lib/imap.c:1067,1
    - Dst: memcmp
      Src: /src/curl/lib/imap.c:1071,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/curl/lib/imap.c:1079,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/imap.c:1087,1
    - Dst: imap_perform_starttls
      Src: /src/curl/lib/imap.c:1091,1
    - Dst: imap_perform_authentication
      Src: /src/curl/lib/imap.c:1094,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:1096,1
    - Dst: imap_perform_authentication
      Src: /src/curl/lib/imap.c:1101,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 40
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1024
    functionDepth: 4
    functionLinenumber: 1024
    functionLinenumberEnd: 1104
    functionName: imap_state_capability_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_perform_starttls
    - failf
    - Curl_conn_is_ssl
    - Curl_sasl_decode_mech
    - memcmp
    - imap_perform_authentication
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_capability_resp(struct Curl_easy *data,\n                                           struct
      imap_conn *imapc,\n                                           int imapcode,\n
      \                                          imapstate instate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/imap.c:1122,1
    - Dst: imap_perform_authentication
      Src: /src/curl/lib/imap.c:1126,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1107
    functionDepth: 4
    functionLinenumber: 1107
    functionLinenumberEnd: 1132
    functionName: imap_state_starttls_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_perform_authentication
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_starttls_resp(struct Curl_easy *data,\n                                         struct
      imap_conn *imapc,\n                                         int imapcode,\n
      \                                        imapstate instate)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sasl_continue
      Src: /src/curl/lib/imap.c:1145,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1149,1
    - Dst: imap_perform_login
      Src: /src/curl/lib/imap.c:1154,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:1156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1165
    functionName: imap_state_auth_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_continue
    - imap_perform_login
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_auth_resp(struct Curl_easy *data,\n                                     struct
      imap_conn *imapc,\n                                     int imapcode,\n                                     imapstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/imap.c:1177,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1185
    functionName: imap_state_login_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - failf
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_login_resp(struct Curl_easy *data,\n                                      struct
      imap_conn *imapc,\n                                      int imapcode,\n                                      imapstate
      instate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:1194,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/imap.c:1200,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1208
    functionName: imap_state_listsearch_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - imap_state
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_listsearch_resp(struct Curl_easy *data,\n                                           struct
      imap_conn *imapc,\n                                           int imapcode,\n
      \                                          imapstate instate)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:1218,1
    - Dst: checkprefix
      Src: /src/curl/lib/imap.c:1224,1
    - Dst: strlen
      Src: /src/curl/lib/imap.c:1226,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/imap.c:1227,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/imap.c:1231,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/imap.c:1232,1
    - Dst: free
      Src: /src/curl/lib/imap.c:1234,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:1235,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:1242,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:1243,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/imap.c:1248,1
    - Dst: strdup
      Src: /src/curl/lib/imap.c:1249,1
    - Dst: imap_perform_list
      Src: /src/curl/lib/imap.c:1254,1
    - Dst: imap_perform_search
      Src: /src/curl/lib/imap.c:1256,1
    - Dst: imap_perform_fetch
      Src: /src/curl/lib/imap.c:1258,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:1262,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 5
    argNames:
    - data
    - imapc
    - imap
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - struct IMAP*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1211
    functionDepth: 3
    functionLinenumber: 1211
    functionLinenumberEnd: 1267
    functionName: imap_state_select_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - strlen
    - failf
    - curl_strequal
    - strdup
    - imap_perform_search
    - imap_perform_list
    - curlx_dyn_addn
    - free
    - curlx_dyn_init
    - imap_perform_fetch
    - curlx_dyn_ptr
    - ISDIGIT
    - DEBUGASSERT
    - checkprefix
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_select_resp(struct Curl_easy *data,\n                                       struct
      imap_conn *imapc,\n                                       struct IMAP *imap,\n
      \                                      int imapcode,\n                                       imapstate
      instate)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:1277,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/imap.c:1285,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1286,1
    - Dst: memchr
      Src: /src/curl/lib/imap.c:1292,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/imap.c:1295,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/imap.c:1296,1
    - Dst: infof
      Src: /src/curl/lib/imap.c:1301,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/imap.c:1302,1
    - Dst: curlx_dyn_tail
      Src: /src/curl/lib/imap.c:1311,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1320,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/imap.c:1323,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:1324,1
    - Dst: infof
      Src: /src/curl/lib/imap.c:1328,1
    - Dst: curlx_dyn_tail
      Src: /src/curl/lib/imap.c:1335,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/imap.c:1340,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/imap.c:1346,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/imap.c:1350,1
    - Dst: failf
      Src: /src/curl/lib/imap.c:1355,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1360,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1270
    functionDepth: 3
    functionLinenumber: 1270
    functionLinenumberEnd: 1363
    functionName: imap_state_fetch_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_tail
    - failf
    - Curl_xfer_setup_nop
    - Curl_client_write
    - Curl_pgrsSetDownloadSize
    - Curl_xfer_setup_recv
    - imap_state
    - curlx_dyn_reset
    - curlx_str_number
    - memchr
    - curlx_str_single
    - infof
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_fetch_resp(struct Curl_easy *data,\n                                      struct
      imap_conn *imapc,\n                                      int imapcode,\n                                      imapstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1382
    functionName: imap_state_fetch_final_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_fetch_final_resp(struct Curl_easy *data,\n                                            struct
      imap_conn *imapc,\n                                            int imapcode,\n
      \                                           imapstate instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/imap.c:1398,1
    - Dst: Curl_xfer_setup_send
      Src: /src/curl/lib/imap.c:1401,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1385
    functionDepth: 3
    functionLinenumber: 1385
    functionLinenumberEnd: 1408
    functionName: imap_state_append_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_send
    - Curl_pgrsSetUploadSize
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_append_resp(struct Curl_easy *data,\n                                       struct
      imap_conn *imapc,\n                                       int imapcode,\n                                       imapstate
      instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - imapc
    - imapcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - int
    - imapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1411
    functionDepth: 2
    functionLinenumber: 1411
    functionLinenumberEnd: 1427
    functionName: imap_state_append_final_resp
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_state_append_final_resp(struct Curl_easy *data,\n                                             struct
      imap_conn *imapc,\n                                             int imapcode,\n
      \                                            imapstate instate)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:1434,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/imap.c:1435,1
    - Dst: imap_perform_upgrade_tls
      Src: /src/curl/lib/imap.c:1446,1
    - Dst: Curl_pp_flushsend
      Src: /src/curl/lib/imap.c:1453,1
    - Dst: Curl_pp_readresp
      Src: /src/curl/lib/imap.c:1457,1
    - Dst: imap_state_servergreet_resp
      Src: /src/curl/lib/imap.c:1471,1
    - Dst: imap_state_capability_resp
      Src: /src/curl/lib/imap.c:1476,1
    - Dst: imap_state_starttls_resp
      Src: /src/curl/lib/imap.c:1480,1
    - Dst: imap_state_auth_resp
      Src: /src/curl/lib/imap.c:1488,1
    - Dst: imap_state_login_resp
      Src: /src/curl/lib/imap.c:1492,1
    - Dst: imap_state_listsearch_resp
      Src: /src/curl/lib/imap.c:1497,1
    - Dst: imap_state_select_resp
      Src: /src/curl/lib/imap.c:1501,1
    - Dst: imap_state_fetch_resp
      Src: /src/curl/lib/imap.c:1506,1
    - Dst: imap_state_fetch_final_resp
      Src: /src/curl/lib/imap.c:1510,1
    - Dst: imap_state_append_resp
      Src: /src/curl/lib/imap.c:1515,1
    - Dst: imap_state_append_final_resp
      Src: /src/curl/lib/imap.c:1519,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1526,1
    - Dst: Curl_pp_moredata
      Src: /src/curl/lib/imap.c:1529,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1429
    functionDepth: 5
    functionLinenumber: 1429
    functionLinenumberEnd: 1532
    functionName: imap_pp_statemachine
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_state_select_resp
    - imap_state_servergreet_resp
    - imap_state_starttls_resp
    - imap_state_auth_resp
    - imap_state_fetch_final_resp
    - imap_state_capability_resp
    - imap_state_login_resp
    - Curl_pp_readresp
    - imap_state_fetch_resp
    - Curl_conn_meta_get
    - imap_state
    - Curl_pp_moredata
    - Curl_pp_flushsend
    - imap_state_append_final_resp
    - imap_perform_upgrade_tls
    - Curl_meta_get
    - imap_state_append_resp
    - imap_state_listsearch_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_pp_statemachine(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:1539,1
    - Dst: Curl_pp_statemach
      Src: /src/curl/lib/imap.c:1544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1535
    functionDepth: 3
    functionLinenumber: 1535
    functionLinenumberEnd: 1548
    functionName: imap_multi_statemach
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_statemach
      Src: /src/curl/lib/imap.c:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - data
    - imapc
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1550
    functionDepth: 3
    functionLinenumber: 1550
    functionLinenumberEnd: 1560
    functionName: imap_block_statemach
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_block_statemach(struct Curl_easy *data,\n                                     struct
      imap_conn *imapc,\n                                     bool disconnecting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:1567,1
    - Dst: Curl_pp_pollset
      Src: /src/curl/lib/imap.c:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1563
    functionDepth: 2
    functionLinenumber: 1563
    functionLinenumberEnd: 1569
    functionName: imap_pollset
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_pp_pollset
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:1584,1
    - Dst: connkeep
      Src: /src/curl/lib/imap.c:1592,1
    - Dst: imap_parse_url_options
      Src: /src/curl/lib/imap.c:1595,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1600,1
    - Dst: strcpy
      Src: /src/curl/lib/imap.c:1603,1
    - Dst: imap_multi_statemach
      Src: /src/curl/lib/imap.c:1605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1581
    functionDepth: 4
    functionLinenumber: 1581
    functionLinenumberEnd: 1608
    functionName: imap_connect
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_parse_url_options
    - connkeep
    - Curl_conn_meta_get
    - imap_state
    - imap_multi_statemach
    - strcpy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_connect(struct Curl_easy *data, bool *done)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:1624,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/imap.c:1625,1
    - Dst: connclose
      Src: /src/curl/lib/imap.c:1635,1
    - Dst: IS_MIME_POST
      Src: /src/curl/lib/imap.c:1640,1
    - Dst: IS_MIME_POST
      Src: /src/curl/lib/imap.c:1643,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1644,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/imap.c:1647,1
    - Dst: imap_state
      Src: /src/curl/lib/imap.c:1649,1
    - Dst: imap_block_statemach
      Src: /src/curl/lib/imap.c:1654,1
    - Dst: imap_easy_reset
      Src: /src/curl/lib/imap.c:1657,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1619
    functionDepth: 4
    functionLinenumber: 1619
    functionLinenumberEnd: 1659
    functionName: imap_done
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - IS_MIME_POST
    - imap_block_statemach
    - Curl_pp_sendf
    - Curl_conn_meta_get
    - imap_state
    - connclose
    - imap_easy_reset
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:1674,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/imap.c:1675,1
    - Dst: DEBUGF
      Src: /src/curl/lib/imap.c:1678,1
    - Dst: infof
      Src: /src/curl/lib/imap.c:1678,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:1692,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:1694,1
    - Dst: IS_MIME_POST
      Src: /src/curl/lib/imap.c:1698,1
    - Dst: imap_perform_append
      Src: /src/curl/lib/imap.c:1700,1
    - Dst: imap_perform_list
      Src: /src/curl/lib/imap.c:1703,1
    - Dst: imap_perform_fetch
      Src: /src/curl/lib/imap.c:1706,1
    - Dst: imap_perform_search
      Src: /src/curl/lib/imap.c:1709,1
    - Dst: imap_perform_select
      Src: /src/curl/lib/imap.c:1713,1
    - Dst: imap_perform_list
      Src: /src/curl/lib/imap.c:1716,1
    - Dst: imap_multi_statemach
      Src: /src/curl/lib/imap.c:1722,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/imap.c:1724,1
    - Dst: DEBUGF
      Src: /src/curl/lib/imap.c:1727,1
    - Dst: infof
      Src: /src/curl/lib/imap.c:1727,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 28
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1668
    functionDepth: 7
    functionLinenumber: 1668
    functionLinenumberEnd: 1730
    functionName: imap_perform
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - IS_MIME_POST
    - DEBUGF
    - imap_perform_select
    - curl_strequal
    - imap_perform_append
    - imap_perform_search
    - imap_perform_list
    - Curl_conn_meta_get
    - imap_perform_fetch
    - infof
    - Curl_conn_is_connected
    - imap_multi_statemach
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_perform(struct Curl_easy *data, bool *connected,\n                             bool
      *dophase_done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/imap.c:1743,1
    - Dst: imap_parse_url_path
      Src: /src/curl/lib/imap.c:1750,1
    - Dst: imap_parse_custom_request
      Src: /src/curl/lib/imap.c:1755,1
    - Dst: imap_regular_transfer
      Src: /src/curl/lib/imap.c:1759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1741
    functionDepth: 2
    functionLinenumber: 1741
    functionLinenumberEnd: 1762
    functionName: imap_do
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_regular_transfer
    - imap_parse_url_path
    - Curl_meta_get
    - imap_parse_custom_request
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/imap.c:1774,1
    - Dst: Curl_pp_needs_flush
      Src: /src/curl/lib/imap.c:1783,1
    - Dst: imap_perform_logout
      Src: /src/curl/lib/imap.c:1784,1
    - Dst: imap_block_statemach
      Src: /src/curl/lib/imap.c:1785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1771
    functionDepth: 4
    functionLinenumber: 1771
    functionLinenumberEnd: 1789
    functionName: imap_disconnect
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_perform_logout
    - Curl_pp_needs_flush
    - imap_block_statemach
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn, bool dead_connection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/imap.c:1800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - imap
    - connected
    argTypes:
    - struct Curl_easy*
    - struct IMAP*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1792
    functionDepth: 3
    functionLinenumber: 1792
    functionLinenumberEnd: 1803
    functionName: imap_dophase_done
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_nop
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_dophase_done(struct Curl_easy *data,\n                                  struct
      IMAP *imap,\n                                  bool connected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/imap.c:1808,1
    - Dst: imap_multi_statemach
      Src: /src/curl/lib/imap.c:1814,1
    - Dst: DEBUGF
      Src: /src/curl/lib/imap.c:1816,1
    - Dst: infof
      Src: /src/curl/lib/imap.c:1816,1
    - Dst: imap_dophase_done
      Src: /src/curl/lib/imap.c:1818,1
    - Dst: DEBUGF
      Src: /src/curl/lib/imap.c:1820,1
    - Dst: infof
      Src: /src/curl/lib/imap.c:1820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1806
    functionDepth: 4
    functionLinenumber: 1806
    functionLinenumberEnd: 1824
    functionName: imap_doing
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - imap_dophase_done
    - DEBUGF
    - infof
    - imap_multi_statemach
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode imap_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/imap.c:1846,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/imap.c:1847,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/imap.c:1848,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/imap.c:1849,1
    - Dst: imap_perform
      Src: /src/curl/lib/imap.c:1852,1
    - Dst: imap_dophase_done
      Src: /src/curl/lib/imap.c:1856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - data
    - imap
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct IMAP*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1835
    functionDepth: 8
    functionLinenumber: 1835
    functionLinenumberEnd: 1859
    functionName: imap_regular_transfer
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - imap_dophase_done
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadSize
    - Curl_pgrsSetDownloadCounter
    - imap_perform
    - Curl_pgrsSetUploadCounter
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_regular_transfer(struct Curl_easy *data,\n                                      struct
      IMAP *imap,\n                                      bool *dophase_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1863,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1864,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1865,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1866,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1867,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1868,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1869,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1870,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - imap
    argTypes:
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1874
    functionName: imap_easy_reset
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void imap_easy_reset(struct IMAP *imap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imap_easy_reset
      Src: /src/curl/lib/imap.c:1881,1
    - Dst: free
      Src: /src/curl/lib/imap.c:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1876
    functionDepth: 2
    functionLinenumber: 1876
    functionLinenumberEnd: 1883
    functionName: imap_easy_dtor
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - free
    - imap_easy_reset
    linkageType: ''
    returnType: void
    signature: void imap_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_disconnect
      Src: /src/curl/lib/imap.c:1890,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/imap.c:1891,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1892,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/imap.c:1893,1
    - Dst: free
      Src: /src/curl/lib/imap.c:1894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1885
    functionDepth: 2
    functionLinenumber: 1885
    functionLinenumberEnd: 1895
    functionName: imap_conn_dtor
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_pp_disconnect
    - Curl_safefree
    - curlx_dyn_free
    - free
    linkageType: ''
    returnType: void
    signature: void imap_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/imap.c:1904,1
    - Dst: PINGPONG_SETUP
      Src: /src/curl/lib/imap.c:1909,1
    - Dst: Curl_sasl_init
      Src: /src/curl/lib/imap.c:1913,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/imap.c:1915,1
    - Dst: Curl_pp_init
      Src: /src/curl/lib/imap.c:1916,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/imap.c:1918,1
    - Dst: calloc
      Src: /src/curl/lib/imap.c:1921,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/imap.c:1923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1897
    functionDepth: 2
    functionLinenumber: 1897
    functionLinenumberEnd: 1927
    functionName: imap_setup_connection
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - Curl_meta_set
    - calloc
    - Curl_sasl_init
    - PINGPONG_SETUP
    - curlx_dyn_init
    - Curl_conn_meta_set
    - Curl_pp_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/imap.c:1943,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/imap.c:1946,1
    - Dst: curlx_sltosi
      Src: /src/curl/lib/imap.c:1947,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/imap.c:1951,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/imap.c:1954,1
    - Dst: va_start
      Src: /src/curl/lib/imap.c:1957,1
    - Dst: Curl_pp_vsendf
      Src: /src/curl/lib/imap.c:1962,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:1962,1
    - Dst: va_end
      Src: /src/curl/lib/imap.c:1966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - data
    - imapc
    - fmt
    argTypes:
    - struct Curl_easy*
    - struct imap_conn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1937
    functionDepth: 6
    functionLinenumber: 1937
    functionLinenumberEnd: 1969
    functionName: imap_sendf
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 10
    functionsReached:
    - curlx_sltosi
    - curl_msnprintf
    - va_start
    - Curl_pp_vsendf
    - curlx_dyn_reset
    - va_end
    - curlx_dyn_ptr
    - DEBUGASSERT
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_sendf(struct Curl_easy *data,\n                           struct
      imap_conn *imapc,\n                           const char *fmt, ...)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/imap.c:1990,1
    - Dst: strcspn
      Src: /src/curl/lib/imap.c:1991,1
    - Dst: strdup
      Src: /src/curl/lib/imap.c:1994,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/imap.c:1996,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/imap.c:1998,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/imap.c:2003,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/imap.c:2005,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/imap.c:2010,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/imap.c:2013,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - str
    - escape_only
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1981
    functionDepth: 1
    functionLinenumber: 1981
    functionLinenumberEnd: 2014
    functionName: imap_atom
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 4
    functionsReached:
    - strlen
    - strdup
    - curlx_dyn_addn
    - curlx_dyn_init
    - strcspn
    - curlx_dyn_ptr
    linkageType: ''
    returnType: char
    signature: char *imap_atom(const char *str, bool escape_only)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ISALNUM
      Src: /src/curl/lib/imap.c:2027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2047
    functionName: imap_is_bchar
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    linkageType: ''
    returnType: bool
    signature: bool imap_is_bchar(char ch)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/imap.c:2074,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/imap.c:2079,1
    - Dst: Curl_sasl_parse_url_auth_option
      Src: /src/curl/lib/imap.c:2081,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 2
    argNames:
    - conn
    - imapc
    argTypes:
    - struct connectdata*
    - struct imap_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2055
    functionDepth: 1
    functionLinenumber: 2055
    functionLinenumberEnd: 2110
    functionName: imap_parse_url_options
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - curl_strnequal
    - Curl_sasl_parse_url_auth_option
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_parse_url_options(struct connectdata *conn,\n                                       struct
      imap_conn *imapc)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: imap_is_bchar
      Src: /src/curl/lib/imap.c:2128,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/imap.c:2137,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/imap.c:2160,1
    - Dst: imap_is_bchar
      Src: /src/curl/lib/imap.c:2167,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/imap.c:2171,1
    - Dst: free
      Src: /src/curl/lib/imap.c:2174,1
    - Dst: DEBUGF
      Src: /src/curl/lib/imap.c:2178,1
    - Dst: infof
      Src: /src/curl/lib/imap.c:2178,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:2184,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:2191,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:2198,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:2205,1
    - Dst: curl_strequal
      Src: /src/curl/lib/imap.c:2212,1
    - Dst: free
      Src: /src/curl/lib/imap.c:2220,1
    - Dst: free
      Src: /src/curl/lib/imap.c:2221,1
    - Dst: free
      Src: /src/curl/lib/imap.c:2226,1
    - Dst: free
      Src: /src/curl/lib/imap.c:2227,1
    - Dst: curl_url_get
      Src: /src/curl/lib/imap.c:2234,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 72
    argCount: 2
    argNames:
    - data
    - imap
    argTypes:
    - struct Curl_easy*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2119
    functionDepth: 2
    functionLinenumber: 2119
    functionLinenumberEnd: 2243
    functionName: imap_parse_url_path
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - DEBUGF
    - curl_strequal
    - curl_url_get
    - free
    - imap_is_bchar
    - infof
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_parse_url_path(struct Curl_easy *data,\n                                    struct
      IMAP *imap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/curl/lib/imap.c:2259,1
    - Dst: strdup
      Src: /src/curl/lib/imap.c:2269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - data
    - imap
    argTypes:
    - struct Curl_easy*
    - struct IMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2251
    functionDepth: 2
    functionLinenumber: 2251
    functionLinenumberEnd: 2279
    functionName: imap_parse_custom_request
    functionSourceFile: /src/curl/lib/imap.c
    functionUses: 1
    functionsReached:
    - Curl_urldecode
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode imap_parse_custom_request(struct Curl_easy *data,\n                                          struct
      IMAP *imap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: memrchr
    functionSourceFile: /src/curl/lib/curl_memrchr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memrchr(x,y,z)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: slist_get_last
    functionSourceFile: /src/curl/lib/slist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *slist_get_last(struct curl_slist *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/slist.c:66,1
    - Dst: malloc
      Src: /src/curl/lib/slist.c:68,1
    - Dst: slist_get_last
      Src: /src/curl/lib/slist.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - struct curl_slist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: Curl_slist_append_nodup
    functionSourceFile: /src/curl/lib/slist.c
    functionUses: 3
    functionsReached:
    - malloc
    - DEBUGASSERT
    - slist_get_last
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *Curl_slist_append_nodup(struct curl_slist *list,
      char *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/lib/slist.c:94,1
    - Dst: Curl_slist_append_nodup
      Src: /src/curl/lib/slist.c:99,1
    - Dst: free
      Src: /src/curl/lib/slist.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - struct curl_slist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: curl_slist_append
    functionSourceFile: /src/curl/lib/slist.c
    functionUses: 95
    functionsReached:
    - Curl_slist_append_nodup
    - free
    - strdup
    linkageType: ''
    returnType: struct curl_slist
    signature: "struct curl_slist *curl_slist_append(struct curl_slist *list,\n                                     const
      char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/curl/lib/slist.c:117,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/slist.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - inlist
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: Curl_slist_duplicate
    functionSourceFile: /src/curl/lib/slist.c
    functionUses: 2
    functionsReached:
    - curl_slist_append
    - curl_slist_free_all
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *Curl_slist_duplicate(struct curl_slist *inlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/slist.c:142,1
    - Dst: free
      Src: /src/curl/lib/slist.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: curl_slist_free_all
    functionSourceFile: /src/curl/lib/slist.c
    functionUses: 111
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void curl_slist_free_all(struct curl_slist *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: IS_SEP
    functionSourceFile: /src/curl/lib/curl_fopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SEP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: IS_SEP
    functionSourceFile: /src/curl/lib/curl_fopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SEP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: IS_SEP
    functionSourceFile: /src/curl/lib/curl_fopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SEP(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_fopen.c:64,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/curl_fopen.c:65,1
    - Dst: strlen
      Src: /src/curl/lib/curl_fopen.c:66,1
    - Dst: IS_SEP
      Src: /src/curl/lib/curl_fopen.c:69,1
    - Dst: IS_SEP
      Src: /src/curl/lib/curl_fopen.c:72,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/curl_fopen.c:75,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/curl_fopen.c:78,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/curl_fopen.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: dirslash
    functionSourceFile: /src/curl/lib/curl_fopen.c
    functionUses: 0
    functionsReached:
    - strlen
    - curlx_dyn_addn
    - IS_SEP
    - curlx_dyn_init
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: char
    signature: char *dirslash(const char *path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/lib/curl_fopen.c:101,1
    - Dst: stat
      Src: /src/curl/lib/curl_fopen.c:107,1
    - Dst: fstat
      Src: /src/curl/lib/curl_fopen.c:109,1
    - Dst: fileno
      Src: /src/curl/lib/curl_fopen.c:109,1
    - Dst: S_ISREG
      Src: /src/curl/lib/curl_fopen.c:111,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/curl_fopen.c:114,1
    - Dst: Curl_rand_alnum
      Src: /src/curl/lib/curl_fopen.c:117,1
    - Dst: dirslash
      Src: /src/curl/lib/curl_fopen.c:121,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/curl_fopen.c:125,1
    - Dst: free
      Src: /src/curl/lib/curl_fopen.c:126,1
    - Dst: curlx_open
      Src: /src/curl/lib/curl_fopen.c:137,1
    - Dst: curlx_open
      Src: /src/curl/lib/curl_fopen.c:140,1
    - Dst: curlx_fdopen
      Src: /src/curl/lib/curl_fopen.c:146,1
    - Dst: close
      Src: /src/curl/lib/curl_fopen.c:155,1
    - Dst: unlink
      Src: /src/curl/lib/curl_fopen.c:156,1
    - Dst: free
      Src: /src/curl/lib/curl_fopen.c:159,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - data
    - filename
    - fh
    - tempname
    argTypes:
    - struct Curl_easy*
    - char*
    - FILE**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 90
    functionDepth: 6
    functionLinenumber: 90
    functionLinenumberEnd: 161
    functionName: Curl_fopen
    functionSourceFile: /src/curl/lib/curl_fopen.c
    functionUses: 1
    functionsReached:
    - stat
    - curlx_fdopen
    - unlink
    - fstat
    - Curl_rand_alnum
    - curlx_open
    - dirslash
    - close
    - curlx_fopen
    - free
    - fileno
    - curl_maprintf
    - S_ISREG
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_fopen(struct Curl_easy *data, const char *filename,\n
      \                   FILE **fh, char **tempname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/curl/lib/curl_sasl.c:100,1
    - Dst: ISUPPER
      Src: /src/curl/lib/curl_sasl.c:108,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/curl_sasl.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - ptr
    - maxlen
    - len
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: Curl_sasl_decode_mech
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - ISDIGIT
    - memcmp
    - ISUPPER
    linkageType: ''
    returnType: unsigned short
    signature: "unsigned short Curl_sasl_decode_mech(const char *ptr, size_t maxlen,\n
      \                                    size_t *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/curl/lib/curl_sasl.c:135,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/curl/lib/curl_sasl.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sasl
    - value
    - len
    argTypes:
    - struct SASL*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: Curl_sasl_parse_url_auth_option
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - strncmp
    - Curl_sasl_decode_mech
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sasl_parse_url_auth_option(struct SASL *sasl,\n                                         const
      char *value, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - sasl
    - data
    - params
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - struct SASLproto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 187
    functionName: Curl_sasl_init
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Curl_sasl_init(struct SASL *sasl, struct Curl_easy *data,\n                    const
      struct SASLproto *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/curl_sasl.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - sasl
    - data
    - newstate
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - saslstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 229
    functionName: sasl_state
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void sasl_state(struct SASL *sasl, struct Curl_easy *data,\n                       saslstate
      newstate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct SASL*::params::getmessage
      Src: /src/curl/lib/curl_sasl.c:239,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/curl_sasl.c:243,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/curl_sasl.c:246,1
    - Dst: curlx_base64_decode
      Src: /src/curl/lib/curl_sasl.c:248,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/curl_sasl.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - sasl
    - data
    - out
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: get_server_message
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_ptr
    - struct SASL*::params::getmessage
    - Curl_bufref_set
    - curlx_base64_decode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode get_server_message(struct SASL *sasl, struct Curl_easy *data,\n
      \                                  struct bufref *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/curl_sasl.c:263,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/curl_sasl.c:264,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/curl_sasl.c:265,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/curl_sasl.c:266,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/curl_sasl.c:271,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/curl_sasl.c:271,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/curl_sasl.c:272,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/curl_sasl.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - sasl
    - msg
    argTypes:
    - struct SASL*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: build_message
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_ptr
    - Curl_bufref_set
    - Curl_bufref_len
    - curlx_base64_encode
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode build_message(struct SASL *sasl, struct bufref *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sasl
    - data
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: Curl_sasl_can_authenticate
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_sasl_can_authenticate(struct SASL *sasl, struct Curl_easy
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_external_message
      Src: /src/curl/lib/curl_sasl.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: sasl_choose_external
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_external_message
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_external(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_gssapi_supported
      Src: /src/curl/lib/curl_sasl.c:330,1
    - Dst: Curl_auth_user_contains_domain
      Src: /src/curl/lib/curl_sasl.c:331,1
    - Dst: Curl_auth_krb5_get
      Src: /src/curl/lib/curl_sasl.c:343,1
    - Dst: Curl_auth_create_gssapi_user_message
      Src: /src/curl/lib/curl_sasl.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 354
    functionName: sasl_choose_krb5
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_krb5_get
    - Curl_auth_is_gssapi_supported
    - Curl_auth_create_gssapi_user_message
    - Curl_auth_user_contains_domain
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_krb5(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_gsasl_get
      Src: /src/curl/lib/curl_sasl.c:365,1
    - Dst: Curl_auth_gsasl_is_supported
      Src: /src/curl/lib/curl_sasl.c:372,1
    - Dst: Curl_auth_gsasl_is_supported
      Src: /src/curl/lib/curl_sasl.c:378,1
    - Dst: Curl_bufref_init
      Src: /src/curl/lib/curl_sasl.c:386,1
    - Dst: Curl_auth_gsasl_start
      Src: /src/curl/lib/curl_sasl.c:389,1
    - Dst: Curl_auth_gsasl_token
      Src: /src/curl/lib/curl_sasl.c:392,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 396
    functionName: sasl_choose_gsasl
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_gsasl_start
    - Curl_auth_gsasl_token
    - Curl_auth_gsasl_get
    - Curl_bufref_init
    - Curl_auth_gsasl_is_supported
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_gsasl(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_digest_supported
      Src: /src/curl/lib/curl_sasl.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 420
    functionName: sasl_choose_digest
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_is_digest_supported
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_digest(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_is_ntlm_supported
      Src: /src/curl/lib/curl_sasl.c:429,1
    - Dst: Curl_conn_get_current_host
      Src: /src/curl/lib/curl_sasl.c:436,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/curl/lib/curl_sasl.c:444,1
    - Dst: Curl_auth_create_ntlm_type1_message
      Src: /src/curl/lib/curl_sasl.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 455
    functionName: sasl_choose_ntlm
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_ntlm_type1_message
    - Curl_conn_get_current_host
    - Curl_auth_ntlm_get
    - Curl_auth_is_ntlm_supported
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_ntlm(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_get_current_host
      Src: /src/curl/lib/curl_sasl.c:466,1
    - Dst: Curl_auth_create_oauth_bearer_message
      Src: /src/curl/lib/curl_sasl.c:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 481
    functionName: sasl_choose_oauth
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_conn_get_current_host
    - Curl_auth_create_oauth_bearer_message
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_oauth(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_xoauth_bearer_message
      Src: /src/curl/lib/curl_sasl.c:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 500
    functionName: sasl_choose_oauth2
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_xoauth_bearer_message
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_oauth2(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_plain_message
      Src: /src/curl/lib/curl_sasl.c:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 517
    functionName: sasl_choose_plain
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_plain_message
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_plain(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_login_message
      Src: /src/curl/lib/curl_sasl.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sctx
    argTypes:
    - struct Curl_easy*
    - struct sasl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 532
    functionName: sasl_choose_login
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - Curl_auth_create_login_message
    linkageType: ''
    returnType: bool
    signature: bool sasl_choose_login(struct Curl_easy *data, struct sasl_ctx *sctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/curl_sasl.c:548,1
    - Dst: Curl_bufref_init
      Src: /src/curl/lib/curl_sasl.c:552,1
    - Dst: sasl_choose_external
      Src: /src/curl/lib/curl_sasl.c:559,1
    - Dst: sasl_choose_krb5
      Src: /src/curl/lib/curl_sasl.c:561,1
    - Dst: sasl_choose_gsasl
      Src: /src/curl/lib/curl_sasl.c:564,1
    - Dst: sasl_choose_digest
      Src: /src/curl/lib/curl_sasl.c:567,1
    - Dst: sasl_choose_ntlm
      Src: /src/curl/lib/curl_sasl.c:570,1
    - Dst: sasl_choose_oauth
      Src: /src/curl/lib/curl_sasl.c:572,1
    - Dst: sasl_choose_oauth2
      Src: /src/curl/lib/curl_sasl.c:573,1
    - Dst: sasl_choose_plain
      Src: /src/curl/lib/curl_sasl.c:574,1
    - Dst: sasl_choose_login
      Src: /src/curl/lib/curl_sasl.c:575,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_sasl.c:577,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/curl_sasl.c:582,1
    - Dst: build_message
      Src: /src/curl/lib/curl_sasl.c:583,1
    - Dst: strlen
      Src: /src/curl/lib/curl_sasl.c:586,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/curl_sasl.c:586,1
    - Dst: Curl_bufref_free
      Src: /src/curl/lib/curl_sasl.c:588,1
    - Dst: struct SASL*::params::sendauth
      Src: /src/curl/lib/curl_sasl.c:591,1
    - Dst: sasl_state
      Src: /src/curl/lib/curl_sasl.c:595,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/curl_sasl.c:595,1
    - Dst: Curl_bufref_free
      Src: /src/curl/lib/curl_sasl.c:600,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - sasl
    - data
    - force_ir
    - progress
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - bool
    - saslprogress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 602
    functionName: Curl_sasl_start
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - struct SASL*::params::sendauth
    - sasl_choose_oauth
    - sasl_choose_digest
    - build_message
    - sasl_choose_external
    - sasl_choose_ntlm
    - Curl_bufref_ptr
    - sasl_state
    - sasl_choose_gsasl
    - strlen
    - Curl_bufref_free
    - sasl_choose_krb5
    - sasl_choose_login
    - Curl_bufref_len
    - DEBUGASSERT
    - sasl_choose_plain
    - sasl_choose_oauth2
    - memset
    - Curl_bufref_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sasl_start(struct SASL *sasl, struct Curl_easy *data,\n
      \                        bool force_ir, saslprogress *progress)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_get_current_host
      Src: /src/curl/lib/curl_sasl.c:627,1
    - Dst: Curl_bufref_init
      Src: /src/curl/lib/curl_sasl.c:628,1
    - Dst: Curl_bufref_init
      Src: /src/curl/lib/curl_sasl.c:629,1
    - Dst: sasl_state
      Src: /src/curl/lib/curl_sasl.c:636,1
    - Dst: sasl_state
      Src: /src/curl/lib/curl_sasl.c:643,1
    - Dst: Curl_auth_create_plain_message
      Src: /src/curl/lib/curl_sasl.c:652,1
    - Dst: Curl_auth_create_login_message
      Src: /src/curl/lib/curl_sasl.c:656,1
    - Dst: Curl_auth_create_login_message
      Src: /src/curl/lib/curl_sasl.c:660,1
    - Dst: Curl_auth_create_external_message
      Src: /src/curl/lib/curl_sasl.c:663,1
    - Dst: get_server_message
      Src: /src/curl/lib/curl_sasl.c:667,1
    - Dst: Curl_auth_gsasl_get
      Src: /src/curl/lib/curl_sasl.c:669,1
    - Dst: Curl_auth_gsasl_token
      Src: /src/curl/lib/curl_sasl.c:671,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/curl_sasl.c:673,1
    - Dst: get_server_message
      Src: /src/curl/lib/curl_sasl.c:679,1
    - Dst: Curl_auth_create_cram_md5_message
      Src: /src/curl/lib/curl_sasl.c:681,1
    - Dst: get_server_message
      Src: /src/curl/lib/curl_sasl.c:685,1
    - Dst: Curl_auth_create_digest_md5_message
      Src: /src/curl/lib/curl_sasl.c:687,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/curl/lib/curl_sasl.c:701,1
    - Dst: Curl_auth_create_ntlm_type1_message
      Src: /src/curl/lib/curl_sasl.c:703,1
    - Dst: Curl_auth_ntlm_get
      Src: /src/curl/lib/curl_sasl.c:712,1
    - Dst: get_server_message
      Src: /src/curl/lib/curl_sasl.c:714,1
    - Dst: Curl_auth_decode_ntlm_type2_message
      Src: /src/curl/lib/curl_sasl.c:716,1
    - Dst: Curl_auth_create_ntlm_type3_message
      Src: /src/curl/lib/curl_sasl.c:718,1
    - Dst: Curl_auth_krb5_get
      Src: /src/curl/lib/curl_sasl.c:727,1
    - Dst: Curl_auth_create_gssapi_user_message
      Src: /src/curl/lib/curl_sasl.c:729,1
    - Dst: get_server_message
      Src: /src/curl/lib/curl_sasl.c:737,1
    - Dst: Curl_auth_krb5_get
      Src: /src/curl/lib/curl_sasl.c:739,1
    - Dst: Curl_auth_create_gssapi_user_message
      Src: /src/curl/lib/curl_sasl.c:745,1
    - Dst: Curl_auth_create_gssapi_security_message
      Src: /src/curl/lib/curl_sasl.c:754,1
    - Dst: get_server_message
      Src: /src/curl/lib/curl_sasl.c:762,1
    - Dst: Curl_auth_krb5_get
      Src: /src/curl/lib/curl_sasl.c:764,1
    - Dst: Curl_auth_create_gssapi_security_message
      Src: /src/curl/lib/curl_sasl.c:768,1
    - Dst: Curl_auth_create_oauth_bearer_message
      Src: /src/curl/lib/curl_sasl.c:779,1
    - Dst: Curl_auth_create_xoauth_bearer_message
      Src: /src/curl/lib/curl_sasl.c:789,1
    - Dst: sasl_state
      Src: /src/curl/lib/curl_sasl.c:799,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/curl_sasl.c:804,1
    - Dst: sasl_state
      Src: /src/curl/lib/curl_sasl.c:809,1
    - Dst: Curl_sasl_start
      Src: /src/curl/lib/curl_sasl.c:820,1
    - Dst: failf
      Src: /src/curl/lib/curl_sasl.c:822,1
    - Dst: Curl_bufref_free
      Src: /src/curl/lib/curl_sasl.c:827,1
    - Dst: struct SASL*::params::cancelauth
      Src: /src/curl/lib/curl_sasl.c:832,1
    - Dst: build_message
      Src: /src/curl/lib/curl_sasl.c:836,1
    - Dst: struct SASL*::params::contauth
      Src: /src/curl/lib/curl_sasl.c:838,1
    - Dst: Curl_bufref_free
      Src: /src/curl/lib/curl_sasl.c:846,1
    - Dst: sasl_state
      Src: /src/curl/lib/curl_sasl.c:848,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 144
    argCount: 4
    argNames:
    - sasl
    - data
    - code
    - progress
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    - int
    - saslprogress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 609
    functionDepth: 5
    functionLinenumber: 609
    functionLinenumberEnd: 851
    functionName: Curl_sasl_continue
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - Curl_auth_ntlm_get
    - Curl_auth_gsasl_token
    - struct SASL*::params::cancelauth
    - Curl_auth_create_gssapi_user_message
    - Curl_sasl_start
    - Curl_auth_create_ntlm_type1_message
    - struct SASL*::params::contauth
    - build_message
    - failf
    - Curl_auth_decode_ntlm_type2_message
    - Curl_auth_gsasl_get
    - Curl_auth_create_digest_md5_message
    - Curl_auth_create_oauth_bearer_message
    - sasl_state
    - Curl_auth_create_cram_md5_message
    - Curl_auth_create_ntlm_type3_message
    - Curl_bufref_free
    - Curl_auth_krb5_get
    - Curl_bufref_len
    - Curl_conn_get_current_host
    - Curl_auth_create_gssapi_security_message
    - Curl_auth_create_login_message
    - Curl_auth_create_plain_message
    - Curl_auth_create_xoauth_bearer_message
    - get_server_message
    - Curl_auth_create_external_message
    - Curl_bufref_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sasl_continue(struct SASL *sasl, struct Curl_easy *data,\n
      \                           int code, saslprogress *progress)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/curl_sasl.c:874,1
    - Dst: infof
      Src: /src/curl/lib/curl_sasl.c:876,1
    - Dst: infof
      Src: /src/curl/lib/curl_sasl.c:879,1
    - Dst: infof
      Src: /src/curl/lib/curl_sasl.c:881,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - data
    - mech
    - enabledmechs
    - built_in
    - platform
    - param_missing
    argTypes:
    - struct Curl_easy*
    - unsigned short
    - unsigned short
    - bool
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 883
    functionName: sasl_unchosen
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void sasl_unchosen(struct Curl_easy *data, unsigned short mech,\n
      \                         unsigned short enabledmechs,\n                          bool
      built_in, bool platform,\n                          const char *param_missing)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/curl_sasl.c:916,1
    - Dst: infof
      Src: /src/curl/lib/curl_sasl.c:918,1
    - Dst: infof
      Src: /src/curl/lib/curl_sasl.c:921,1
    - Dst: infof
      Src: /src/curl/lib/curl_sasl.c:923,1
    - Dst: sasl_unchosen
      Src: /src/curl/lib/curl_sasl.c:924,1
    - Dst: Curl_auth_is_gssapi_supported
      Src: /src/curl/lib/curl_sasl.c:925,1
    - Dst: sasl_unchosen
      Src: /src/curl/lib/curl_sasl.c:926,1
    - Dst: sasl_unchosen
      Src: /src/curl/lib/curl_sasl.c:928,1
    - Dst: sasl_unchosen
      Src: /src/curl/lib/curl_sasl.c:930,1
    - Dst: Curl_auth_is_digest_supported
      Src: /src/curl/lib/curl_sasl.c:931,1
    - Dst: sasl_unchosen
      Src: /src/curl/lib/curl_sasl.c:932,1
    - Dst: sasl_unchosen
      Src: /src/curl/lib/curl_sasl.c:934,1
    - Dst: Curl_auth_is_ntlm_supported
      Src: /src/curl/lib/curl_sasl.c:935,1
    - Dst: sasl_unchosen
      Src: /src/curl/lib/curl_sasl.c:936,1
    - Dst: sasl_unchosen
      Src: /src/curl/lib/curl_sasl.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - sasl
    - data
    argTypes:
    - struct SASL*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 947
    functionName: Curl_sasl_is_blocked
    functionSourceFile: /src/curl/lib/curl_sasl.c
    functionUses: 2
    functionsReached:
    - sasl_unchosen
    - infof
    - Curl_auth_is_gssapi_supported
    - Curl_auth_is_digest_supported
    - Curl_auth_is_ntlm_supported
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sasl_is_blocked(struct SASL *sasl, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD4_Init
      Src: /src/curl/lib/md4.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: MD4_Init
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CC_MD4_Init
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD4_Update
      Src: /src/curl/lib/md4.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: MD4_Update
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CC_MD4_Update
    linkageType: ''
    returnType: void
    signature: void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD4_Final
      Src: /src/curl/lib/md4.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: MD4_Final
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CC_MD4_Final
    linkageType: ''
    returnType: void
    signature: void MD4_Final(unsigned char *result, MD4_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/curl/lib/md4.c:132,1
    - Dst: CryptCreateHash
      Src: /src/curl/lib/md4.c:136,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/md4.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: MD4_Init
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CryptCreateHash
    - CryptReleaseContext
    - CryptAcquireContext
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptHashData
      Src: /src/curl/lib/md4.c:148,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/md4.c:148,1
    - Dst: CryptHashData
      Src: /src/curl/lib/md4.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: MD4_Update
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CryptHashData
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CryptGetHashParam
      Src: /src/curl/lib/md4.c:159,1
    - Dst: CryptGetHashParam
      Src: /src/curl/lib/md4.c:161,1
    - Dst: CryptDestroyHash
      Src: /src/curl/lib/md4.c:164,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/md4.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: MD4_Final
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - CryptGetHashParam
    - CryptReleaseContext
    - CryptDestroyHash
    linkageType: ''
    returnType: void
    signature: void MD4_Final(unsigned char *result, MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md4_init
      Src: /src/curl/lib/md4.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: MD4_Init
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - md4_init
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md4_update
      Src: /src/curl/lib/md4.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: MD4_Update
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - md4_update
    linkageType: ''
    returnType: void
    signature: void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md4_digest
      Src: /src/curl/lib/md4.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: MD4_Final
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - md4_digest
    linkageType: ''
    returnType: void
    signature: void MD4_Final(unsigned char *result, MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: MD4_Init
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_memdup
      Src: /src/curl/lib/md4.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: MD4_Update
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - Curl_memdup
    linkageType: ''
    returnType: void
    signature: void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md4
      Src: /src/curl/lib/md4.c:217,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/md4.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: MD4_Final
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - mbedtls_md4
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void MD4_Final(unsigned char *result, MD4_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: MD4_F
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_F(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: MD4_G
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_G(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: MD4_H
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_H(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: MD4_STEP
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_STEP(f, a, b, c, d, x, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: MD4_SET
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: MD4_GET
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: MD4_SET
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: MD4_GET
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD4_GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:333,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:333,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:334,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:334,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:335,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:335,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:336,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:336,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:337,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:337,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:338,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:338,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:339,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:339,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:340,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:340,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:341,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:341,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:342,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:342,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:343,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:343,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:344,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:344,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:345,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:345,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:346,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:346,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:347,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:347,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:348,1
    - Dst: MD4_SET
      Src: /src/curl/lib/md4.c:348,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:351,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:351,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:352,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:352,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:353,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:353,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:354,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:354,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:355,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:355,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:356,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:356,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:357,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:357,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:358,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:358,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:359,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:359,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:360,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:360,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:361,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:361,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:362,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:362,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:363,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:363,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:364,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:364,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:365,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:365,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:366,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:366,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:369,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:369,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:370,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:370,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:371,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:371,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:372,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:372,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:373,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:373,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:374,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:374,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:375,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:375,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:376,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:376,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:377,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:377,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:378,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:378,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:379,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:379,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:380,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:380,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:381,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:381,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:382,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:382,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:383,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:383,1
    - Dst: MD4_STEP
      Src: /src/curl/lib/md4.c:384,1
    - Dst: MD4_GET
      Src: /src/curl/lib/md4.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 69
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 400
    functionName: my_md4_body
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 0
    functionsReached:
    - MD4_GET
    - MD4_STEP
    - MD4_SET
    linkageType: ''
    returnType: void
    signature: "void *my_md4_body(MD4_CTX *ctx,\n                               const
      void *data, unsigned long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: MD4_Init
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/md4.c:431,1
    - Dst: memcpy
      Src: /src/curl/lib/md4.c:435,1
    - Dst: my_md4_body
      Src: /src/curl/lib/md4.c:438,1
    - Dst: my_md4_body
      Src: /src/curl/lib/md4.c:442,1
    - Dst: memcpy
      Src: /src/curl/lib/md4.c:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD4_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 447
    functionName: MD4_Update
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - memcpy
    - my_md4_body
    linkageType: ''
    returnType: void
    signature: void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/md4.c:460,1
    - Dst: my_md4_body
      Src: /src/curl/lib/md4.c:461,1
    - Dst: memset
      Src: /src/curl/lib/md4.c:466,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:469,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:470,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:471,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:472,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:473,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:474,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:475,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:476,1
    - Dst: my_md4_body
      Src: /src/curl/lib/md4.c:478,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:480,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:481,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:482,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:483,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:484,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:485,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:486,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:487,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:488,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:489,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:490,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:491,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:492,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:493,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:494,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md4.c:495,1
    - Dst: memset
      Src: /src/curl/lib/md4.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 498
    functionName: MD4_Final
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 1
    functionsReached:
    - my_md4_body
    - curlx_ultouc
    - memset
    linkageType: ''
    returnType: void
    signature: void MD4_Final(unsigned char *result, MD4_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD4_Init
      Src: /src/curl/lib/md4.c:508,1
    - Dst: MD4_Init
      Src: /src/curl/lib/md4.c:510,1
    - Dst: MD4_Update
      Src: /src/curl/lib/md4.c:514,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/md4.c:514,1
    - Dst: MD4_Final
      Src: /src/curl/lib/md4.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - input
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 517
    functionName: Curl_md4it
    functionSourceFile: /src/curl/lib/md4.c
    functionUses: 2
    functionsReached:
    - MD4_Final
    - MD4_Update
    - MD4_Init
    - curlx_uztoui
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_md4it(unsigned char *output, const unsigned char *input,\n
      \                   const size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Curl_rtsp_parseheader
    functionSourceFile: /src/curl/lib/rtsp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_rtsp_parseheader(x,y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/curl/lib/http_digest.c:61,1
    - Dst: ISBLANK
      Src: /src/curl/lib/http_digest.c:61,1
    - Dst: strlen
      Src: /src/curl/lib/http_digest.c:64,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/http_digest.c:65,1
    - Dst: Curl_auth_decode_digest_http_message
      Src: /src/curl/lib/http_digest.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - proxy
    - header
    argTypes:
    - struct Curl_easy*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: Curl_input_digest
    functionSourceFile: /src/curl/lib/http_digest.c
    functionUses: 1
    functionsReached:
    - curlx_str_passblanks
    - strlen
    - Curl_auth_decode_digest_http_message
    - checkprefix
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_input_digest(struct Curl_easy *data,\n                           bool
      proxy,\n                           const char *header)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/http_digest.c:113,1
    - Dst: strchr
      Src: /src/curl/lib/http_digest.c:147,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_digest.c:151,1
    - Dst: strdup
      Src: /src/curl/lib/http_digest.c:155,1
    - Dst: Curl_auth_create_digest_http_message
      Src: /src/curl/lib/http_digest.c:160,1
    - Dst: free
      Src: /src/curl/lib/http_digest.c:162,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/http_digest.c:166,1
    - Dst: free
      Src: /src/curl/lib/http_digest.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 4
    argNames:
    - data
    - proxy
    - request
    - uripath
    argTypes:
    - struct Curl_easy*
    - bool
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 175
    functionName: Curl_output_digest
    functionSourceFile: /src/curl/lib/http_digest.c
    functionUses: 1
    functionsReached:
    - Curl_safefree
    - Curl_auth_create_digest_http_message
    - strdup
    - strchr
    - free
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_output_digest(struct Curl_easy *data,\n                            bool
      proxy,\n                            const unsigned char *request,\n                            const
      unsigned char *uripath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_digest_cleanup
      Src: /src/curl/lib/http_digest.c:179,1
    - Dst: Curl_auth_digest_cleanup
      Src: /src/curl/lib/http_digest.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: Curl_http_auth_cleanup_digest
    functionSourceFile: /src/curl/lib/http_digest.c
    functionUses: 2
    functionsReached:
    - Curl_auth_digest_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_http_auth_cleanup_digest(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - easy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: Curl_psl_use
    functionSourceFile: /src/curl/lib/psl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_psl_use(easy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/mqtt.c:148,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/mqtt.c:149,1
    - Dst: free
      Src: /src/curl/lib/mqtt.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: mqtt_easy_dtor
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - free
    linkageType: ''
    returnType: void
    signature: void mqtt_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/mqtt.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: mqtt_conn_dtor
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mqtt_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/mqtt.c:167,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/mqtt.c:169,1
    - Dst: calloc
      Src: /src/curl/lib/mqtt.c:172,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/mqtt.c:175,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/mqtt.c:176,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/mqtt.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: mqtt_setup_conn
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    - Curl_meta_set
    - Curl_conn_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_setup_conn(struct Curl_easy *data,\n                                struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:187,1
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/mqtt.c:192,1
    - Dst: curlx_now
      Src: /src/curl/lib/mqtt.c:195,1
    - Dst: Curl_debug
      Src: /src/curl/lib/mqtt.c:196,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mqtt.c:199,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mqtt.c:200,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mqtt.c:200,1
    - Dst: curlx_dyn_tail
      Src: /src/curl/lib/mqtt.c:201,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/mqtt.c:204,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/mqtt.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - data
    - buf
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 182
    functionDepth: 8
    functionLinenumber: 182
    functionLinenumberEnd: 210
    functionName: mqtt_send
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_send
    - curlx_dyn_tail
    - DEBUGASSERT
    - curlx_now
    - curlx_dyn_reset
    - curlx_dyn_addn
    - curlx_dyn_len
    - Curl_meta_get
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_send(struct Curl_easy *data,\n                          const
      char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_in
      Src: /src/curl/lib/mqtt.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: mqtt_pollset
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_in
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: mqtt_encode_len
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mqtt_encode_len(char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/mqtt.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - passwd
    - plen
    - pkt
    - start
    - remain_pos
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: add_passwd
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int add_passwd(const char *passwd, const size_t plen,\n                      char
      *pkt, const size_t start, int remain_pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/mqtt.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - username
    - ulen
    - pkt
    - start
    - remain_pos
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: add_user
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int add_user(const char *username, const size_t ulen,\n                    unsigned
      char *pkt, const size_t start, int remain_pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/mqtt.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - client_id
    - client_id_len
    - pkt
    - start
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: add_client_id
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int add_client_id(const char *client_id, const size_t client_id_len,\n
      \                        char *pkt, const size_t start)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/mqtt.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - packet
    - remain
    - remain_pos
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 314
    functionName: init_connpack
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int init_connpack(char *packet, char *remain, int remain_pos)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/mqtt.c:328,1
    - Dst: strlen
      Src: /src/curl/lib/mqtt.c:334,1
    - Dst: strlen
      Src: /src/curl/lib/mqtt.c:338,1
    - Dst: mqtt_encode_len
      Src: /src/curl/lib/mqtt.c:346,1
    - Dst: calloc
      Src: /src/curl/lib/mqtt.c:354,1
    - Dst: init_connpack
      Src: /src/curl/lib/mqtt.c:359,1
    - Dst: Curl_rand_alnum
      Src: /src/curl/lib/mqtt.c:361,1
    - Dst: add_client_id
      Src: /src/curl/lib/mqtt.c:364,1
    - Dst: strlen
      Src: /src/curl/lib/mqtt.c:364,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:366,1
    - Dst: strlen
      Src: /src/curl/lib/mqtt.c:366,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:370,1
    - Dst: add_user
      Src: /src/curl/lib/mqtt.c:380,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:383,1
    - Dst: add_passwd
      Src: /src/curl/lib/mqtt.c:391,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:393,1
    - Dst: mqtt_send
      Src: /src/curl/lib/mqtt.c:400,1
    - Dst: free
      Src: /src/curl/lib/mqtt.c:404,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/mqtt.c:405,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/mqtt.c:406,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 316
    functionDepth: 9
    functionLinenumber: 316
    functionLinenumberEnd: 408
    functionName: mqtt_connect
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_encode_len
    - calloc
    - strlen
    - failf
    - Curl_rand_alnum
    - mqtt_send
    - add_passwd
    - Curl_safefree
    - free
    - infof
    - add_user
    - init_connpack
    - add_client_id
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_connect(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mqtt_send
      Src: /src/curl/lib/mqtt.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 9
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: mqtt_disconnect
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_disconnect(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:417,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mqtt.c:423,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mqtt.c:429,1
    - Dst: Curl_xfer_recv
      Src: /src/curl/lib/mqtt.c:430,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/mqtt.c:433,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mqtt.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - nbytes
    argTypes:
    - struct Curl_easy*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 438
    functionName: mqtt_recv_atleast
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_recv
    - curlx_dyn_addn
    - curlx_dyn_len
    - Curl_meta_get
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_recv_atleast(struct Curl_easy *data, size_t nbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:442,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mqtt.c:443,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mqtt.c:445,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/mqtt.c:447,1
    - Dst: curlx_dyn_tail
      Src: /src/curl/lib/mqtt.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - nbytes
    argTypes:
    - struct Curl_easy*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: mqtt_recv_consume
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_tail
    - curlx_dyn_reset
    - curlx_dyn_len
    - Curl_meta_get
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void mqtt_recv_consume(struct Curl_easy *data, size_t nbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:455,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mqtt.c:459,1
    - Dst: mqtt_recv_atleast
      Src: /src/curl/lib/mqtt.c:463,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mqtt.c:468,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mqtt.c:468,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/mqtt.c:469,1
    - Dst: Curl_debug
      Src: /src/curl/lib/mqtt.c:470,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:473,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/mqtt.c:475,1
    - Dst: mqtt_recv_consume
      Src: /src/curl/lib/mqtt.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 453
    functionDepth: 8
    functionLinenumber: 453
    functionLinenumberEnd: 482
    functionName: mqtt_verify_connack
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - failf
    - mqtt_recv_consume
    - curlx_dyn_reset
    - Curl_debug
    - mqtt_recv_atleast
    - curlx_dyn_len
    - Curl_meta_get
    - curlx_dyn_ptr
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_verify_connack(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/mqtt.c:489,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/mqtt.c:490,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:492,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - topic
    - topiclen
    argTypes:
    - struct Curl_easy*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 500
    functionName: mqtt_get_topic
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - strlen
    - failf
    - Curl_urldecode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_get_topic(struct Curl_easy *data,\n                               char
      **topic, size_t *topiclen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/mqtt.c:512,1
    - Dst: mqtt_get_topic
      Src: /src/curl/lib/mqtt.c:517,1
    - Dst: mqtt_encode_len
      Src: /src/curl/lib/mqtt.c:525,1
    - Dst: malloc
      Src: /src/curl/lib/mqtt.c:528,1
    - Dst: memcpy
      Src: /src/curl/lib/mqtt.c:535,1
    - Dst: memcpy
      Src: /src/curl/lib/mqtt.c:540,1
    - Dst: mqtt_send
      Src: /src/curl/lib/mqtt.c:543,1
    - Dst: free
      Src: /src/curl/lib/mqtt.c:546,1
    - Dst: free
      Src: /src/curl/lib/mqtt.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 502
    functionDepth: 9
    functionLinenumber: 502
    functionLinenumberEnd: 549
    functionName: mqtt_subscribe
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_encode_len
    - malloc
    - mqtt_send
    - Curl_conn_meta_get
    - memcpy
    - free
    - mqtt_get_topic
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_subscribe(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:556,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/mqtt.c:558,1
    - Dst: mqtt_recv_atleast
      Src: /src/curl/lib/mqtt.c:565,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mqtt.c:570,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mqtt.c:570,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/mqtt.c:571,1
    - Dst: Curl_debug
      Src: /src/curl/lib/mqtt.c:572,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/mqtt.c:577,1
    - Dst: mqtt_recv_consume
      Src: /src/curl/lib/mqtt.c:581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 554
    functionDepth: 8
    functionLinenumber: 554
    functionLinenumberEnd: 584
    functionName: mqtt_verify_suback
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_recv_consume
    - Curl_conn_meta_get
    - curlx_dyn_reset
    - Curl_debug
    - mqtt_recv_atleast
    - curlx_dyn_len
    - Curl_meta_get
    - curlx_dyn_ptr
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_verify_suback(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGF
      Src: /src/curl/lib/mqtt.c:601,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:601,1
    - Dst: strlen
      Src: /src/curl/lib/mqtt.c:605,1
    - Dst: mqtt_get_topic
      Src: /src/curl/lib/mqtt.c:609,1
    - Dst: mqtt_encode_len
      Src: /src/curl/lib/mqtt.c:614,1
    - Dst: malloc
      Src: /src/curl/lib/mqtt.c:617,1
    - Dst: memcpy
      Src: /src/curl/lib/mqtt.c:625,1
    - Dst: memcpy
      Src: /src/curl/lib/mqtt.c:629,1
    - Dst: memcpy
      Src: /src/curl/lib/mqtt.c:631,1
    - Dst: mqtt_send
      Src: /src/curl/lib/mqtt.c:633,1
    - Dst: free
      Src: /src/curl/lib/mqtt.c:636,1
    - Dst: free
      Src: /src/curl/lib/mqtt.c:637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 586
    functionDepth: 9
    functionLinenumber: 586
    functionLinenumberEnd: 639
    functionName: mqtt_publish
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_encode_len
    - strlen
    - malloc
    - DEBUGF
    - mqtt_send
    - memcpy
    - free
    - mqtt_get_topic
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_publish(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - buflen
    - lenbytes
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 659
    functionName: mqtt_decode_len
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mqtt_decode_len(unsigned char *buf,\n                              size_t
      buflen, size_t *lenbytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/mqtt.c:681,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mqtt.c:682,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - state
    - nextstate
    argTypes:
    - struct Curl_easy*
    - enum mqttstate
    - enum mqttstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 694
    functionName: mqstate
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGASSERT
    - Curl_conn_meta_get
    linkageType: ''
    returnType: void
    signature: "void mqstate(struct Curl_easy *data,\n                    enum mqttstate
      state,\n                    enum mqttstate nextstate)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/mqtt.c:703,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:704,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mqtt.c:707,1
    - Dst: mqtt_verify_suback
      Src: /src/curl/lib/mqtt.c:714,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:718,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:726,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:728,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:732,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:743,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:746,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/mqtt.c:750,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/mqtt.c:754,1
    - Dst: Curl_xfer_recv
      Src: /src/curl/lib/mqtt.c:761,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:764,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:769,1
    - Dst: curlx_now
      Src: /src/curl/lib/mqtt.c:775,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/mqtt.c:778,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:785,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/mqtt.c:789,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 697
    functionDepth: 9
    functionLinenumber: 697
    functionLinenumberEnd: 795
    functionName: mqtt_read_publish
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_verify_suback
    - FALLTHROUGH
    - failf
    - Curl_xfer_recv
    - Curl_client_write
    - Curl_pgrsSetDownloadSize
    - curlx_now
    - Curl_conn_meta_get
    - mqstate
    - infof
    - Curl_meta_get
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_read_publish(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:799,1
    - Dst: curlx_now
      Src: /src/curl/lib/mqtt.c:805,1
    - Dst: mqtt_connect
      Src: /src/curl/lib/mqtt.c:808,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:810,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 797
    functionDepth: 10
    functionLinenumber: 797
    functionLinenumberEnd: 815
    functionName: mqtt_do
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - failf
    - curlx_now
    - mqtt_connect
    - mqstate
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_do(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:820,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/mqtt.c:824,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/mqtt.c:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 828
    functionName: mqtt_done
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mqtt_done(struct Curl_easy *data,\n                          CURLcode
      status, bool premature)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:833,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/mqtt.c:836,1
    - Dst: curlx_now
      Src: /src/curl/lib/mqtt.c:844,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/mqtt.c:845,1
    - Dst: mqtt_send
      Src: /src/curl/lib/mqtt.c:852,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 831
    functionDepth: 9
    functionLinenumber: 831
    functionLinenumberEnd: 860
    functionName: mqtt_ping
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_send
    - curlx_now
    - Curl_conn_meta_get
    - curlx_timediff
    - infof
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_ping(struct Curl_easy *data)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/mqtt.c:864,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/mqtt.c:868,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mqtt.c:875,1
    - Dst: mqtt_send
      Src: /src/curl/lib/mqtt.c:877,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/mqtt.c:877,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/mqtt.c:878,1
    - Dst: mqtt_ping
      Src: /src/curl/lib/mqtt.c:883,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:887,1
    - Dst: Curl_xfer_recv
      Src: /src/curl/lib/mqtt.c:891,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:895,1
    - Dst: Curl_debug
      Src: /src/curl/lib/mqtt.c:900,1
    - Dst: curlx_now
      Src: /src/curl/lib/mqtt.c:903,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:907,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/mqtt.c:908,1
    - Dst: Curl_xfer_recv
      Src: /src/curl/lib/mqtt.c:911,1
    - Dst: Curl_debug
      Src: /src/curl/lib/mqtt.c:914,1
    - Dst: mqtt_decode_len
      Src: /src/curl/lib/mqtt.c:923,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:926,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:929,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:932,1
    - Dst: infof
      Src: /src/curl/lib/mqtt.c:938,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:940,1
    - Dst: mqtt_verify_connack
      Src: /src/curl/lib/mqtt.c:944,1
    - Dst: mqtt_publish
      Src: /src/curl/lib/mqtt.c:949,1
    - Dst: mqtt_disconnect
      Src: /src/curl/lib/mqtt.c:951,1
    - Dst: mqtt_subscribe
      Src: /src/curl/lib/mqtt.c:957,1
    - Dst: mqstate
      Src: /src/curl/lib/mqtt.c:959,1
    - Dst: mqtt_read_publish
      Src: /src/curl/lib/mqtt.c:967,1
    - Dst: failf
      Src: /src/curl/lib/mqtt.c:971,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 862
    functionDepth: 10
    functionLinenumber: 862
    functionLinenumberEnd: 979
    functionName: mqtt_doing
    functionSourceFile: /src/curl/lib/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_ping
    - Curl_conn_meta_get
    - mqtt_disconnect
    - mqstate
    - failf
    - mqtt_send
    - curlx_now
    - mqtt_verify_connack
    - curlx_dyn_len
    - curlx_dyn_ptr
    - Curl_xfer_recv
    - mqtt_publish
    - Curl_meta_get
    - Curl_debug
    - FALLTHROUGH
    - mqtt_read_publish
    - mqtt_subscribe
    - mqtt_decode_len
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mqtt_doing(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: isatty
    functionSourceFile: /src/curl/lib/setup-os400.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isatty(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: puts
    functionSourceFile: /src/curl/lib/setup-os400.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: puts(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: Curl_amiga_init
    functionSourceFile: /src/curl/lib/amigaos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_amiga_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: Curl_amiga_cleanup
    functionSourceFile: /src/curl/lib/amigaos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_amiga_cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/openldap.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - li
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct ldapconninfo*
    - ldapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 240
    functionName: oldap_state
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: "void oldap_state(struct Curl_easy *data, struct ldapconninfo *li,\n
      \                       ldapstate newstate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - rc
    - result
    argTypes:
    - int
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: oldap_map_error
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_map_error(int rc, CURLcode result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ldap_url_parse
      Src: /src/curl/lib/openldap.c:279,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/openldap.c:286,1
    - Dst: failf
      Src: /src/curl/lib/openldap.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - data
    - ludp
    argTypes:
    - struct Curl_easy*
    - LDAPURLDesc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 291
    functionName: oldap_url_parse
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - ldap_url_parse
    - failf
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_url_parse(struct Curl_easy *data, LDAPURLDesc **ludp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:297,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/openldap.c:300,1
    - Dst: checkprefix
      Src: /src/curl/lib/openldap.c:316,1
    - Dst: Curl_sasl_parse_url_auth_option
      Src: /src/curl/lib/openldap.c:317,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: oldap_parse_login_options
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_parse_url_auth_option
    - DEBUGASSERT
    - checkprefix
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_parse_login_options(struct connectdata *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oldap_url_parse
      Src: /src/curl/lib/openldap.c:336,1
    - Dst: ldap_free_urldesc
      Src: /src/curl/lib/openldap.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: oldap_setup_connection
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - oldap_url_parse
    - ldap_free_urldesc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_setup_connection(struct Curl_easy *data,\n                                       struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:348,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/openldap.c:350,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/openldap.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: oldap_get_message
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - DEBUGASSERT
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_get_message(struct Curl_easy *data, struct bufref *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:367,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/openldap.c:372,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/openldap.c:375,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/openldap.c:375,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/openldap.c:376,1
    - Dst: ldap_sasl_bind
      Src: /src/curl/lib/openldap.c:379,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - mech
    - initresp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: oldap_perform_auth
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - ldap_sasl_bind
    - CURL_UNCONST
    - Curl_conn_meta_get
    - Curl_bufref_ptr
    - oldap_map_error
    - Curl_bufref_len
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_perform_auth(struct Curl_easy *data, const char *mech,\n
      \                                  const struct bufref *initresp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:392,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/openldap.c:399,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/openldap.c:399,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/openldap.c:400,1
    - Dst: ldap_sasl_bind
      Src: /src/curl/lib/openldap.c:403,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - mech
    - resp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 407
    functionName: oldap_continue_auth
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - ldap_sasl_bind
    - CURL_UNCONST
    - Curl_conn_meta_get
    - Curl_bufref_ptr
    - oldap_map_error
    - Curl_bufref_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_continue_auth(struct Curl_easy *data, const char *mech,\n
      \                                   const struct bufref *resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:415,1
    - Dst: ldap_sasl_bind
      Src: /src/curl/lib/openldap.c:421,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - mech
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 426
    functionName: oldap_cancel_auth
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - oldap_map_error
    - Curl_conn_meta_get
    - ldap_sasl_bind
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_cancel_auth(struct Curl_easy *data, const char *mech)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:432,1
    - Dst: strlen
      Src: /src/curl/lib/openldap.c:445,1
    - Dst: ldap_sasl_bind
      Src: /src/curl/lib/openldap.c:448,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:451,1
    - Dst: oldap_state
      Src: /src/curl/lib/openldap.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - data
    - newstate
    argTypes:
    - struct Curl_easy*
    - ldapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 456
    functionName: oldap_perform_bind
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - strlen
    - ldap_sasl_bind
    - Curl_conn_meta_get
    - oldap_map_error
    - oldap_state
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_perform_bind(struct Curl_easy *data, ldapstate newstate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:462,1
    - Dst: ldap_search_ext
      Src: /src/curl/lib/openldap.c:475,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/openldap.c:476,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:479,1
    - Dst: oldap_state
      Src: /src/curl/lib/openldap.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 482
    functionName: oldap_perform_mechs
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - Curl_conn_meta_get
    - ldap_search_ext
    - oldap_map_error
    - oldap_state
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_perform_mechs(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:488,1
    - Dst: Curl_sasl_start
      Src: /src/curl/lib/openldap.c:494,1
    - Dst: oldap_state
      Src: /src/curl/lib/openldap.c:496,1
    - Dst: Curl_sasl_is_blocked
      Src: /src/curl/lib/openldap.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: oldap_perform_sasl
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_start
    - oldap_state
    - Curl_conn_meta_get
    - Curl_sasl_is_blocked
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_perform_sasl(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: ssl_installed
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    linkageType: ''
    returnType: bool
    signature: bool ssl_installed(struct connectdata *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:531,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/openldap.c:537,1
    - Dst: oldap_state
      Src: /src/curl/lib/openldap.c:540,1
    - Dst: ldap_get_option
      Src: /src/curl/lib/openldap.c:546,1
    - Dst: ber_sockbuf_add_io
      Src: /src/curl/lib/openldap.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - data
    - newstate
    argTypes:
    - struct Curl_easy*
    - ldapstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 554
    functionName: oldap_ssl_connect
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - ldap_get_option
    - oldap_state
    - Curl_conn_connect
    - ber_sockbuf_add_io
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_ssl_connect(struct Curl_easy *data, ldapstate newstate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:560,1
    - Dst: ldap_start_tls
      Src: /src/curl/lib/openldap.c:565,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:567,1
    - Dst: oldap_state
      Src: /src/curl/lib/openldap.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 570
    functionName: oldap_perform_starttls
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - ldap_start_tls
    - oldap_map_error
    - oldap_state
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_perform_starttls(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/openldap.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: oldap_easy_dtor
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void oldap_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_unbind_ext
      Src: /src/curl/lib/openldap.c:587,1
    - Dst: free
      Src: /src/curl/lib/openldap.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: oldap_conn_dtor
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - free
    - ldap_unbind_ext
    linkageType: ''
    returnType: void
    signature: void oldap_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/openldap.c:607,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/openldap.c:613,1
    - Dst: ldap_pvt_url_scheme2proto
      Src: /src/curl/lib/openldap.c:617,1
    - Dst: Curl_sasl_init
      Src: /src/curl/lib/openldap.c:620,1
    - Dst: oldap_parse_login_options
      Src: /src/curl/lib/openldap.c:622,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/openldap.c:626,1
    - Dst: ldap_init_fd
      Src: /src/curl/lib/openldap.c:637,1
    - Dst: failf
      Src: /src/curl/lib/openldap.c:639,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/openldap.c:640,1
    - Dst: getenv
      Src: /src/curl/lib/openldap.c:647,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/openldap.c:649,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/openldap.c:653,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/openldap.c:657,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/openldap.c:660,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/openldap.c:663,1
    - Dst: oldap_ssl_connect
      Src: /src/curl/lib/openldap.c:664,1
    - Dst: oldap_perform_starttls
      Src: /src/curl/lib/openldap.c:669,1
    - Dst: oldap_perform_mechs
      Src: /src/curl/lib/openldap.c:676,1
    - Dst: oldap_perform_bind
      Src: /src/curl/lib/openldap.c:682,1
    - Dst: free
      Src: /src/curl/lib/openldap.c:685,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 593
    functionDepth: 6
    functionLinenumber: 593
    functionLinenumberEnd: 687
    functionName: oldap_connect
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - oldap_ssl_connect
    - oldap_perform_mechs
    - calloc
    - oldap_parse_login_options
    - failf
    - Curl_sasl_init
    - ldap_init_fd
    - getenv
    - oldap_perform_starttls
    - Curl_conn_is_ssl
    - oldap_perform_bind
    - free
    - ldap_pvt_url_scheme2proto
    - curlx_str_number
    - Curl_conn_meta_set
    - ldap_set_option
    - ldap_err2string
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_connect(struct Curl_easy *data, bool *done)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:694,1
    - Dst: ldap_msgtype
      Src: /src/curl/lib/openldap.c:702,1
    - Dst: ldap_get_dn_ber
      Src: /src/curl/lib/openldap.c:708,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:710,1
    - Dst: ldap_get_attribute_ber
      Src: /src/curl/lib/openldap.c:711,1
    - Dst: ldap_get_attribute_ber
      Src: /src/curl/lib/openldap.c:713,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/curl/lib/openldap.c:722,1
    - Dst: ber_memfree
      Src: /src/curl/lib/openldap.c:727,1
    - Dst: ber_free
      Src: /src/curl/lib/openldap.c:730,1
    - Dst: infof
      Src: /src/curl/lib/openldap.c:736,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/openldap.c:737,1
    - Dst: Curl_sasl_can_authenticate
      Src: /src/curl/lib/openldap.c:740,1
    - Dst: oldap_perform_sasl
      Src: /src/curl/lib/openldap.c:741,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:746,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - data
    - msg
    - code
    argTypes:
    - struct Curl_easy*
    - LDAPMessage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 690
    functionDepth: 6
    functionLinenumber: 690
    functionLinenumberEnd: 754
    functionName: oldap_state_mechs_resp
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - ber_free
    - FALLTHROUGH
    - ber_memfree
    - Curl_sasl_can_authenticate
    - oldap_perform_sasl
    - Curl_conn_meta_get
    - ldap_get_dn_ber
    - oldap_map_error
    - Curl_sasl_decode_mech
    - ldap_get_attribute_ber
    - infof
    - ldap_msgtype
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_state_mechs_resp(struct Curl_easy *data,\n                                       LDAPMessage
      *msg, int code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:761,1
    - Dst: ldap_parse_sasl_bind_result
      Src: /src/curl/lib/openldap.c:769,1
    - Dst: failf
      Src: /src/curl/lib/openldap.c:771,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/openldap.c:771,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:772,1
    - Dst: Curl_sasl_continue
      Src: /src/curl/lib/openldap.c:775,1
    - Dst: oldap_state
      Src: /src/curl/lib/openldap.c:777,1
    - Dst: ber_bvfree
      Src: /src/curl/lib/openldap.c:781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - data
    - msg
    - code
    argTypes:
    - struct Curl_easy*
    - LDAPMessage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 757
    functionDepth: 6
    functionLinenumber: 757
    functionLinenumberEnd: 783
    functionName: oldap_state_sasl_resp
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_continue
    - failf
    - Curl_conn_meta_get
    - oldap_map_error
    - oldap_state
    - ldap_parse_sasl_bind_result
    - ldap_err2string
    - ber_bvfree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_state_sasl_resp(struct Curl_easy *data,\n                                      LDAPMessage
      *msg, int code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:790,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:799,1
    - Dst: ldap_parse_sasl_bind_result
      Src: /src/curl/lib/openldap.c:801,1
    - Dst: failf
      Src: /src/curl/lib/openldap.c:803,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/openldap.c:804,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:805,1
    - Dst: oldap_state
      Src: /src/curl/lib/openldap.c:808,1
    - Dst: ber_bvfree
      Src: /src/curl/lib/openldap.c:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - data
    - msg
    - code
    argTypes:
    - struct Curl_easy*
    - LDAPMessage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 813
    functionName: oldap_state_bind_resp
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_conn_meta_get
    - oldap_map_error
    - oldap_state
    - ldap_parse_sasl_bind_result
    - ldap_err2string
    - ber_bvfree
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_state_bind_resp(struct Curl_easy *data, LDAPMessage
      *msg,\n                                      int code)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:819,1
    - Dst: ldap_result
      Src: /src/curl/lib/openldap.c:830,1
    - Dst: failf
      Src: /src/curl/lib/openldap.c:840,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/openldap.c:841,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:842,1
    - Dst: ldap_parse_result
      Src: /src/curl/lib/openldap.c:848,1
    - Dst: USE_SSL
      Src: /src/curl/lib/openldap.c:858,1
    - Dst: ssl_installed
      Src: /src/curl/lib/openldap.c:859,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/openldap.c:864,1
    - Dst: ldap_msgfree
      Src: /src/curl/lib/openldap.c:865,1
    - Dst: oldap_perform_bind
      Src: /src/curl/lib/openldap.c:866,1
    - Dst: oldap_ssl_connect
      Src: /src/curl/lib/openldap.c:875,1
    - Dst: ssl_installed
      Src: /src/curl/lib/openldap.c:876,1
    - Dst: oldap_perform_mechs
      Src: /src/curl/lib/openldap.c:878,1
    - Dst: oldap_perform_bind
      Src: /src/curl/lib/openldap.c:880,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:886,1
    - Dst: oldap_perform_mechs
      Src: /src/curl/lib/openldap.c:888,1
    - Dst: oldap_perform_bind
      Src: /src/curl/lib/openldap.c:890,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/curl/lib/openldap.c:893,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/openldap.c:896,1
    - Dst: oldap_ssl_connect
      Src: /src/curl/lib/openldap.c:898,1
    - Dst: oldap_map_error
      Src: /src/curl/lib/openldap.c:900,1
    - Dst: ssl_installed
      Src: /src/curl/lib/openldap.c:901,1
    - Dst: oldap_perform_mechs
      Src: /src/curl/lib/openldap.c:903,1
    - Dst: oldap_perform_bind
      Src: /src/curl/lib/openldap.c:905,1
    - Dst: oldap_state
      Src: /src/curl/lib/openldap.c:908,1
    - Dst: oldap_state_mechs_resp
      Src: /src/curl/lib/openldap.c:916,1
    - Dst: oldap_state_sasl_resp
      Src: /src/curl/lib/openldap.c:919,1
    - Dst: oldap_state_bind_resp
      Src: /src/curl/lib/openldap.c:923,1
    - Dst: ldap_msgfree
      Src: /src/curl/lib/openldap.c:931,1
    - Dst: ldap_abandon_ext
      Src: /src/curl/lib/openldap.c:938,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 89
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 815
    functionDepth: 7
    functionLinenumber: 815
    functionLinenumberEnd: 942
    functionName: oldap_connecting
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - oldap_perform_mechs
    - Curl_ssl_cfilter_add
    - USE_SSL
    - Curl_conn_meta_get
    - ssl_installed
    - oldap_map_error
    - ldap_err2string
    - oldap_ssl_connect
    - failf
    - ldap_parse_result
    - oldap_state
    - ldap_abandon_ext
    - ldap_msgfree
    - oldap_state_sasl_resp
    - ldap_result
    - FALLTHROUGH
    - oldap_perform_bind
    - oldap_state_bind_resp
    - oldap_state_mechs_resp
    - ldap_set_option
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_connecting(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:948,1
    - Dst: ssl_installed
      Src: /src/curl/lib/openldap.c:956,1
    - Dst: ldap_get_option
      Src: /src/curl/lib/openldap.c:958,1
    - Dst: ber_sockbuf_add_io
      Src: /src/curl/lib/openldap.c:960,1
    - Dst: ldap_unbind_ext
      Src: /src/curl/lib/openldap.c:964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 968
    functionName: oldap_disconnect
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - ldap_unbind_ext
    - Curl_conn_meta_get
    - ssl_installed
    - ldap_get_option
    - ber_sockbuf_add_io
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_disconnect(struct Curl_easy *data,\n                                 struct
      connectdata *conn,\n                                 bool dead_connection)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:973,1
    - Dst: connkeep
      Src: /src/curl/lib/openldap.c:982,1
    - Dst: infof
      Src: /src/curl/lib/openldap.c:984,1
    - Dst: oldap_url_parse
      Src: /src/curl/lib/openldap.c:986,1
    - Dst: ssl_installed
      Src: /src/curl/lib/openldap.c:991,1
    - Dst: ldap_get_option
      Src: /src/curl/lib/openldap.c:994,1
    - Dst: ber_sockbuf_add_io
      Src: /src/curl/lib/openldap.c:995,1
    - Dst: ldap_free_urldesc
      Src: /src/curl/lib/openldap.c:996,1
    - Dst: ldap_search_ext
      Src: /src/curl/lib/openldap.c:1002,1
    - Dst: ldap_free_urldesc
      Src: /src/curl/lib/openldap.c:1005,1
    - Dst: failf
      Src: /src/curl/lib/openldap.c:1007,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/openldap.c:1007,1
    - Dst: calloc
      Src: /src/curl/lib/openldap.c:1012,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/openldap.c:1014,1
    - Dst: ldap_abandon_ext
      Src: /src/curl/lib/openldap.c:1015,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/openldap.c:1021,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 1026
    functionName: oldap_do
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - oldap_url_parse
    - Curl_meta_set
    - calloc
    - failf
    - Curl_xfer_setup_recv
    - connkeep
    - Curl_conn_meta_get
    - ldap_free_urldesc
    - ssl_installed
    - ldap_get_option
    - ldap_search_ext
    - ldap_abandon_ext
    - infof
    - ldap_err2string
    - ber_sockbuf_add_io
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode oldap_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/openldap.c:1032,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:1040,1
    - Dst: ldap_abandon_ext
      Src: /src/curl/lib/openldap.c:1042,1
    - Dst: Curl_meta_remove
      Src: /src/curl/lib/openldap.c:1046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - data
    - res
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1050
    functionName: oldap_done
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_meta_remove
    - ldap_abandon_ext
    - Curl_meta_get
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_done(struct Curl_easy *data, CURLcode res,\n                           bool
      premature)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_write
      Src: /src/curl/lib/openldap.c:1064,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/openldap.c:1067,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/openldap.c:1070,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 7
    argNames:
    - data
    - prefix
    - plen
    - value
    - len
    - suffix
    - slen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1073
    functionName: client_write
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 19
    functionsReached:
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode client_write(struct Curl_easy *data,\n                             const
      char *prefix, size_t plen,\n                             const char *value,
      size_t len,\n                             const char *suffix, size_t slen)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:1079,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/openldap.c:1080,1
    - Dst: ldap_result
      Src: /src/curl/lib/openldap.c:1098,1
    - Dst: failf
      Src: /src/curl/lib/openldap.c:1100,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/openldap.c:1100,1
    - Dst: ldap_msgtype
      Src: /src/curl/lib/openldap.c:1110,1
    - Dst: ldap_parse_result
      Src: /src/curl/lib/openldap.c:1113,1
    - Dst: failf
      Src: /src/curl/lib/openldap.c:1115,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/openldap.c:1116,1
    - Dst: infof
      Src: /src/curl/lib/openldap.c:1126,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/openldap.c:1127,1
    - Dst: failf
      Src: /src/curl/lib/openldap.c:1132,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/openldap.c:1132,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/openldap.c:1138,1
    - Dst: ldap_get_dn_ber
      Src: /src/curl/lib/openldap.c:1142,1
    - Dst: client_write
      Src: /src/curl/lib/openldap.c:1148,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1148,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1149,1
    - Dst: ldap_get_attribute_ber
      Src: /src/curl/lib/openldap.c:1153,1
    - Dst: ldap_get_attribute_ber
      Src: /src/curl/lib/openldap.c:1155,1
    - Dst: client_write
      Src: /src/curl/lib/openldap.c:1162,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1162,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1163,1
    - Dst: strncmp
      Src: /src/curl/lib/openldap.c:1170,1
    - Dst: client_write
      Src: /src/curl/lib/openldap.c:1175,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1175,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1176,1
    - Dst: ISBLANK
      Src: /src/curl/lib/openldap.c:1183,1
    - Dst: ISBLANK
      Src: /src/curl/lib/openldap.c:1184,1
    - Dst: ISPRINT
      Src: /src/curl/lib/openldap.c:1190,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/openldap.c:1202,1
    - Dst: client_write
      Src: /src/curl/lib/openldap.c:1205,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1205,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1206,1
    - Dst: free
      Src: /src/curl/lib/openldap.c:1207,1
    - Dst: client_write
      Src: /src/curl/lib/openldap.c:1210,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1210,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1212,1
    - Dst: ber_memfree
      Src: /src/curl/lib/openldap.c:1217,1
    - Dst: client_write
      Src: /src/curl/lib/openldap.c:1220,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1220,1
    - Dst: client_write
      Src: /src/curl/lib/openldap.c:1227,1
    - Dst: STRCONST
      Src: /src/curl/lib/openldap.c:1227,1
    - Dst: ber_free
      Src: /src/curl/lib/openldap.c:1233,1
    - Dst: ldap_msgfree
      Src: /src/curl/lib/openldap.c:1234,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 101
    argCount: 5
    argNames:
    - data
    - sockindex
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1236
    functionName: oldap_recv
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - curlx_base64_encode
    - ldap_memfree
    - Curl_conn_meta_get
    - ldap_get_dn_ber
    - client_write
    - ldap_get_attribute_ber
    - ldap_err2string
    - STRCONST
    - ber_memfree
    - failf
    - ISPRINT
    - ldap_parse_result
    - ldap_msgfree
    - strncmp
    - free
    - Curl_meta_get
    - ISBLANK
    - ldap_result
    - FALLTHROUGH
    - ldap_msgtype
    - ber_free
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode oldap_recv(struct Curl_easy *data, int sockindex, char *buf,\n
      \                          size_t len, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sbiod
    - arg
    argTypes:
    - Sockbuf_IO_Desc*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1244
    functionName: ldapsb_tls_setup
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ldapsb_tls_setup(Sockbuf_IO_Desc *sbiod, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sbiod
    argTypes:
    - Sockbuf_IO_Desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1251
    functionName: ldapsb_tls_remove
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ldapsb_tls_remove(Sockbuf_IO_Desc *sbiod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sbiod
    argTypes:
    - Sockbuf_IO_Desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1259
    functionName: ldapsb_tls_close
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ldapsb_tls_close(Sockbuf_IO_Desc *sbiod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_data_pending
      Src: /src/curl/lib/openldap.c:1267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sbiod
    - opt
    - arg
    argTypes:
    - Sockbuf_IO_Desc*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1270
    functionName: ldapsb_tls_ctrl
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - Curl_conn_data_pending
    linkageType: ''
    returnType: int
    signature: int ldapsb_tls_ctrl(Sockbuf_IO_Desc *sbiod, int opt, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:1280,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/lib/openldap.c:1285,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/lib/openldap.c:1290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sbiod
    - buf
    - len
    argTypes:
    - Sockbuf_IO_Desc*
    - void*
    - ber_len_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1272
    functionDepth: 2
    functionLinenumber: 1272
    functionLinenumberEnd: 1296
    functionName: ldapsb_tls_read
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - SET_SOCKERRNO
    - Curl_conn_meta_get
    linkageType: ''
    returnType: ber_slen_t
    signature: ber_slen_t ldapsb_tls_read(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/openldap.c:1305,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/lib/openldap.c:1310,1
    - Dst: SET_SOCKERRNO
      Src: /src/curl/lib/openldap.c:1315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sbiod
    - buf
    - len
    argTypes:
    - Sockbuf_IO_Desc*
    - void*
    - ber_len_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1321
    functionName: ldapsb_tls_write
    functionSourceFile: /src/curl/lib/openldap.c
    functionUses: 0
    functionsReached:
    - SET_SOCKERRNO
    - Curl_conn_meta_get
    linkageType: ''
    returnType: ber_slen_t
    signature: ber_slen_t ldapsb_tls_write(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t
      len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/formdata.c:74,1
    - Dst: calloc
      Src: /src/curl/lib/formdata.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - src
    - parent_post
    - httppost
    - last_post
    argTypes:
    - struct FormInfo*
    - struct curl_httppost*
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 112
    functionName: AddHttpPost
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    linkageType: ''
    returnType: struct curl_httppost
    signature: "struct curl_httppost *\nAddHttpPost(struct FormInfo *src,\n            struct
      curl_httppost *parent_post,\n            struct curl_httppost **httppost,\n
      \           struct curl_httppost **last_post)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/formdata.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - value
    - contenttype
    - parent_form_info
    argTypes:
    - char*
    - char*
    - struct FormInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 147
    functionName: AddFormInfo
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct FormInfo
    signature: "struct FormInfo *AddFormInfo(char *value,\n                                    char
      *contenttype,\n                                    struct FormInfo *parent_form_info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/formdata.c:153,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/formdata.c:157,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/formdata.c:161,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/formdata.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct FormInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: free_formlist
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void free_formlist(struct FormInfo *ptr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_contenttype
      Src: /src/curl/lib/formdata.c:257,1
    - Dst: strdup
      Src: /src/curl/lib/formdata.c:264,1
    - Dst: memchr
      Src: /src/curl/lib/formdata.c:271,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/formdata.c:279,1
    - Dst: strlen
      Src: /src/curl/lib/formdata.c:280,1
    - Dst: strlen
      Src: /src/curl/lib/formdata.c:293,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/formdata.c:295,1
    - Dst: AddHttpPost
      Src: /src/curl/lib/formdata.c:302,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 41
    argCount: 3
    argNames:
    - first_form
    - httppost
    - last_post
    argTypes:
    - struct FormInfo*
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 312
    functionName: FormAddCheck
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - strlen
    - Curl_memdup
    - strdup
    - AddHttpPost
    - memchr
    - Curl_memdup0
    - Curl_mime_contenttype
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode FormAddCheck(struct FormInfo *first_form,\n                                 struct
      curl_httppost **httppost,\n                                 struct curl_httppost
      **last_post)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_chain
      Src: /src/curl/lib/formdata.c:321,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct curl_httppost*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: free_chain
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 1
    functionsReached:
    - free
    - free_chain
    linkageType: ''
    returnType: void
    signature: void free_chain(struct curl_httppost *c)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/formdata.c:348,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/formdata.c:363,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:376,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:387,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/formdata.c:401,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:407,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:419,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/formdata.c:427,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:433,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:442,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:449,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:458,1
    - Dst: strdup
      Src: /src/curl/lib/formdata.c:460,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:476,1
    - Dst: strdup
      Src: /src/curl/lib/formdata.c:481,1
    - Dst: AddFormInfo
      Src: /src/curl/lib/formdata.c:485,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:487,1
    - Dst: strdup
      Src: /src/curl/lib/formdata.c:505,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:524,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:540,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:549,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:564,1
    - Dst: strdup
      Src: /src/curl/lib/formdata.c:568,1
    - Dst: AddFormInfo
      Src: /src/curl/lib/formdata.c:572,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:574,1
    - Dst: strdup
      Src: /src/curl/lib/formdata.c:592,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:609,1
    - Dst: va_arg
      Src: /src/curl/lib/formdata.c:621,1
    - Dst: strdup
      Src: /src/curl/lib/formdata.c:625,1
    - Dst: FormAddCheck
      Src: /src/curl/lib/formdata.c:640,1
    - Dst: free_formlist
      Src: /src/curl/lib/formdata.c:645,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:652,1
    - Dst: free_chain
      Src: /src/curl/lib/formdata.c:666,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 219
    argCount: 3
    argNames:
    - httppost
    - last_post
    - params
    argTypes:
    - struct curl_httppost**
    - struct curl_httppost**
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 669
    functionName: FormAdd
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - calloc
    - free_chain
    - strdup
    - CURL_UNCONST
    - free_formlist
    - free
    - AddFormInfo
    - va_arg
    - FormAddCheck
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode FormAdd(struct curl_httppost **httppost,\n                     struct
      curl_httppost **last_post,\n                     va_list params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/formdata.c:683,1
    - Dst: FormAdd
      Src: /src/curl/lib/formdata.c:684,1
    - Dst: va_end
      Src: /src/curl/lib/formdata.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - httppost
    - last_post
    argTypes:
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 677
    functionDepth: 4
    functionLinenumber: 677
    functionLinenumberEnd: 687
    functionName: curl_formadd
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 10
    functionsReached:
    - va_start
    - FormAdd
    - va_end
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode curl_formadd(struct curl_httppost **httppost,\n                          struct
      curl_httppost **last_post,\n                          ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_initpart
      Src: /src/curl/lib/formdata.c:702,1
    - Dst: Curl_getformdata
      Src: /src/curl/lib/formdata.c:703,1
    - Dst: Curl_mime_prepare_headers
      Src: /src/curl/lib/formdata.c:705,1
    - Dst: Curl_mime_read
      Src: /src/curl/lib/formdata.c:710,1
    - Dst: append
      Src: /src/curl/lib/formdata.c:715,1
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/formdata.c:722,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - form
    - arg
    - append
    argTypes:
    - struct curl_httppost*
    - void*
    - curl_formget_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 696
    functionDepth: 5
    functionLinenumber: 696
    functionLinenumberEnd: 724
    functionName: curl_formget
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 3
    functionsReached:
    - Curl_getformdata
    - append
    - Curl_mime_initpart
    - Curl_mime_read
    - Curl_mime_prepare_headers
    - Curl_mime_cleanpart
    linkageType: ''
    returnType: int
    signature: "int curl_formget(struct curl_httppost *form, void *arg,\n                 curl_formget_callback
      append)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_formfree
      Src: /src/curl/lib/formdata.c:742,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:745,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:749,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:750,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:751,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - form
    argTypes:
    - struct curl_httppost*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 755
    functionName: curl_formfree
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 8
    functionsReached:
    - free
    - curl_formfree
    linkageType: ''
    returnType: void
    signature: void curl_formfree(struct curl_httppost *form)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_mime_name
      Src: /src/curl/lib/formdata.c:765,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/formdata.c:766,1
    - Dst: curl_mime_name
      Src: /src/curl/lib/formdata.c:769,1
    - Dst: free
      Src: /src/curl/lib/formdata.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - part
    - name
    - len
    argTypes:
    - curl_mimepart*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 772
    functionName: setname
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_memdup0
    - curl_mime_name
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode setname(curl_mimepart *part, const char *name, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _fseeki64
      Src: /src/curl/lib/formdata.c:778,1
    - Dst: fseeko
      Src: /src/curl/lib/formdata.c:780,1
    - Dst: fseek
      Src: /src/curl/lib/formdata.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - offset
    - whence
    argTypes:
    - void*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 786
    functionName: fseeko_wrapper
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 0
    functionsReached:
    - _fseeki64
    - fseek
    - fseeko
    linkageType: ''
    returnType: int
    signature: int fseeko_wrapper(void *stream, curl_off_t offset, int whence)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/formdata.c:808,1
    - Dst: curl_mime_init
      Src: /src/curl/lib/formdata.c:813,1
    - Dst: curl_mime_subparts
      Src: /src/curl/lib/formdata.c:818,1
    - Dst: curl_mime_addpart
      Src: /src/curl/lib/formdata.c:825,1
    - Dst: setname
      Src: /src/curl/lib/formdata.c:829,1
    - Dst: curl_mime_init
      Src: /src/curl/lib/formdata.c:831,1
    - Dst: curl_mime_subparts
      Src: /src/curl/lib/formdata.c:836,1
    - Dst: curl_mime_addpart
      Src: /src/curl/lib/formdata.c:842,1
    - Dst: curl_mime_headers
      Src: /src/curl/lib/formdata.c:848,1
    - Dst: curl_mime_type
      Src: /src/curl/lib/formdata.c:852,1
    - Dst: setname
      Src: /src/curl/lib/formdata.c:856,1
    - Dst: strcmp
      Src: /src/curl/lib/formdata.c:866,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/lib/formdata.c:875,1
    - Dst: curl_mime_filedata
      Src: /src/curl/lib/formdata.c:884,1
    - Dst: curl_mime_filename
      Src: /src/curl/lib/formdata.c:886,1
    - Dst: curl_mime_data
      Src: /src/curl/lib/formdata.c:889,1
    - Dst: curl_mime_data_cb
      Src: /src/curl/lib/formdata.c:897,1
    - Dst: curl_mime_data
      Src: /src/curl/lib/formdata.c:906,1
    - Dst: curl_mime_filename
      Src: /src/curl/lib/formdata.c:914,1
    - Dst: Curl_mime_cleanpart
      Src: /src/curl/lib/formdata.c:919,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 66
    argCount: 4
    argNames:
    - data
    - finalform
    - post
    - fread_func
    argTypes:
    - CURL*
    - curl_mimepart*
    - struct curl_httppost*
    - curl_read_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 798
    functionDepth: 3
    functionLinenumber: 798
    functionLinenumberEnd: 922
    functionName: Curl_getformdata
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 2
    functionsReached:
    - curl_mime_init
    - curl_mime_addpart
    - setname
    - curl_mime_data_cb
    - curl_mime_filedata
    - strcmp
    - curl_mime_data
    - curl_mime_subparts
    - curl_mime_filename
    - Curl_mime_cleanpart
    - curl_mime_headers
    - curl_mime_type
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_getformdata(CURL *data,\n                          curl_mimepart
      *finalform,\n                          struct curl_httppost *post,\n                          curl_read_callback
      fread_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - httppost
    - last_post
    argTypes:
    - struct curl_httppost**
    - struct curl_httppost**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 933
    functionName: curl_formadd
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: CURLFORMcode
    signature: "CURLFORMcode curl_formadd(struct curl_httppost **httppost,\n                          struct
      curl_httppost **last_post,\n                          ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - form
    - arg
    - append
    argTypes:
    - struct curl_httppost*
    - void*
    - curl_formget_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 942
    functionName: curl_formget
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int curl_formget(struct curl_httppost *form, void *arg,\n                 curl_formget_callback
      append)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - form
    argTypes:
    - struct curl_httppost*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 948
    functionName: curl_formfree
    functionSourceFile: /src/curl/lib/formdata.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curl_formfree(struct curl_httppost *form)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: GOOD_MULTI_HANDLE
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_MULTI_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: GOOD_MULTI_HANDLE
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_MULTI_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/multi.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: before_perform
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsTime
    linkageType: ''
    returnType: void
    signature: void before_perform(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/multi.c:130,1
    - Dst: Curl_expire_clear
      Src: /src/curl/lib/multi.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: init_completed
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_detach_connection
    - Curl_expire_clear
    linkageType: ''
    returnType: void
    signature: void init_completed(struct Curl_easy *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:168,1
    - Dst: CURL_MSTATE_NAME
      Src: /src/curl/lib/multi.c:168,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:170,1
    - Dst: CURL_MSTATE_NAME
      Src: /src/curl/lib/multi.c:170,1
    - Dst: CURLM_NTFY
      Src: /src/curl/lib/multi.c:176,1
    - Dst: CURLM_NTFY
      Src: /src/curl/lib/multi.c:182,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:184,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/lib/multi.c:184,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:185,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:186,1
    - Dst: Curl_uint_bset_empty
      Src: /src/curl/lib/multi.c:188,1
    - Dst: multi_xfer_bufs_free
      Src: /src/curl/lib/multi.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - data
    - state
    - lineno
    argTypes:
    - struct Curl_easy*
    - CURLMstate
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 200
    functionName: mstate
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_empty
    - CURL_MSTATE_NAME
    - Curl_uint_bset_contains
    - Curl_uint_bset_remove
    - multi_xfer_bufs_free
    - CURL_TRC_M
    - CURLM_NTFY
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void mstate(struct Curl_easy *data, CURLMstate state\n#ifdef DEBUGBUILD\n
      \                  , int lineno\n#endif\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: multistate
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multistate(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: multistate
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multistate(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: ph_freeentry
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void ph_freeentry(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/curl/lib/multi.c:228,1
    - Dst: CURLM_NTFY
      Src: /src/curl/lib/multi.c:229,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/multi.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - multi
    - msg
    argTypes:
    - struct Curl_multi*
    - struct Curl_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: multi_addmsg
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_llist_count
    - Curl_llist_append
    - CURLM_NTFY
    linkageType: ''
    returnType: void
    signature: void multi_addmsg(struct Curl_multi *multi, struct Curl_message *msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/multi.c:239,1
    - Dst: Curl_dnscache_init
      Src: /src/curl/lib/multi.c:246,1
    - Dst: Curl_mntfy_init
      Src: /src/curl/lib/multi.c:247,1
    - Dst: Curl_multi_ev_init
      Src: /src/curl/lib/multi.c:248,1
    - Dst: Curl_uint_tbl_init
      Src: /src/curl/lib/multi.c:249,1
    - Dst: Curl_uint_bset_init
      Src: /src/curl/lib/multi.c:250,1
    - Dst: Curl_uint_bset_init
      Src: /src/curl/lib/multi.c:251,1
    - Dst: Curl_uint_bset_init
      Src: /src/curl/lib/multi.c:252,1
    - Dst: Curl_uint_bset_init
      Src: /src/curl/lib/multi.c:253,1
    - Dst: Curl_hash_init
      Src: /src/curl/lib/multi.c:254,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/multi.c:256,1
    - Dst: Curl_mntfy_resize
      Src: /src/curl/lib/multi.c:262,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/lib/multi.c:263,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/lib/multi.c:264,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/lib/multi.c:265,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/lib/multi.c:266,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/curl/lib/multi.c:267,1
    - Dst: curl_easy_init
      Src: /src/curl/lib/multi.c:270,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/multi.c:276,1
    - Dst: getenv
      Src: /src/curl/lib/multi.c:278,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/lib/multi.c:281,1
    - Dst: Curl_cshutdn_init
      Src: /src/curl/lib/multi.c:283,1
    - Dst: Curl_cpool_init
      Src: /src/curl/lib/multi.c:286,1
    - Dst: Curl_ssl_scache_create
      Src: /src/curl/lib/multi.c:289,1
    - Dst: WSACreateEvent
      Src: /src/curl/lib/multi.c:296,1
    - Dst: wakeup_create
      Src: /src/curl/lib/multi.c:300,1
    - Dst: Curl_multi_ev_cleanup
      Src: /src/curl/lib/multi.c:310,1
    - Dst: Curl_hash_destroy
      Src: /src/curl/lib/multi.c:311,1
    - Dst: Curl_dnscache_destroy
      Src: /src/curl/lib/multi.c:312,1
    - Dst: Curl_cpool_destroy
      Src: /src/curl/lib/multi.c:313,1
    - Dst: Curl_cshutdn_destroy
      Src: /src/curl/lib/multi.c:314,1
    - Dst: Curl_ssl_scache_destroy
      Src: /src/curl/lib/multi.c:316,1
    - Dst: Curl_close
      Src: /src/curl/lib/multi.c:320,1
    - Dst: Curl_mntfy_cleanup
      Src: /src/curl/lib/multi.c:322,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/lib/multi.c:324,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/lib/multi.c:325,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/lib/multi.c:326,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/lib/multi.c:327,1
    - Dst: Curl_uint_tbl_destroy
      Src: /src/curl/lib/multi.c:328,1
    - Dst: free
      Src: /src/curl/lib/multi.c:330,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 5
    argNames:
    - xfer_table_size
    - ev_hashsize
    - chashsize
    - dnssize
    - sesssize
    argTypes:
    - unsigned int
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 233
    functionDepth: 10
    functionLinenumber: 233
    functionLinenumberEnd: 332
    functionName: Curl_multi_handle
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_mntfy_resize
    - getenv
    - Curl_cshutdn_destroy
    - Curl_hash_init
    - Curl_llist_init
    - Curl_multi_ev_init
    - Curl_uint_tbl_resize
    - Curl_ssl_scache_create
    - Curl_uint_bset_init
    - calloc
    - wakeup_create
    - Curl_cshutdn_init
    - Curl_hash_destroy
    - Curl_cpool_init
    - Curl_uint_tbl_init
    - WSACreateEvent
    - Curl_uint_tbl_destroy
    - Curl_cpool_destroy
    - Curl_dnscache_init
    - Curl_uint_tbl_add
    - Curl_ssl_scache_destroy
    - Curl_dnscache_destroy
    - free
    - Curl_mntfy_init
    - curl_easy_init
    - Curl_uint_bset_resize
    - Curl_uint_bset_destroy
    - Curl_close
    - Curl_mntfy_cleanup
    - Curl_multi_ev_cleanup
    linkageType: ''
    returnType: struct Curl_multi
    signature: "struct Curl_multi *Curl_multi_handle(unsigned int xfer_table_size,\n
      \                                    size_t ev_hashsize,  /* event hash */\n
      \                                    size_t chashsize, /* connection hash */\n
      \                                    size_t dnssize,   /* dns hash */\n                                     size_t
      sesssize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_handle
      Src: /src/curl/lib/multi.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 11
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: curl_multi_init
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 40
    functionsReached:
    - Curl_multi_handle
    linkageType: ''
    returnType: CURLM
    signature: CURLM *curl_multi_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/multi.c:347,1
    - Dst: infof
      Src: /src/curl/lib/multi.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: multi_warn_debug
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - infof
    linkageType: ''
    returnType: void
    signature: void multi_warn_debug(struct Curl_multi *multi, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: multi_warn_debug
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multi_warn_debug(x,y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_capacity
      Src: /src/curl/lib/multi.c:361,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/lib/multi.c:374,1
    - Dst: CURLMAX
      Src: /src/curl/lib/multi.c:376,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:398,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/lib/multi.c:399,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/lib/multi.c:400,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/lib/multi.c:401,1
    - Dst: Curl_uint_bset_resize
      Src: /src/curl/lib/multi.c:402,1
    - Dst: Curl_uint_tbl_resize
      Src: /src/curl/lib/multi.c:403,1
    - Dst: Curl_uint_tbl_add
      Src: /src/curl/lib/multi.c:408,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:410,1
    - Dst: Curl_uint_tbl_capacity
      Src: /src/curl/lib/multi.c:410,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/lib/multi.c:411,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 415
    functionName: multi_xfers_add
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_uint_tbl_add
    - CURL_TRC_M
    - Curl_uint_bset_resize
    - CURLMAX
    - Curl_uint_tbl_resize
    - Curl_uint_tbl_count
    - DEBUGASSERT
    - Curl_uint_tbl_capacity
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_xfers_add(struct Curl_multi *multi,\n                                 struct
      Curl_easy *data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:424,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/multi.c:428,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/lib/multi.c:444,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/curl/lib/multi.c:445,1
    - Dst: Curl_uint_bset_clear
      Src: /src/curl/lib/multi.c:448,1
    - Dst: Curl_uint_bset_clear
      Src: /src/curl/lib/multi.c:449,1
    - Dst: Curl_uint_bset_clear
      Src: /src/curl/lib/multi.c:450,1
    - Dst: Curl_uint_bset_clear
      Src: /src/curl/lib/multi.c:451,1
    - Dst: curl_multi_cleanup
      Src: /src/curl/lib/multi.c:457,1
    - Dst: multi_xfers_add
      Src: /src/curl/lib/multi.c:462,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/multi.c:466,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:484,1
    - Dst: Curl_uint_bset_add
      Src: /src/curl/lib/multi.c:495,1
    - Dst: Curl_cpool_xfer_init
      Src: /src/curl/lib/multi.c:499,1
    - Dst: multi_warn_debug
      Src: /src/curl/lib/multi.c:500,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/multi.c:503,1
    - Dst: Curl_update_timer
      Src: /src/curl/lib/multi.c:506,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/lib/multi.c:509,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:523,1
    - Dst: Curl_multi_xfers_running
      Src: /src/curl/lib/multi.c:524,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/lib/multi.c:525,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - m
    - d
    argTypes:
    - CURLM*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 527
    functionName: curl_multi_add_handle
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 43
    functionsReached:
    - multi_xfers_add
    - Curl_uint_bset_add
    - GOOD_EASY_HANDLE
    - multistate
    - multi_warn_debug
    - Curl_update_timer
    - Curl_uint_tbl_remove
    - CURL_TRC_M
    - Curl_cpool_xfer_init
    - Curl_multi_xfers_running
    - curl_multi_cleanup
    - Curl_uint_tbl_contains
    - Curl_llist_init
    - Curl_uint_bset_clear
    - Curl_uint_tbl_count
    - Curl_multi_mark_dirty
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_add_handle(CURLM *m, CURL *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/multi.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: debug_print_sock_hash
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void debug_print_sock_hash(void *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/multi.c:659,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:661,1
    - Dst: Curl_async_shutdown
      Src: /src/curl/lib/multi.c:669,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/multi.c:672,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/multi.c:673,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/multi.c:684,1
    - Dst: struct connectdata*::handler::done
      Src: /src/curl/lib/multi.c:691,1
    - Dst: Curl_pgrsDone
      Src: /src/curl/lib/multi.c:698,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/multi.c:704,1
    - Dst: Curl_xfer_write_done
      Src: /src/curl/lib/multi.c:704,1
    - Dst: Curl_conn_ev_data_done
      Src: /src/curl/lib/multi.c:707,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:709,1
    - Dst: Curl_req_done
      Src: /src/curl/lib/multi.c:712,1
    - Dst: Curl_cpool_do_locked
      Src: /src/curl/lib/multi.c:717,1
    - Dst: Curl_netrc_cleanup
      Src: /src/curl/lib/multi.c:720,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 650
    functionDepth: 8
    functionLinenumber: 650
    functionLinenumberEnd: 722
    functionName: multi_done
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_conn_ev_data_done
    - Curl_safefree
    - FALLTHROUGH
    - Curl_1st_err
    - process_pending_handles
    - Curl_cpool_do_locked
    - CURL_TRC_M
    - Curl_netrc_cleanup
    - Curl_async_shutdown
    - Curl_xfer_write_done
    - Curl_pgrsDone
    - struct connectdata*::handler::done
    - memset
    - Curl_req_done
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multi_done(struct Curl_easy *data,\n                           CURLcode
      status,  /* an error if this is called\n                                                after
      an error was detected */\n                           bool premature)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connclose
      Src: /src/curl/lib/multi.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - data
    - userdata
    argTypes:
    - struct connectdata*
    - struct Curl_easy*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 732
    functionName: close_connect_only
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - connclose
    linkageType: ''
    returnType: void
    signature: "void close_connect_only(struct connectdata *conn,\n                               struct
      Curl_easy *data,\n                               void *userdata)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:745,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/multi.c:749,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:761,1
    - Dst: Curl_uint_tbl_get
      Src: /src/curl/lib/multi.c:764,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:765,1
    - Dst: streamclose
      Src: /src/curl/lib/multi.c:781,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:790,1
    - Dst: Curl_expire_clear
      Src: /src/curl/lib/multi.c:796,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/lib/multi.c:799,1
    - Dst: Curl_wildcard_dtor
      Src: /src/curl/lib/multi.c:802,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/multi.c:807,1
    - Dst: Curl_multi_ev_xfer_done
      Src: /src/curl/lib/multi.c:810,1
    - Dst: Curl_getconnectinfo
      Src: /src/curl/lib/multi.c:823,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/multi.c:825,1
    - Dst: Curl_cpool_do_by_id
      Src: /src/curl/lib/multi.c:831,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/multi.c:843,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/multi.c:843,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/multi.c:844,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/multi.c:847,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:855,1
    - Dst: Curl_uint_tbl_contains
      Src: /src/curl/lib/multi.c:855,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/lib/multi.c:856,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:857,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:858,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:859,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:860,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:867,1
    - Dst: Curl_update_timer
      Src: /src/curl/lib/multi.c:870,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:875,1
    - Dst: Curl_multi_xfers_running
      Src: /src/curl/lib/multi.c:876,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/lib/multi.c:877,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 2
    argNames:
    - m
    - d
    argTypes:
    - CURLM*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 734
    functionDepth: 9
    functionLinenumber: 734
    functionLinenumberEnd: 879
    functionName: curl_multi_remove_handle
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 62
    functionsReached:
    - Curl_uint_bset_remove
    - CURL_TRC_M
    - Curl_uint_tbl_get
    - Curl_node_next
    - Curl_update_timer
    - Curl_uint_tbl_remove
    - Curl_uint_tbl_contains
    - Curl_multi_ev_xfer_done
    - streamclose
    - Curl_getconnectinfo
    - Curl_llist_head
    - Curl_conn_terminate
    - GOOD_EASY_HANDLE
    - Curl_uint_bset_contains
    - Curl_wildcard_dtor
    - process_pending_handles
    - Curl_node_elem
    - Curl_multi_xfers_running
    - Curl_expire_clear
    - Curl_cpool_do_by_id
    - Curl_detach_connection
    - DEBUGASSERT
    - Curl_node_remove
    - multi_done
    - Curl_uint_tbl_count
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_remove_handle(CURLM *m, CURL *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: Curl_multiplex_wanted
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_multiplex_wanted(const struct Curl_multi *multi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_spbset_remove
      Src: /src/curl/lib/multi.c:897,1
    - Dst: Curl_uint_spbset_empty
      Src: /src/curl/lib/multi.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 902
    functionName: Curl_detach_connection
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 14
    functionsReached:
    - Curl_uint_spbset_remove
    - Curl_uint_spbset_empty
    linkageType: ''
    returnType: void
    signature: void Curl_detach_connection(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:912,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:913,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:914,1
    - Dst: Curl_uint_spbset_add
      Src: /src/curl/lib/multi.c:916,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:920,1
    - Dst: struct connectdata*::handler::attach
      Src: /src/curl/lib/multi.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 924
    functionName: Curl_attach_connection
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 13
    functionsReached:
    - struct connectdata*::handler::attach
    - DEBUGASSERT
    - Curl_uint_spbset_add
    linkageType: ''
    returnType: void
    signature: "void Curl_attach_connection(struct Curl_easy *data,\n                            struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_get_first_socket
      Src: /src/curl/lib/multi.c:930,1
    - Dst: Curl_pollset_change
      Src: /src/curl/lib/multi.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 937
    functionName: mstate_connecting_pollset
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    - Curl_conn_get_first_socket
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_connecting_pollset(struct Curl_easy *data,\n                                          struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::proto_pollset
      Src: /src/curl/lib/multi.c:946,1
    - Dst: Curl_pollset_change
      Src: /src/curl/lib/multi.c:950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 954
    functionName: mstate_protocol_pollset
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    - struct connectdata*::handler::proto_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_protocol_pollset(struct Curl_easy *data,\n                                        struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::doing_pollset
      Src: /src/curl/lib/multi.c:962,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/multi.c:963,1
    - Dst: Curl_pollset_add_out
      Src: /src/curl/lib/multi.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 970
    functionName: mstate_do_pollset
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - CONN_SOCK_IDX_VALID
    - struct connectdata*::handler::doing_pollset
    - Curl_pollset_add_out
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_do_pollset(struct Curl_easy *data,\n                                  struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::domore_pollset
      Src: /src/curl/lib/multi.c:978,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/multi.c:979,1
    - Dst: Curl_pollset_add_out
      Src: /src/curl/lib/multi.c:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 986
    functionName: mstate_domore_pollset
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_out
    - struct connectdata*::handler::domore_pollset
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_domore_pollset(struct Curl_easy *data,\n                                      struct
      easy_pollset *ps)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::perform_pollset
      Src: /src/curl/lib/multi.c:995,1
    - Dst: CURL_WANT_RECV
      Src: /src/curl/lib/multi.c:999,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/multi.c:999,1
    - Dst: Curl_pollset_add_in
      Src: /src/curl/lib/multi.c:1000,1
    - Dst: Curl_req_want_send
      Src: /src/curl/lib/multi.c:1004,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/multi.c:1005,1
    - Dst: Curl_pollset_add_out
      Src: /src/curl/lib/multi.c:1006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1011
    functionName: mstate_perform_pollset
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - CURL_WANT_RECV
    - Curl_req_want_send
    - Curl_pollset_add_out
    - Curl_pollset_add_in
    - struct connectdata*::handler::perform_pollset
    - CONN_SOCK_IDX_VALID
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mstate_perform_pollset(struct Curl_easy *data,\n                                       struct
      easy_pollset *ps)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_reset
      Src: /src/curl/lib/multi.c:1026,1
    - Dst: Curl_resolv_pollset
      Src: /src/curl/lib/multi.c:1040,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/curl/lib/multi.c:1048,1
    - Dst: mstate_connecting_pollset
      Src: /src/curl/lib/multi.c:1049,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/multi.c:1051,1
    - Dst: mstate_protocol_pollset
      Src: /src/curl/lib/multi.c:1059,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/multi.c:1061,1
    - Dst: mstate_do_pollset
      Src: /src/curl/lib/multi.c:1066,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/multi.c:1068,1
    - Dst: mstate_domore_pollset
      Src: /src/curl/lib/multi.c:1072,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/multi.c:1074,1
    - Dst: mstate_perform_pollset
      Src: /src/curl/lib/multi.c:1079,1
    - Dst: Curl_conn_adjust_pollset
      Src: /src/curl/lib/multi.c:1081,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:1097,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:1098,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:1107,1
    - Dst: Curl_xfer_is_blocked
      Src: /src/curl/lib/multi.c:1115,1
    - Dst: Curl_xfer_is_too_fast
      Src: /src/curl/lib/multi.c:1115,1
    - Dst: Curl_pollset_want_read
      Src: /src/curl/lib/multi.c:1116,1
    - Dst: Curl_conn_data_pending
      Src: /src/curl/lib/multi.c:1117,1
    - Dst: Curl_pollset_want_read
      Src: /src/curl/lib/multi.c:1118,1
    - Dst: Curl_conn_data_pending
      Src: /src/curl/lib/multi.c:1119,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:1120,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/multi.c:1122,1
    - Dst: CURL_TRC_M_is_verbose
      Src: /src/curl/lib/multi.c:1126,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/multi.c:1127,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:1130,1
    - Dst: Curl_xfer_send_is_paused
      Src: /src/curl/lib/multi.c:1132,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/curl/lib/multi.c:1133,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:1136,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:1143,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:1154,1
    - Dst: CURL_TRC_EASY_TIMERS
      Src: /src/curl/lib/multi.c:1158,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/lib/multi.c:1163,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/multi.c:1164,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/curl/lib/multi.c:1165,1
    - Dst: Curl_creader_is_paused
      Src: /src/curl/lib/multi.c:1165,1
    - Dst: Curl_conn_is_ip_connected
      Src: /src/curl/lib/multi.c:1166,1
    - Dst: infof
      Src: /src/curl/lib/multi.c:1172,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:1173,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 98
    argCount: 3
    argNames:
    - data
    - ps
    - caller
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1177
    functionName: Curl_multi_pollset
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_M_is_verbose
    - mstate_protocol_pollset
    - Curl_xfer_is_blocked
    - CURL_TRC_M
    - Curl_creader_is_paused
    - mstate_domore_pollset
    - Curl_xfer_is_too_fast
    - mstate_do_pollset
    - failf
    - Curl_pollset_reset
    - Curl_pollset_want_read
    - CURL_TRC_EASY_TIMERS
    - Curl_resolv_pollset
    - Curl_conn_data_pending
    - mstate_connecting_pollset
    - Curl_cwriter_is_paused
    - Curl_xfer_recv_is_paused
    - Curl_uint_bset_contains
    - Curl_conn_is_ip_connected
    - mstate_perform_pollset
    - Curl_xfer_send_is_paused
    - DEBUGASSERT
    - infof
    - Curl_llist_count
    - Curl_multi_mark_dirty
    - Curl_conn_adjust_pollset
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps,\n                             const char *caller)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:1192,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/multi.c:1198,1
    - Dst: Curl_uint_bset_first
      Src: /src/curl/lib/multi.c:1199,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi.c:1201,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:1204,1
    - Dst: Curl_multi_pollset
      Src: /src/curl/lib/multi.c:1208,1
    - Dst: FDSET_SOCK
      Src: /src/curl/lib/multi.c:1210,1
    - Dst: FD_SET
      Src: /src/curl/lib/multi.c:1218,1
    - Dst: FD_SET
      Src: /src/curl/lib/multi.c:1220,1
    - Dst: Curl_uint_bset_next
      Src: /src/curl/lib/multi.c:1228,1
    - Dst: Curl_cshutdn_setfds
      Src: /src/curl/lib/multi.c:1231,1
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/multi.c:1235,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - m
    - read_fd_set
    - write_fd_set
    - exc_fd_set
    - max_fd
    argTypes:
    - CURLM*
    - fd_set*
    - fd_set*
    - fd_set*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1179
    functionDepth: 4
    functionLinenumber: 1179
    functionLinenumberEnd: 1238
    functionName: curl_multi_fdset
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 6
    functionsReached:
    - Curl_multi_get_easy
    - Curl_pollset_cleanup
    - Curl_uint_bset_first
    - FD_SET
    - Curl_cshutdn_setfds
    - Curl_pollset_init
    - Curl_multi_pollset
    - FDSET_SOCK
    - Curl_uint_bset_next
    - DEBUGASSERT
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_fdset(CURLM *m,\n                           fd_set
      *read_fd_set, fd_set *write_fd_set,\n                           fd_set *exc_fd_set,
      int *max_fd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:1254,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/multi.c:1260,1
    - Dst: Curl_waitfds_init
      Src: /src/curl/lib/multi.c:1261,1
    - Dst: Curl_uint_bset_first
      Src: /src/curl/lib/multi.c:1262,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi.c:1264,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:1266,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:1267,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:1268,1
    - Dst: Curl_multi_pollset
      Src: /src/curl/lib/multi.c:1271,1
    - Dst: Curl_waitfds_add_ps
      Src: /src/curl/lib/multi.c:1272,1
    - Dst: Curl_uint_bset_next
      Src: /src/curl/lib/multi.c:1274,1
    - Dst: Curl_cshutdn_add_waitfds
      Src: /src/curl/lib/multi.c:1277,1
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/multi.c:1285,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - m
    - ufds
    - size
    - fd_count
    argTypes:
    - CURLM*
    - struct curl_waitfd*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1240
    functionDepth: 4
    functionLinenumber: 1240
    functionLinenumberEnd: 1287
    functionName: curl_multi_waitfds
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - Curl_multi_get_easy
    - Curl_uint_bset_remove
    - Curl_waitfds_add_ps
    - Curl_pollset_cleanup
    - Curl_uint_bset_first
    - Curl_waitfds_init
    - Curl_cshutdn_add_waitfds
    - Curl_pollset_init
    - Curl_multi_pollset
    - Curl_uint_bset_next
    - DEBUGASSERT
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_waitfds(CURLM *m,\n                             struct
      curl_waitfd *ufds,\n                             unsigned int size,\n                             unsigned
      int *fd_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/curl/lib/multi.c:1300,1
    - Dst: CURL_SEND
      Src: /src/curl/lib/multi.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: reset_socket_fdwrite
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - CURL_SEND
    - getsockopt
    linkageType: ''
    returnType: void
    signature: void reset_socket_fdwrite(curl_socket_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_wait
      Src: /src/curl/lib/multi.c:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - multi
    - extra_fds
    - extra_nfds
    - timeout_ms
    - ret
    argTypes:
    - CURLM*
    - struct curl_waitfd[]
    - unsigned int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1569
    functionName: curl_multi_wait
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 11
    functionsReached:
    - multi_wait
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_wait(CURLM *multi,\n                          struct
      curl_waitfd extra_fds[],\n                          unsigned int extra_nfds,\n
      \                         int timeout_ms,\n                          int *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_wait
      Src: /src/curl/lib/multi.c:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - multi
    - extra_fds
    - extra_nfds
    - timeout_ms
    - ret
    argTypes:
    - CURLM*
    - struct curl_waitfd[]
    - unsigned int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1579
    functionName: curl_multi_poll
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 22
    functionsReached:
    - multi_wait
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_poll(CURLM *multi,\n                          struct
      curl_waitfd extra_fds[],\n                          unsigned int extra_nfds,\n
      \                         int timeout_ms,\n                          int *ret)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:1589,1
    - Dst: WSASetEvent
      Src: /src/curl/lib/multi.c:1594,1
    - Dst: wakeup_write
      Src: /src/curl/lib/multi.c:1618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - m
    argTypes:
    - CURLM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1637
    functionName: curl_multi_wakeup
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - wakeup_write
    - WSASetEvent
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_wakeup(CURLM *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - multi
    - clear
    argTypes:
    - struct Curl_multi*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1653
    functionName: multi_ischanged
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool multi_ischanged(struct Curl_multi *multi, bool clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1665
    functionName: Curl_multi_connchanged
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_multi_connchanged(struct Curl_multi *multi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_multi_add_handle
      Src: /src/curl/lib/multi.c:1676,1
    - Dst: Curl_init_do
      Src: /src/curl/lib/multi.c:1683,1
    - Dst: curl_multi_remove_handle
      Src: /src/curl/lib/multi.c:1685,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:1690,1
    - Dst: Curl_attach_connection
      Src: /src/curl/lib/multi.c:1691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - multi
    - data
    - conn
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1667
    functionDepth: 10
    functionLinenumber: 1667
    functionLinenumberEnd: 1695
    functionName: Curl_multi_add_perform
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_attach_connection
    - multistate
    - curl_multi_remove_handle
    - curl_multi_add_handle
    - Curl_init_do
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode Curl_multi_add_perform(struct Curl_multi *multi,\n                                 struct
      Curl_easy *data,\n                                 struct connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:1702,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:1703,1
    - Dst: struct connectdata*::handler::do_it
      Src: /src/curl/lib/multi.c:1706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1709
    functionName: multi_do
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::do_it
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode multi_do(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::do_more
      Src: /src/curl/lib/multi.c:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - complete
    argTypes:
    - struct Curl_easy*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1731
    functionName: multi_do_more
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::do_more
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode multi_do_more(struct Curl_easy *data, int *complete)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/curl/lib/multi.c:1742,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:1751,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/multi.c:1752,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:1754,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/multi.c:1755,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:1759,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/multi.c:1762,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:1765,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/multi.c:1767,1
    - Dst: streamclose
      Src: /src/curl/lib/multi.c:1774,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:1777,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - data
    - now
    - stream_error
    - result
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - bool*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1736
    functionDepth: 9
    functionLinenumber: 1736
    functionLinenumberEnd: 1783
    functionName: multi_handle_timeout
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_timeleft
    - failf
    - curlx_timediff
    - multi_done
    - streamclose
    linkageType: ''
    returnType: bool
    signature: "bool multi_handle_timeout(struct Curl_easy *data,\n                                 struct
      curltime *now,\n                                 bool *stream_error,\n                                 CURLcode
      *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::connecting
      Src: /src/curl/lib/multi.c:1798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1804
    functionName: protocol_connecting
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::connecting
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode protocol_connecting(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct connectdata*::handler::doing
      Src: /src/curl/lib/multi.c:1818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1824
    functionName: protocol_doing
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct connectdata*::handler::doing
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode protocol_doing(struct Curl_easy *data, bool *done)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:1836,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:1837,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/multi.c:1841,1
    - Dst: struct connectdata*::handler::connect_it
      Src: /src/curl/lib/multi.c:1860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - data
    - protocol_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1831
    functionDepth: 2
    functionLinenumber: 1831
    functionLinenumberEnd: 1872
    functionName: protocol_connect
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_connected
    - struct connectdata*::handler::connect_it
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode protocol_connect(struct Curl_easy *data,\n                                 bool
      *protocol_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - multi
    - value
    argTypes:
    - struct Curl_multi*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1877
    functionName: set_in_callback
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_in_callback(struct Curl_multi *multi, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/curl/lib/multi.c:1887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1891
    functionName: multi_posttransfer
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void multi_posttransfer(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_handler*::follow
      Src: /src/curl/lib/multi.c:1905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - data
    - handler
    - newurl
    - type
    argTypes:
    - struct Curl_easy*
    - struct Curl_handler*
    - char*
    - followtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1907
    functionName: multi_follow
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct Curl_handler*::follow
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multi_follow(struct Curl_easy *data,\n                             const
      struct Curl_handler *handler,\n                             const char *newurl,
      /* the Location: string */\n                             followtype type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsLimitWaitTime
      Src: /src/curl/lib/multi.c:1917,1
    - Dst: Curl_pgrsLimitWaitTime
      Src: /src/curl/lib/multi.c:1923,1
    - Dst: Curl_ratelimit
      Src: /src/curl/lib/multi.c:1929,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:1930,1
    - Dst: Curl_expire
      Src: /src/curl/lib/multi.c:1932,1
    - Dst: CURLMAX
      Src: /src/curl/lib/multi.c:1932,1
    - Dst: Curl_multi_clear_dirty
      Src: /src/curl/lib/multi.c:1933,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:1937,1
    - Dst: Curl_ratelimit
      Src: /src/curl/lib/multi.c:1938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - data
    - nowp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1941
    functionName: mspeed_check
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - multistate
    - Curl_pgrsLimitWaitTime
    - CURLMAX
    - Curl_multi_clear_dirty
    - Curl_ratelimit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mspeed_check(struct Curl_easy *data,\n                             struct
      curltime *nowp)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mspeed_check
      Src: /src/curl/lib/multi.c:1954,1
    - Dst: Curl_sendrecv
      Src: /src/curl/lib/multi.c:1958,1
    - Dst: Curl_retry_request
      Src: /src/curl/lib/multi.c:1965,1
    - Dst: Curl_h2_http_1_1_error
      Src: /src/curl/lib/multi.c:1980,1
    - Dst: Curl_retry_request
      Src: /src/curl/lib/multi.c:1981,1
    - Dst: infof
      Src: /src/curl/lib/multi.c:1984,1
    - Dst: streamclose
      Src: /src/curl/lib/multi.c:1985,1
    - Dst: strdup
      Src: /src/curl/lib/multi.c:1992,1
    - Dst: streamclose
      Src: /src/curl/lib/multi.c:2015,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2017,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2018,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/curl/lib/multi.c:2020,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2024,1
    - Dst: free
      Src: /src/curl/lib/multi.c:2033,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2040,1
    - Dst: multi_follow
      Src: /src/curl/lib/multi.c:2042,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2044,1
    - Dst: free
      Src: /src/curl/lib/multi.c:2054,1
    - Dst: multi_follow
      Src: /src/curl/lib/multi.c:2057,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2060,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2065,1
    - Dst: mspeed_check
      Src: /src/curl/lib/multi.c:2071,1
    - Dst: free
      Src: /src/curl/lib/multi.c:2073,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 4
    argNames:
    - data
    - nowp
    - stream_errorp
    - resultp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - bool*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 1943
    functionDepth: 9
    functionLinenumber: 1943
    functionLinenumberEnd: 2076
    functionName: state_performing
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_h2_http_1_1_error
    - multi_follow
    - multistate
    - Curl_cwriter_is_paused
    - strdup
    - mspeed_check
    - streamclose
    - free
    - multi_done
    - Curl_retry_request
    - Curl_sendrecv
    - infof
    - multi_posttransfer
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_performing(struct Curl_easy *data,\n                                  struct
      curltime *nowp,\n                                  bool *stream_errorp,\n                                  CURLcode
      *resultp)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/multi.c:2088,1
    - Dst: struct Curl_easy*::set::fprereq
      Src: /src/curl/lib/multi.c:2089,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/multi.c:2094,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:2096,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2099,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2100,1
    - Dst: connkeep
      Src: /src/curl/lib/multi.c:2108,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2109,1
    - Dst: multi_do
      Src: /src/curl/lib/multi.c:2115,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2127,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2130,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2139,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2147,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2152,1
    - Dst: Curl_retry_request
      Src: /src/curl/lib/multi.c:2168,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2175,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2176,1
    - Dst: multi_follow
      Src: /src/curl/lib/multi.c:2183,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2185,1
    - Dst: free
      Src: /src/curl/lib/multi.c:2203,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2207,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2209,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 3
    argNames:
    - data
    - stream_errorp
    - resultp
    argTypes:
    - struct Curl_easy*
    - bool*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2078
    functionDepth: 9
    functionLinenumber: 2078
    functionLinenumberEnd: 2216
    functionName: state_do
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - failf
    - multistate
    - multi_follow
    - multi_do
    - connkeep
    - free
    - multi_done
    - Curl_retry_request
    - struct Curl_easy*::set::fprereq
    - Curl_set_in_callback
    - multi_posttransfer
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_do(struct Curl_easy *data,\n                          bool
      *stream_errorp,\n                          CURLcode *resultp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2224,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/multi.c:2226,1
    - Dst: Curl_speedcheck
      Src: /src/curl/lib/multi.c:2229,1
    - Dst: streamclose
      Src: /src/curl/lib/multi.c:2234,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2236,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2237,1
    - Dst: mspeed_check
      Src: /src/curl/lib/multi.c:2240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - data
    - nowp
    - resultp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2218
    functionDepth: 9
    functionLinenumber: 2218
    functionLinenumberEnd: 2245
    functionName: state_ratelimiting
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - mspeed_check
    - Curl_pgrsUpdate
    - multi_done
    - streamclose
    - Curl_speedcheck
    - DEBUGASSERT
    - multi_posttransfer
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_ratelimiting(struct Curl_easy *data,\n                                    struct
      curltime *nowp,\n                                    CURLcode *resultp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_resolv_check
      Src: /src/curl/lib/multi.c:2256,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/multi.c:2257,1
    - Dst: Curl_multi_ev_assess_xfer
      Src: /src/curl/lib/multi.c:2264,1
    - Dst: Curl_once_resolved
      Src: /src/curl/lib/multi.c:2272,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2282,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - multi
    - data
    - stream_errorp
    - resultp
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - bool*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2247
    functionDepth: 6
    functionLinenumber: 2247
    functionLinenumberEnd: 2295
    functionName: state_resolving
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - multistate
    - CURL_TRC_DNS
    - Curl_once_resolved
    - Curl_multi_ev_assess_xfer
    - Curl_resolv_check
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_resolving(struct Curl_multi *multi,\n                                 struct
      Curl_easy *data,\n                                 bool *stream_errorp,\n                                 CURLcode
      *resultp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_connect
      Src: /src/curl/lib/multi.c:2307,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2311,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:2313,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:2314,1
    - Dst: Curl_uint_bset_add
      Src: /src/curl/lib/multi.c:2315,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:2320,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/multi.c:2323,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2326,1
    - Dst: Curl_conn_is_multiplex
      Src: /src/curl/lib/multi.c:2335,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:2337,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2339,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - multi
    - data
    - nowp
    - resultp
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    - struct curltime*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2297
    functionDepth: 10
    functionLinenumber: 2297
    functionLinenumberEnd: 2348
    functionName: state_connect
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_uint_bset_add
    - Curl_uint_bset_remove
    - process_pending_handles
    - multistate
    - Curl_pgrsTime
    - Curl_connect
    - Curl_conn_is_multiplex
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode state_connect(struct Curl_multi *multi,\n                               struct
      Curl_easy *data,\n                               struct curltime *nowp,\n                               CURLcode
      *resultp)"
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/multi.c:2362,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2369,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2370,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2371,1
    - Dst: multi_warn_debug
      Src: /src/curl/lib/multi.c:2374,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:2378,1
    - Dst: multi_ischanged
      Src: /src/curl/lib/multi.c:2386,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:2387,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:2388,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2394,1
    - Dst: multi_handle_timeout
      Src: /src/curl/lib/multi.c:2402,1
    - Dst: Curl_pretransfer
      Src: /src/curl/lib/multi.c:2410,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2415,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/multi.c:2416,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/multi.c:2417,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/multi.c:2422,1
    - Dst: Curl_expire
      Src: /src/curl/lib/multi.c:2424,1
    - Dst: Curl_expire
      Src: /src/curl/lib/multi.c:2429,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2431,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/multi.c:2432,1
    - Dst: state_connect
      Src: /src/curl/lib/multi.c:2435,1
    - Dst: state_resolving
      Src: /src/curl/lib/multi.c:2440,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2446,1
    - Dst: Curl_http_connect
      Src: /src/curl/lib/multi.c:2447,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2451,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2460,1
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/curl/lib/multi.c:2461,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/multi.c:2462,1
    - Dst: Curl_conn_is_multiplex
      Src: /src/curl/lib/multi.c:2465,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:2467,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2470,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2474,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2475,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2488,1
    - Dst: protocol_connect
      Src: /src/curl/lib/multi.c:2493,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2496,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2501,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2506,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2507,1
    - Dst: protocol_connecting
      Src: /src/curl/lib/multi.c:2514,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2517,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2522,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2523,1
    - Dst: state_do
      Src: /src/curl/lib/multi.c:2529,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2534,1
    - Dst: protocol_doing
      Src: /src/curl/lib/multi.c:2535,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2539,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2546,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2547,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2556,1
    - Dst: multi_do_more
      Src: /src/curl/lib/multi.c:2557,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2563,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2572,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2573,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2579,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:2582,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/multi.c:2586,1
    - Dst: CONN_SOCK_IDX_VALID
      Src: /src/curl/lib/multi.c:2587,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2588,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2596,1
    - Dst: state_ratelimiting
      Src: /src/curl/lib/multi.c:2602,1
    - Dst: state_performing
      Src: /src/curl/lib/multi.c:2606,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2617,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2629,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2636,1
    - Dst: multi_ischanged
      Src: /src/curl/lib/multi.c:2654,1
    - Dst: multi_handle_timeout
      Src: /src/curl/lib/multi.c:2661,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:2677,1
    - Dst: Curl_detach_connection
      Src: /src/curl/lib/multi.c:2688,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/multi.c:2689,1
    - Dst: multi_posttransfer
      Src: /src/curl/lib/multi.c:2694,1
    - Dst: Curl_pgrsUpdate_nometer
      Src: /src/curl/lib/multi.c:2695,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2698,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/multi.c:2702,1
    - Dst: streamclose
      Src: /src/curl/lib/multi.c:2706,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2709,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:2720,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi.c:2721,1
    - Dst: struct Curl_easy*::sub_xfer_done
      Src: /src/curl/lib/multi.c:2724,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:2726,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:2730,1
    - Dst: multi_addmsg
      Src: /src/curl/lib/multi.c:2741,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2742,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:2744,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:2747,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:2748,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:2749,1
    - Dst: Curl_uint_bset_add
      Src: /src/curl/lib/multi.c:2750,1
    - Dst: multi_ischanged
      Src: /src/curl/lib/multi.c:2754,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 239
    argCount: 3
    argNames:
    - multi
    - nowp
    - data
    argTypes:
    - struct Curl_multi*
    - struct curltime*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2350
    functionDepth: 11
    functionLinenumber: 2350
    functionLinenumberEnd: 2758
    functionName: multi_runsingle
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - struct Curl_easy*::sub_xfer_done
    - Curl_multi_get_easy
    - Curl_uint_bset_remove
    - multi_warn_debug
    - CURL_TRC_M
    - multi_ischanged
    - state_performing
    - Curl_http_connect
    - Curl_conn_is_multiplex
    - Curl_pgrsUpdate
    - protocol_connecting
    - multi_do_more
    - Curl_expire
    - multistate
    - state_connect
    - state_do
    - multi_addmsg
    - protocol_connect
    - streamclose
    - state_resolving
    - Curl_conn_terminate
    - Curl_xfer_recv_is_paused
    - GOOD_EASY_HANDLE
    - process_pending_handles
    - Curl_pgrsTime
    - multi_handle_timeout
    - CONN_SOCK_IDX_VALID
    - Curl_conn_connect
    - Curl_detach_connection
    - DEBUGASSERT
    - protocol_doing
    - FALLTHROUGH
    - Curl_uint_bset_add
    - Curl_pretransfer
    - Curl_pgrsUpdate_nometer
    - state_ratelimiting
    - multi_done
    - multi_posttransfer
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_runsingle(struct Curl_multi *multi,\n                                 struct
      curltime *nowp,\n                                 struct Curl_easy *data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/multi.c:2765,1
    - Dst: SIGPIPE_VARIABLE
      Src: /src/curl/lib/multi.c:2768,1
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:2770,1
    - Dst: sigpipe_init
      Src: /src/curl/lib/multi.c:2779,1
    - Dst: Curl_uint_bset_first
      Src: /src/curl/lib/multi.c:2780,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:2781,1
    - Dst: Curl_multi_xfers_running
      Src: /src/curl/lib/multi.c:2782,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi.c:2784,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2787,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:2788,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:2789,1
    - Dst: sigpipe_apply
      Src: /src/curl/lib/multi.c:2794,1
    - Dst: multi_runsingle
      Src: /src/curl/lib/multi.c:2795,1
    - Dst: Curl_uint_bset_next
      Src: /src/curl/lib/multi.c:2800,1
    - Dst: sigpipe_apply
      Src: /src/curl/lib/multi.c:2803,1
    - Dst: Curl_cshutdn_perform
      Src: /src/curl/lib/multi.c:2804,1
    - Dst: sigpipe_restore
      Src: /src/curl/lib/multi.c:2805,1
    - Dst: multi_ischanged
      Src: /src/curl/lib/multi.c:2807,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:2808,1
    - Dst: Curl_mntfy_dispatch_all
      Src: /src/curl/lib/multi.c:2811,1
    - Dst: Curl_splaygetbest
      Src: /src/curl/lib/multi.c:2824,1
    - Dst: Curl_splayget
      Src: /src/curl/lib/multi.c:2827,1
    - Dst: add_next_timeout
      Src: /src/curl/lib/multi.c:2828,1
    - Dst: multi_handle_timeout
      Src: /src/curl/lib/multi.c:2832,1
    - Dst: infof
      Src: /src/curl/lib/multi.c:2833,1
    - Dst: move_pending_to_connect
      Src: /src/curl/lib/multi.c:2834,1
    - Dst: Curl_multi_xfers_running
      Src: /src/curl/lib/multi.c:2841,1
    - Dst: Curl_update_timer
      Src: /src/curl/lib/multi.c:2846,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - m
    - running_handles
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2761
    functionDepth: 12
    functionLinenumber: 2761
    functionLinenumberEnd: 2849
    functionName: curl_multi_perform
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 33
    functionsReached:
    - Curl_multi_get_easy
    - Curl_uint_bset_remove
    - CURL_TRC_M
    - multi_ischanged
    - sigpipe_init
    - Curl_uint_bset_next
    - sigpipe_restore
    - Curl_mntfy_dispatch_all
    - Curl_update_timer
    - Curl_cshutdn_perform
    - curlx_now
    - Curl_splaygetbest
    - add_next_timeout
    - multi_runsingle
    - process_pending_handles
    - Curl_multi_xfers_running
    - Curl_uint_bset_first
    - move_pending_to_connect
    - multi_handle_timeout
    - sigpipe_apply
    - SIGPIPE_VARIABLE
    - Curl_splayget
    - DEBUGASSERT
    - infof
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_perform(CURLM *m, int *running_handles)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:2854,1
    - Dst: Curl_uint_tbl_first
      Src: /src/curl/lib/multi.c:2864,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/multi.c:2867,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:2872,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2874,1
    - Dst: multi_done
      Src: /src/curl/lib/multi.c:2883,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/lib/multi.c:2886,1
    - Dst: Curl_close
      Src: /src/curl/lib/multi.c:2894,1
    - Dst: Curl_uint_tbl_next
      Src: /src/curl/lib/multi.c:2896,1
    - Dst: Curl_cpool_destroy
      Src: /src/curl/lib/multi.c:2899,1
    - Dst: Curl_cshutdn_destroy
      Src: /src/curl/lib/multi.c:2900,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:2902,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/lib/multi.c:2904,1
    - Dst: Curl_close
      Src: /src/curl/lib/multi.c:2905,1
    - Dst: Curl_multi_ev_cleanup
      Src: /src/curl/lib/multi.c:2910,1
    - Dst: Curl_hash_destroy
      Src: /src/curl/lib/multi.c:2911,1
    - Dst: Curl_dnscache_destroy
      Src: /src/curl/lib/multi.c:2912,1
    - Dst: Curl_psl_destroy
      Src: /src/curl/lib/multi.c:2913,1
    - Dst: Curl_ssl_scache_destroy
      Src: /src/curl/lib/multi.c:2915,1
    - Dst: WSACloseEvent
      Src: /src/curl/lib/multi.c:2919,1
    - Dst: wakeup_close
      Src: /src/curl/lib/multi.c:2922,1
    - Dst: wakeup_close
      Src: /src/curl/lib/multi.c:2924,1
    - Dst: multi_xfer_bufs_free
      Src: /src/curl/lib/multi.c:2929,1
    - Dst: Curl_mntfy_cleanup
      Src: /src/curl/lib/multi.c:2930,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/lib/multi.c:2932,1
    - Dst: multi_xfer_tbl_dump
      Src: /src/curl/lib/multi.c:2933,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:2934,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/lib/multi.c:2937,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/lib/multi.c:2938,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/lib/multi.c:2939,1
    - Dst: Curl_uint_bset_destroy
      Src: /src/curl/lib/multi.c:2940,1
    - Dst: Curl_uint_tbl_destroy
      Src: /src/curl/lib/multi.c:2941,1
    - Dst: free
      Src: /src/curl/lib/multi.c:2942,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 1
    argNames:
    - m
    argTypes:
    - CURLM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2947
      start: 2851
    functionDepth: 10
    functionLinenumber: 2851
    functionLinenumberEnd: 2947
    functionName: curl_multi_cleanup
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 86
    functionsReached:
    - CURL_TRC_M
    - Curl_cshutdn_destroy
    - WSACloseEvent
    - Curl_uint_tbl_remove
    - Curl_hash_destroy
    - Curl_uint_tbl_destroy
    - Curl_cpool_destroy
    - multi_xfer_tbl_dump
    - GOOD_MULTI_HANDLE
    - wakeup_close
    - GOOD_EASY_HANDLE
    - Curl_dnscache_destroy
    - Curl_uint_tbl_next
    - free
    - Curl_psl_destroy
    - DEBUGASSERT
    - Curl_uint_tbl_first
    - multi_xfer_bufs_free
    - Curl_uint_bset_destroy
    - multi_done
    - Curl_close
    - Curl_mntfy_cleanup
    - Curl_uint_tbl_count
    - Curl_ssl_scache_destroy
    - Curl_multi_ev_cleanup
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_cleanup(CURLM *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:2966,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/multi.c:2968,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/multi.c:2973,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/multi.c:2975,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/multi.c:2978,1
    - Dst: curlx_uztosi
      Src: /src/curl/lib/multi.c:2980,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/multi.c:2980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - m
    - msgs_in_queue
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2959
    functionDepth: 4
    functionLinenumber: 2959
    functionLinenumberEnd: 2985
    functionName: curl_multi_info_read
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 40
    functionsReached:
    - curlx_uztosi
    - Curl_node_elem
    - GOOD_MULTI_HANDLE
    - Curl_node_remove
    - Curl_llist_count
    - Curl_llist_head
    linkageType: ''
    returnType: CURLMsg
    signature: CURLMsg *curl_multi_info_read(CURLM *m, int *msgs_in_queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:2993,1
    - Dst: Curl_multi_ev_socket_done
      Src: /src/curl/lib/multi.c:2994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - s
    argTypes:
    - struct Curl_easy*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2988
    functionDepth: 4
    functionLinenumber: 2988
    functionLinenumberEnd: 2997
    functionName: Curl_multi_will_close
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_multi_ev_socket_done
    - CURL_TRC_M
    linkageType: ''
    returnType: void
    signature: void Curl_multi_will_close(struct Curl_easy *data, curl_socket_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/multi.c:3022,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/multi.c:3023,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/multi.c:3024,1
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/multi.c:3025,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/multi.c:3028,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/multi.c:3034,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/multi.c:3042,1
    - Dst: memcpy
      Src: /src/curl/lib/multi.c:3044,1
    - Dst: Curl_splayinsert
      Src: /src/curl/lib/multi.c:3048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - now
    - multi
    - d
    argTypes:
    - struct curltime
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3052
      start: 3011
    functionDepth: 4
    functionLinenumber: 3011
    functionLinenumberEnd: 3052
    functionName: add_next_timeout
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_llist_head
    - Curl_node_elem
    - memcpy
    - Curl_splayinsert
    - Curl_node_next
    - curlx_timediff_us
    - Curl_node_remove
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode add_next_timeout(struct curltime now,\n                                  struct
      Curl_multi *multi,\n                                  struct Curl_easy *d)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_splaygetbest
      Src: /src/curl/lib/multi.c:3076,1
    - Dst: Curl_splayget
      Src: /src/curl/lib/multi.c:3080,1
    - Dst: CURL_TRC_TIMER_is_verbose
      Src: /src/curl/lib/multi.c:3084,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/multi.c:3085,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/multi.c:3087,1
    - Dst: CURL_TRC_TIMER
      Src: /src/curl/lib/multi.c:3088,1
    - Dst: add_next_timeout
      Src: /src/curl/lib/multi.c:3092,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/multi.c:3093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - mrc
    argTypes:
    - struct multi_run_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3095
      start: 3062
    functionDepth: 5
    functionLinenumber: 3062
    functionLinenumberEnd: 3095
    functionName: multi_mark_expired_as_dirty
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - Curl_node_elem
    - CURL_TRC_TIMER_is_verbose
    - CURL_TRC_TIMER
    - Curl_splaygetbest
    - Curl_splayget
    - add_next_timeout
    - Curl_llist_head
    linkageType: ''
    returnType: void
    signature: void multi_mark_expired_as_dirty(struct multi_run_ctx *mrc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_first
      Src: /src/curl/lib/multi.c:3103,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi.c:3105,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:3107,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:3110,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/lib/multi.c:3114,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:3116,1
    - Dst: sigpipe_apply
      Src: /src/curl/lib/multi.c:3121,1
    - Dst: multi_runsingle
      Src: /src/curl/lib/multi.c:3123,1
    - Dst: Curl_multi_ev_assess_xfer
      Src: /src/curl/lib/multi.c:3127,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:3133,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:3134,1
    - Dst: Curl_uint_bset_next
      Src: /src/curl/lib/multi.c:3137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - mrc
    argTypes:
    - struct multi_run_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3097
    functionDepth: 12
    functionLinenumber: 3097
    functionLinenumberEnd: 3142
    functionName: multi_run_dirty
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - Curl_uint_bset_contains
    - Curl_uint_bset_remove
    - multi_runsingle
    - CURL_TRC_M
    - Curl_uint_bset_first
    - Curl_multi_ev_assess_xfer
    - sigpipe_apply
    - Curl_uint_bset_next
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode multi_run_dirty(struct multi_run_ctx *mrc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/multi.c:3154,1
    - Dst: curlx_now
      Src: /src/curl/lib/multi.c:3156,1
    - Dst: sigpipe_init
      Src: /src/curl/lib/multi.c:3157,1
    - Dst: curl_multi_perform
      Src: /src/curl/lib/multi.c:3161,1
    - Dst: Curl_multi_ev_assess_xfer_bset
      Src: /src/curl/lib/multi.c:3165,1
    - Dst: Curl_multi_ev_dirty_xfers
      Src: /src/curl/lib/multi.c:3173,1
    - Dst: memset
      Src: /src/curl/lib/multi.c:3181,1
    - Dst: multi_mark_expired_as_dirty
      Src: /src/curl/lib/multi.c:3185,1
    - Dst: multi_run_dirty
      Src: /src/curl/lib/multi.c:3186,1
    - Dst: curlx_now
      Src: /src/curl/lib/multi.c:3196,1
    - Dst: multi_mark_expired_as_dirty
      Src: /src/curl/lib/multi.c:3197,1
    - Dst: multi_run_dirty
      Src: /src/curl/lib/multi.c:3198,1
    - Dst: sigpipe_apply
      Src: /src/curl/lib/multi.c:3203,1
    - Dst: Curl_cshutdn_perform
      Src: /src/curl/lib/multi.c:3204,1
    - Dst: sigpipe_restore
      Src: /src/curl/lib/multi.c:3206,1
    - Dst: multi_ischanged
      Src: /src/curl/lib/multi.c:3208,1
    - Dst: process_pending_handles
      Src: /src/curl/lib/multi.c:3209,1
    - Dst: Curl_mntfy_dispatch_all
      Src: /src/curl/lib/multi.c:3212,1
    - Dst: Curl_multi_xfers_running
      Src: /src/curl/lib/multi.c:3215,1
    - Dst: Curl_update_timer
      Src: /src/curl/lib/multi.c:3220,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - multi
    - checkall
    - s
    - ev_bitmask
    - running_handles
    argTypes:
    - struct Curl_multi*
    - bool
    - curl_socket_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 3144
    functionDepth: 13
    functionLinenumber: 3144
    functionLinenumberEnd: 3222
    functionName: multi_socket
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - sigpipe_restore
    - curl_multi_perform
    - Curl_mntfy_dispatch_all
    - multi_run_dirty
    - process_pending_handles
    - Curl_update_timer
    - Curl_cshutdn_perform
    - Curl_multi_xfers_running
    - multi_ischanged
    - curlx_now
    - memset
    - Curl_multi_ev_assess_xfer_bset
    - multi_mark_expired_as_dirty
    - Curl_multi_ev_dirty_xfers
    - sigpipe_apply
    - sigpipe_init
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_socket(struct Curl_multi *multi,\n                              bool
      checkall,\n                              curl_socket_t s,\n                              int
      ev_bitmask,\n                              int *running_handles)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:3233,1
    - Dst: va_start
      Src: /src/curl/lib/multi.c:3239,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3243,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3246,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3249,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3252,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3255,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3258,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3261,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3264,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3269,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3272,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3287,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3294,1
    - Dst: Curl_dnscache_clear
      Src: /src/curl/lib/multi.c:3296,1
    - Dst: Curl_cpool_nw_changed
      Src: /src/curl/lib/multi.c:3299,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3304,1
    - Dst: va_arg
      Src: /src/curl/lib/multi.c:3307,1
    - Dst: va_end
      Src: /src/curl/lib/multi.c:3313,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 2
    argNames:
    - m
    - option
    argTypes:
    - CURLM*
    - CURLMoption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3225
    functionDepth: 3
    functionLinenumber: 3225
    functionLinenumberEnd: 3315
    functionName: curl_multi_setopt
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 22
    functionsReached:
    - Curl_cpool_nw_changed
    - va_start
    - GOOD_MULTI_HANDLE
    - Curl_dnscache_clear
    - va_end
    - va_arg
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_setopt(CURLM *m,\n                            CURLMoption
      option, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multi_socket
      Src: /src/curl/lib/multi.c:3327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - m
    - s
    - running_handles
    argTypes:
    - CURLM*
    - curl_socket_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3320
    functionDepth: 14
    functionLinenumber: 3320
    functionLinenumberEnd: 3328
    functionName: curl_multi_socket
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - multi_socket
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_socket(CURLM *m, curl_socket_t s, int *running_handles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multi_socket
      Src: /src/curl/lib/multi.c:3338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - m
    - s
    - ev_bitmask
    - running_handles
    argTypes:
    - CURLM*
    - curl_socket_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3330
    functionDepth: 14
    functionLinenumber: 3330
    functionLinenumberEnd: 3339
    functionName: curl_multi_socket_action
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 20
    functionsReached:
    - multi_socket
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_socket_action(CURLM *m, curl_socket_t s,\n                                   int
      ev_bitmask, int *running_handles)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multi_socket
      Src: /src/curl/lib/multi.c:3348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - m
    - running_handles
    argTypes:
    - CURLM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3341
    functionDepth: 14
    functionLinenumber: 3341
    functionLinenumberEnd: 3349
    functionName: curl_multi_socket_all
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - multi_socket
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_socket_all(CURLM *m, int *running_handles)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_first
      Src: /src/curl/lib/multi.c:3355,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi.c:3357,1
    - Dst: Curl_uint_bset_contains
      Src: /src/curl/lib/multi.c:3359,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:3362,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:3365,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:3366,1
    - Dst: Curl_uint_bset_next
      Src: /src/curl/lib/multi.c:3369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3372
      start: 3352
    functionDepth: 1
    functionLinenumber: 3352
    functionLinenumberEnd: 3372
    functionName: multi_has_dirties
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - Curl_uint_bset_remove
    - Curl_uint_bset_contains
    - CURL_TRC_M
    - Curl_uint_bset_first
    - Curl_uint_bset_next
    linkageType: ''
    returnType: bool
    signature: bool multi_has_dirties(struct Curl_multi *multi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: multi_has_dirties
      Src: /src/curl/lib/multi.c:3388,1
    - Dst: curlx_now
      Src: /src/curl/lib/multi.c:3389,1
    - Dst: curlx_now
      Src: /src/curl/lib/multi.c:3395,1
    - Dst: Curl_splay
      Src: /src/curl/lib/multi.c:3398,1
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/multi.c:3406,1
    - Dst: curlx_timediff_ceil
      Src: /src/curl/lib/multi.c:3408,1
    - Dst: Curl_splayget
      Src: /src/curl/lib/multi.c:3410,1
    - Dst: Curl_splayget
      Src: /src/curl/lib/multi.c:3419,1
    - Dst: CURL_TRC_TIMER_is_verbose
      Src: /src/curl/lib/multi.c:3432,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/multi.c:3434,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/multi.c:3436,1
    - Dst: CURL_TRC_TIMER
      Src: /src/curl/lib/multi.c:3437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - multi
    - expire_time
    - timeout_ms
    argTypes:
    - struct Curl_multi*
    - struct curltime*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3444
      start: 3374
    functionDepth: 2
    functionLinenumber: 3374
    functionLinenumberEnd: 3444
    functionName: multi_timeout
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 8
    functionsReached:
    - curlx_timediff_ceil
    - multi_has_dirties
    - Curl_node_elem
    - CURL_TRC_TIMER_is_verbose
    - curlx_now
    - CURL_TRC_TIMER
    - Curl_splay
    - curlx_timediff_us
    - Curl_splayget
    - Curl_llist_head
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_timeout(struct Curl_multi *multi,\n                               struct
      curltime *expire_time,\n                               long *timeout_ms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:3453,1
    - Dst: multi_timeout
      Src: /src/curl/lib/multi.c:3459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - m
    - timeout_ms
    argTypes:
    - CURLM*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3460
      start: 3446
    functionDepth: 1
    functionLinenumber: 3446
    functionLinenumberEnd: 3460
    functionName: curl_multi_timeout
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 4
    functionsReached:
    - multi_timeout
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_timeout(CURLM *m,\n                             long
      *timeout_ms)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: multi_timeout
      Src: /src/curl/lib/multi.c:3475,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:3484,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:3489,1
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/multi.c:3493,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:3497,1
    - Dst: set_in_callback
      Src: /src/curl/lib/multi.c:3510,1
    - Dst: struct Curl_multi*::timer_cb
      Src: /src/curl/lib/multi.c:3511,1
    - Dst: set_in_callback
      Src: /src/curl/lib/multi.c:3512,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3466
    functionDepth: 1
    functionLinenumber: 3466
    functionLinenumberEnd: 3519
    functionName: Curl_update_timer
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 5
    functionsReached:
    - set_in_callback
    - CURL_TRC_M
    - multi_timeout
    - struct Curl_multi*::timer_cb
    - curlx_timediff_us
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode Curl_update_timer(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/multi.c:3532,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/multi.c:3532,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/multi.c:3533,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/multi.c:3535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - eid
    argTypes:
    - struct Curl_easy*
    - expire_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3539
      start: 3526
    functionDepth: 4
    functionLinenumber: 3526
    functionLinenumberEnd: 3539
    functionName: multi_deltimeout
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_node_elem
    - Curl_node_remove
    - Curl_llist_head
    - Curl_node_next
    linkageType: ''
    returnType: void
    signature: void multi_deltimeout(struct Curl_easy *data, expire_id eid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/multi.c:3564,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/multi.c:3567,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/multi.c:3570,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/multi.c:3570,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/multi.c:3571,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/multi.c:3572,1
    - Dst: Curl_llist_insert_next
      Src: /src/curl/lib/multi.c:3582,1
    - Dst: CURL_TRC_TIMER
      Src: /src/curl/lib/multi.c:3583,1
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/multi.c:3584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - data
    - stamp
    - eid
    - nowp
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - expire_id
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3586
      start: 3548
    functionDepth: 2
    functionLinenumber: 3548
    functionLinenumberEnd: 3586
    functionName: multi_addtimeout
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - Curl_llist_insert_next
    - Curl_node_elem
    - CURL_TRC_TIMER
    - memcpy
    - curlx_timediff
    - Curl_node_next
    - curlx_timediff_us
    - Curl_llist_count
    - Curl_llist_head
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode multi_addtimeout(struct Curl_easy *data,\n                 struct
      curltime *stamp,\n                 expire_id eid,\n                 const struct
      curltime *nowp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3601,1
    - Dst: multi_deltimeout
      Src: /src/curl/lib/multi.c:3613,1
    - Dst: multi_addtimeout
      Src: /src/curl/lib/multi.c:3617,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/multi.c:3623,1
    - Dst: Curl_splayremove
      Src: /src/curl/lib/multi.c:3634,1
    - Dst: infof
      Src: /src/curl/lib/multi.c:3637,1
    - Dst: Curl_splayset
      Src: /src/curl/lib/multi.c:3643,1
    - Dst: Curl_splayinsert
      Src: /src/curl/lib/multi.c:3644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - data
    - nowp
    - milli
    - id
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - timediff_t
    - expire_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3646
      start: 3588
    functionDepth: 5
    functionLinenumber: 3588
    functionLinenumberEnd: 3646
    functionName: Curl_expire_ex
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - multi_deltimeout
    - Curl_splayremove
    - curlx_timediff
    - multi_addtimeout
    - Curl_splayinsert
    - infof
    - Curl_splayset
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_expire_ex(struct Curl_easy *data,\n                    const
      struct curltime *nowp,\n                    timediff_t milli, expire_id id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/multi.c:3661,1
    - Dst: Curl_expire_ex
      Src: /src/curl/lib/multi.c:3662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - milli
    - id
    argTypes:
    - struct Curl_easy*
    - timediff_t
    - expire_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3663
      start: 3659
    functionDepth: 6
    functionLinenumber: 3659
    functionLinenumberEnd: 3663
    functionName: Curl_expire
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 7
    functionsReached:
    - curlx_now
    - Curl_expire_ex
    linkageType: ''
    returnType: void
    signature: void Curl_expire(struct Curl_easy *data, timediff_t milli, expire_id
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multi_deltimeout
      Src: /src/curl/lib/multi.c:3674,1
    - Dst: CURL_TRC_TIMER
      Src: /src/curl/lib/multi.c:3675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - eid
    argTypes:
    - struct Curl_easy*
    - expire_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3676
      start: 3671
    functionDepth: 5
    functionLinenumber: 3671
    functionLinenumberEnd: 3676
    functionName: Curl_expire_done
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - multi_deltimeout
    - CURL_TRC_TIMER
    linkageType: ''
    returnType: void
    signature: void Curl_expire_done(struct Curl_easy *data, expire_id eid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_splayremove
      Src: /src/curl/lib/multi.c:3699,1
    - Dst: infof
      Src: /src/curl/lib/multi.c:3702,1
    - Dst: Curl_llist_destroy
      Src: /src/curl/lib/multi.c:3705,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:3708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3714
      start: 3683
    functionDepth: 4
    functionLinenumber: 3683
    functionLinenumberEnd: 3714
    functionName: Curl_expire_clear
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 3
    functionsReached:
    - infof
    - Curl_llist_destroy
    - Curl_splayremove
    - CURL_TRC_M
    linkageType: ''
    returnType: bool
    signature: bool Curl_expire_clear(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:3720,1
    - Dst: Curl_multi_ev_assign
      Src: /src/curl/lib/multi.c:3723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - m
    - s
    - hashp
    argTypes:
    - CURLM*
    - curl_socket_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3716
    functionDepth: 3
    functionLinenumber: 3716
    functionLinenumberEnd: 3724
    functionName: curl_multi_assign
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 7
    functionsReached:
    - Curl_multi_ev_assign
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_assign(CURLM *m, curl_socket_t s,\n                            void
      *hashp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3729,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:3732,1
    - Dst: Curl_uint_bset_add
      Src: /src/curl/lib/multi.c:3733,1
    - Dst: multistate
      Src: /src/curl/lib/multi.c:3735,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/multi.c:3736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - data
    argTypes:
    - struct Curl_multi*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3737
      start: 3726
    functionDepth: 1
    functionLinenumber: 3726
    functionLinenumberEnd: 3737
    functionName: move_pending_to_connect
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_uint_bset_add
    - Curl_uint_bset_remove
    - multistate
    - Curl_multi_mark_dirty
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void move_pending_to_connect(struct Curl_multi *multi,\n                                    struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_first
      Src: /src/curl/lib/multi.c:3756,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/multi.c:3758,1
    - Dst: move_pending_to_connect
      Src: /src/curl/lib/multi.c:3760,1
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:3764,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3765,1
    - Dst: Curl_uint_bset_next
      Src: /src/curl/lib/multi.c:3767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3769
      start: 3753
    functionDepth: 2
    functionLinenumber: 3753
    functionLinenumberEnd: 3769
    functionName: process_pending_handles
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 6
    functionsReached:
    - Curl_multi_get_easy
    - Curl_uint_bset_remove
    - Curl_uint_bset_first
    - move_pending_to_connect
    - Curl_uint_bset_next
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void process_pending_handles(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - data
    - value
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3775
      start: 3771
    functionDepth: 0
    functionLinenumber: 3771
    functionLinenumberEnd: 3775
    functionName: Curl_set_in_callback
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_set_in_callback(struct Curl_easy *data, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3780
      start: 3777
    functionDepth: 0
    functionLinenumber: 3777
    functionLinenumberEnd: 3780
    functionName: Curl_is_in_callback
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_is_in_callback(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3786
      start: 3782
    functionDepth: 1
    functionLinenumber: 3782
    functionLinenumberEnd: 3786
    functionName: Curl_multi_max_concurrent_streams
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_multi_max_concurrent_streams(struct Curl_multi *multi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/lib/multi.c:3792,1
    - Dst: malloc
      Src: /src/curl/lib/multi.c:3793,1
    - Dst: Curl_uint_tbl_first
      Src: /src/curl/lib/multi.c:3797,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3800,1
    - Dst: Curl_uint_tbl_next
      Src: /src/curl/lib/multi.c:3804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3809
      start: 3788
    functionDepth: 2
    functionLinenumber: 3788
    functionLinenumberEnd: 3809
    functionName: curl_multi_get_handles
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - malloc
    - Curl_uint_tbl_first
    - Curl_uint_tbl_next
    - Curl_uint_tbl_count
    - DEBUGASSERT
    linkageType: ''
    returnType: CURL
    signature: CURL **curl_multi_get_handles(CURLM *m)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:3817,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/lib/multi.c:3824,1
    - Dst: Curl_uint_bset_count
      Src: /src/curl/lib/multi.c:3831,1
    - Dst: Curl_uint_bset_count
      Src: /src/curl/lib/multi.c:3834,1
    - Dst: Curl_uint_bset_count
      Src: /src/curl/lib/multi.c:3837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - m
    - info
    - pvalue
    argTypes:
    - CURLM*
    - CURLMinfo_offt
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3846
      start: 3811
    functionDepth: 1
    functionLinenumber: 3811
    functionLinenumberEnd: 3846
    functionName: curl_multi_get_offt
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - Curl_uint_tbl_count
    - Curl_uint_bset_count
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: "CURLMcode curl_multi_get_offt(CURLM *m,\n                              CURLMinfo_offt
      info,\n                              curl_off_t *pvalue)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3851,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3852,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3856,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3860,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3864,1
    - Dst: free
      Src: /src/curl/lib/multi.c:3871,1
    - Dst: malloc
      Src: /src/curl/lib/multi.c:3877,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3879,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - data
    - pbuf
    - pbuflen
    argTypes:
    - struct Curl_easy*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3890
      start: 3848
    functionDepth: 1
    functionLinenumber: 3848
    functionLinenumberEnd: 3890
    functionName: Curl_multi_xfer_buf_borrow
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - free
    - malloc
    - DEBUGASSERT
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_multi_xfer_buf_borrow(struct Curl_easy *data,\n                                    char
      **pbuf, size_t *pbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3895,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3896,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - buf
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3892
    functionDepth: 1
    functionLinenumber: 3892
    functionLinenumberEnd: 3899
    functionName: Curl_multi_xfer_buf_release
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_multi_xfer_buf_release(struct Curl_easy *data, char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3904,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3905,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3909,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3913,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3917,1
    - Dst: free
      Src: /src/curl/lib/multi.c:3924,1
    - Dst: malloc
      Src: /src/curl/lib/multi.c:3930,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - data
    - pbuf
    - pbuflen
    argTypes:
    - struct Curl_easy*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3943
      start: 3901
    functionDepth: 1
    functionLinenumber: 3901
    functionLinenumberEnd: 3943
    functionName: Curl_multi_xfer_ulbuf_borrow
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    - DEBUGASSERT
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_multi_xfer_ulbuf_borrow(struct Curl_easy *data,\n                                      char
      **pbuf, size_t *pbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3948,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3949,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - buf
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3952
      start: 3945
    functionDepth: 1
    functionLinenumber: 3945
    functionLinenumberEnd: 3952
    functionName: Curl_multi_xfer_ulbuf_release
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_multi_xfer_ulbuf_release(struct Curl_easy *data, char *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3957,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3958,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3961,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3965,1
    - Dst: free
      Src: /src/curl/lib/multi.c:3971,1
    - Dst: malloc
      Src: /src/curl/lib/multi.c:3977,1
    - Dst: failf
      Src: /src/curl/lib/multi.c:3979,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - data
    - blen
    - pbuf
    argTypes:
    - struct Curl_easy*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3988
      start: 3954
    functionDepth: 1
    functionLinenumber: 3954
    functionLinenumberEnd: 3988
    functionName: Curl_multi_xfer_sockbuf_borrow
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - DEBUGASSERT
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_multi_xfer_sockbuf_borrow(struct Curl_easy *data,\n
      \                                       size_t blen, char **pbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3993,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3994,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:3995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - buf
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3997
      start: 3990
    functionDepth: 1
    functionLinenumber: 3990
    functionLinenumberEnd: 3997
    functionName: Curl_multi_xfer_sockbuf_release
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_multi_xfer_sockbuf_release(struct Curl_easy *data, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/multi.c:4001,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/multi.c:4002,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/multi.c:4005,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/multi.c:4008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 3999
    functionDepth: 1
    functionLinenumber: 3999
    functionLinenumberEnd: 4011
    functionName: multi_xfer_bufs_free
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 2
    functionsReached:
    - Curl_safefree
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void multi_xfer_bufs_free(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_tbl_get
      Src: /src/curl/lib/multi.c:4016,1
    - Dst: GOOD_EASY_HANDLE
      Src: /src/curl/lib/multi.c:4017,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/multi.c:4019,1
    - Dst: Curl_uint_tbl_remove
      Src: /src/curl/lib/multi.c:4021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - mid
    argTypes:
    - struct Curl_multi*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4013
    functionDepth: 3
    functionLinenumber: 4013
    functionLinenumberEnd: 4023
    functionName: Curl_multi_get_easy
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 11
    functionsReached:
    - Curl_uint_tbl_get
    - Curl_uint_tbl_remove
    - GOOD_EASY_HANDLE
    - CURL_TRC_M
    linkageType: ''
    returnType: struct Curl_easy
    signature: "struct Curl_easy *Curl_multi_get_easy(struct Curl_multi *multi,\n
      \                                     unsigned int mid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4028
      start: 4025
    functionDepth: 0
    functionLinenumber: 4025
    functionLinenumberEnd: 4028
    functionName: Curl_multi_xfers_running
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_multi_xfers_running(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_add
      Src: /src/curl/lib/multi.c:4033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4034
      start: 4030
    functionDepth: 1
    functionLinenumber: 4030
    functionLinenumberEnd: 4034
    functionName: Curl_multi_mark_dirty
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 16
    functionsReached:
    - Curl_uint_bset_add
    linkageType: ''
    returnType: void
    signature: void Curl_multi_mark_dirty(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_bset_remove
      Src: /src/curl/lib/multi.c:4039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4040
      start: 4036
    functionDepth: 1
    functionLinenumber: 4036
    functionLinenumberEnd: 4040
    functionName: Curl_multi_clear_dirty
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_uint_bset_remove
    linkageType: ''
    returnType: void
    signature: void Curl_multi_clear_dirty(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:4046,1
    - Dst: Curl_mntfy_enable
      Src: /src/curl/lib/multi.c:4048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - notification
    argTypes:
    - CURLM*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4049
      start: 4042
    functionDepth: 2
    functionLinenumber: 4042
    functionLinenumberEnd: 4049
    functionName: curl_multi_notify_enable
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - Curl_mntfy_enable
    - GOOD_MULTI_HANDLE
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_notify_enable(CURLM *m, unsigned int notification)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_MULTI_HANDLE
      Src: /src/curl/lib/multi.c:4055,1
    - Dst: Curl_mntfy_disable
      Src: /src/curl/lib/multi.c:4057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - notification
    argTypes:
    - CURLM*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 4051
    functionDepth: 2
    functionLinenumber: 4051
    functionLinenumberEnd: 4058
    functionName: curl_multi_notify_disable
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - GOOD_MULTI_HANDLE
    - Curl_mntfy_disable
    linkageType: ''
    returnType: CURLMcode
    signature: CURLMcode curl_multi_notify_disable(CURLM *m, unsigned int notification)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/multi.c:4068,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/multi.c:4071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - multi
    - mid
    - entry
    argTypes:
    - struct Curl_multi*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4077
      start: 4061
    functionDepth: 5
    functionLinenumber: 4061
    functionLinenumberEnd: 4077
    functionName: multi_xfer_dump
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: "void multi_xfer_dump(struct Curl_multi *multi, unsigned int mid,\n
      \                           void *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/multi.c:4083,1
    - Dst: Curl_uint_tbl_count
      Src: /src/curl/lib/multi.c:4084,1
    - Dst: Curl_uint_tbl_capacity
      Src: /src/curl/lib/multi.c:4085,1
    - Dst: Curl_uint_tbl_first
      Src: /src/curl/lib/multi.c:4086,1
    - Dst: multi_xfer_dump
      Src: /src/curl/lib/multi.c:4087,1
    - Dst: Curl_uint_tbl_next
      Src: /src/curl/lib/multi.c:4088,1
    - Dst: multi_xfer_dump
      Src: /src/curl/lib/multi.c:4089,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/multi.c:4091,1
    - Dst: fflush
      Src: /src/curl/lib/multi.c:4092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - multi
    argTypes:
    - struct Curl_multi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4079
    functionDepth: 6
    functionLinenumber: 4079
    functionLinenumberEnd: 4093
    functionName: multi_xfer_tbl_dump
    functionSourceFile: /src/curl/lib/multi.c
    functionUses: 1
    functionsReached:
    - fflush
    - Curl_uint_tbl_first
    - curl_mfprintf
    - Curl_uint_tbl_next
    - multi_xfer_dump
    - Curl_uint_tbl_count
    - Curl_uint_tbl_capacity
    linkageType: ''
    returnType: void
    signature: void multi_xfer_tbl_dump(struct Curl_multi *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/curl_get_line.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: appendnl
    functionSourceFile: /src/curl/lib/curl_get_line.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: int
    signature: int appendnl(struct dynbuf *buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/curl_get_line.c:52,1
    - Dst: fgets
      Src: /src/curl/lib/curl_get_line.c:54,1
    - Dst: strlen
      Src: /src/curl/lib/curl_get_line.c:58,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/curl_get_line.c:63,1
    - Dst: feof
      Src: /src/curl/lib/curl_get_line.c:72,1
    - Dst: appendnl
      Src: /src/curl/lib/curl_get_line.c:74,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/curl_get_line.c:77,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/curl_get_line.c:79,1
    - Dst: appendnl
      Src: /src/curl/lib/curl_get_line.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - input
    argTypes:
    - struct dynbuf*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 92
    functionName: Curl_get_line
    functionSourceFile: /src/curl/lib/curl_get_line.c
    functionUses: 2
    functionsReached:
    - appendnl
    - strlen
    - curlx_dyn_reset
    - curlx_dyn_addn
    - feof
    - curlx_dyn_len
    - fgets
    - curlx_dyn_ptr
    linkageType: ''
    returnType: int
    signature: int Curl_get_line(struct dynbuf *buf, FILE *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: FREE_ON_WINLDAP
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_ON_WINLDAP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: LDAP_TRACE
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_TRACE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: LDAP_TRACE
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDAP_TRACE(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/ldap.c:246,1
    - Dst: Curl_create_sspi_identity
      Src: /src/curl/lib/ldap.c:271,1
    - Dst: ldap_bind_s
      Src: /src/curl/lib/ldap.c:273,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/ldap.c:274,1
    - Dst: ldap_bind_s
      Src: /src/curl/lib/ldap.c:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - server
    - user
    - passwd
    - authflags
    argTypes:
    - LDAP*
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 286
    functionName: ldap_win_bind_auth
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - Curl_create_sspi_identity
    - ldap_bind_s
    - Curl_sspi_free_identity
    - memset
    linkageType: ''
    returnType: ULONG
    signature: "ULONG ldap_win_bind_auth(LDAP *server, const char *user,\n                                const
      char *passwd, unsigned long authflags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/ldap.c:298,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/ldap.c:299,1
    - Dst: ldap_simple_bind_s
      Src: /src/curl/lib/ldap.c:301,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/ldap.c:303,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/ldap.c:304,1
    - Dst: ldap_win_bind_auth
      Src: /src/curl/lib/ldap.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - data
    - server
    - user
    - passwd
    argTypes:
    - struct Curl_easy*
    - LDAP*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 313
    functionName: ldap_win_bind
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - ldap_win_bind_auth
    - curlx_unicodefree
    - ldap_simple_bind_s
    - curlx_convert_UTF8_to_tchar
    linkageType: ''
    returnType: ULONG
    signature: "ULONG ldap_win_bind(struct Curl_easy *data, LDAP *server,\n                           const
      char *user, const char *passwd)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/ldap.c:344,1
    - Dst: infof
      Src: /src/curl/lib/ldap.c:346,1
    - Dst: ldap_url_parse
      Src: /src/curl/lib/ldap.c:349,1
    - Dst: ldap_url_parse_low
      Src: /src/curl/lib/ldap.c:351,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:354,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/ldap.c:354,1
    - Dst: Curl_conn_get_ip_info
      Src: /src/curl/lib/ldap.c:359,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/ldap.c:364,1
    - Dst: infof
      Src: /src/curl/lib/ldap.c:366,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/ldap.c:370,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/ldap.c:386,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/ldap.c:388,1
    - Dst: ldap_sslinit
      Src: /src/curl/lib/ldap.c:394,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/ldap.c:395,1
    - Dst: curl_strequal
      Src: /src/curl/lib/ldap.c:403,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:404,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:409,1
    - Dst: infof
      Src: /src/curl/lib/ldap.c:413,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/ldap.c:414,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:416,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/ldap.c:417,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/ldap.c:426,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:428,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/ldap.c:429,1
    - Dst: ldap_init
      Src: /src/curl/lib/ldap.c:433,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:435,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/ldap.c:441,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:443,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/ldap.c:444,1
    - Dst: ldap_start_tls_s
      Src: /src/curl/lib/ldap.c:449,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:451,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/ldap.c:452,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:463,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:472,1
    - Dst: ldap_init
      Src: /src/curl/lib/ldap.c:477,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:479,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/ldap.c:486,1
    - Dst: ldap_win_bind
      Src: /src/curl/lib/ldap.c:487,1
    - Dst: ldap_simple_bind_s
      Src: /src/curl/lib/ldap.c:489,1
    - Dst: ldap_set_option
      Src: /src/curl/lib/ldap.c:493,1
    - Dst: ldap_win_bind
      Src: /src/curl/lib/ldap.c:495,1
    - Dst: ldap_simple_bind_s
      Src: /src/curl/lib/ldap.c:497,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:502,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/ldap.c:503,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:505,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/ldap.c:506,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/ldap.c:512,1
    - Dst: ldap_search_s
      Src: /src/curl/lib/ldap.c:513,1
    - Dst: failf
      Src: /src/curl/lib/ldap.c:518,1
    - Dst: ldap_err2string
      Src: /src/curl/lib/ldap.c:518,1
    - Dst: ldap_first_entry
      Src: /src/curl/lib/ldap.c:524,1
    - Dst: ldap_next_entry
      Src: /src/curl/lib/ldap.c:526,1
    - Dst: ldap_get_dn
      Src: /src/curl/lib/ldap.c:540,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/curl/lib/ldap.c:541,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:543,1
    - Dst: ldap_get_dn
      Src: /src/curl/lib/ldap.c:550,1
    - Dst: strlen
      Src: /src/curl/lib/ldap.c:555,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:556,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:559,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:561,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:562,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:563,1
    - Dst: ldap_first_attribute
      Src: /src/curl/lib/ldap.c:569,1
    - Dst: ldap_next_attribute
      Src: /src/curl/lib/ldap.c:571,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/curl/lib/ldap.c:575,1
    - Dst: ber_free
      Src: /src/curl/lib/ldap.c:578,1
    - Dst: strlen
      Src: /src/curl/lib/ldap.c:587,1
    - Dst: ldap_get_values_len
      Src: /src/curl/lib/ldap.c:589,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:592,1
    - Dst: ldap_value_free_len
      Src: /src/curl/lib/ldap.c:594,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:595,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:596,1
    - Dst: ber_free
      Src: /src/curl/lib/ldap.c:598,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:603,1
    - Dst: ldap_value_free_len
      Src: /src/curl/lib/ldap.c:605,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:606,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:607,1
    - Dst: ber_free
      Src: /src/curl/lib/ldap.c:609,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:614,1
    - Dst: ldap_value_free_len
      Src: /src/curl/lib/ldap.c:616,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:617,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:618,1
    - Dst: ber_free
      Src: /src/curl/lib/ldap.c:620,1
    - Dst: strcmp
      Src: /src/curl/lib/ldap.c:626,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/ldap.c:629,1
    - Dst: ldap_value_free_len
      Src: /src/curl/lib/ldap.c:632,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:633,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:634,1
    - Dst: ber_free
      Src: /src/curl/lib/ldap.c:636,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:642,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:644,1
    - Dst: ldap_value_free_len
      Src: /src/curl/lib/ldap.c:646,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:647,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:648,1
    - Dst: ber_free
      Src: /src/curl/lib/ldap.c:650,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:658,1
    - Dst: ldap_value_free_len
      Src: /src/curl/lib/ldap.c:661,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:662,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:663,1
    - Dst: ber_free
      Src: /src/curl/lib/ldap.c:665,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:671,1
    - Dst: ldap_value_free_len
      Src: /src/curl/lib/ldap.c:673,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:674,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:675,1
    - Dst: ber_free
      Src: /src/curl/lib/ldap.c:677,1
    - Dst: ldap_value_free_len
      Src: /src/curl/lib/ldap.c:684,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:688,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/ldap.c:689,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/ldap.c:691,1
    - Dst: ber_free
      Src: /src/curl/lib/ldap.c:697,1
    - Dst: ldap_msgfree
      Src: /src/curl/lib/ldap.c:702,1
    - Dst: LDAP_TRACE
      Src: /src/curl/lib/ldap.c:703,1
    - Dst: infof
      Src: /src/curl/lib/ldap.c:706,1
    - Dst: ldap_free_urldesc
      Src: /src/curl/lib/ldap.c:708,1
    - Dst: ldap_unbind_s
      Src: /src/curl/lib/ldap.c:710,1
    - Dst: FREE_ON_WINLDAP
      Src: /src/curl/lib/ldap.c:712,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/ldap.c:715,1
    - Dst: connclose
      Src: /src/curl/lib/ldap.c:716,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 276
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 719
    functionName: ldap_do
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - ldap_start_tls_s
    - Curl_conn_get_ip_info
    - ldap_first_attribute
    - curlx_base64_encode
    - ldap_memfree
    - FREE_ON_WINLDAP
    - ldap_search_s
    - connclose
    - ldap_err2string
    - failf
    - curl_strequal
    - Curl_client_write
    - Curl_conn_is_ssl
    - curlx_convert_UTF8_to_tchar
    - curlx_convert_tchar_to_UTF8
    - ldap_msgfree
    - ldap_get_values_len
    - ldap_simple_bind_s
    - strlen
    - LDAP_TRACE
    - ldap_get_dn
    - Curl_pgrsSetDownloadCounter
    - ldap_first_entry
    - free
    - strcmp
    - ldap_url_parse
    - ldap_win_bind
    - ber_free
    - Curl_xfer_setup_nop
    - ldap_value_free_len
    - ldap_next_entry
    - ldap_sslinit
    - ldap_free_urldesc
    - ldap_init
    - ldap_url_parse_low
    - infof
    - ldap_set_option
    - ldap_next_attribute
    - ldap_unbind_s
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ldap_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/ldap.c:728,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ldap.c:730,1
    - Dst: va_start
      Src: /src/curl/lib/ldap.c:736,1
    - Dst: curl_mvfprintf
      Src: /src/curl/lib/ldap.c:737,1
    - Dst: va_end
      Src: /src/curl/lib/ldap.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 722
    functionDepth: 5
    functionLinenumber: 722
    functionLinenumberEnd: 739
    functionName: ldap_trace_low
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - getenv
    - va_start
    - curlx_str_number
    - curl_mvfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void ldap_trace_low(const char *fmt, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/ldap.c:749,1
    - Dst: curl_strequal
      Src: /src/curl/lib/ldap.c:751,1
    - Dst: curl_strequal
      Src: /src/curl/lib/ldap.c:753,1
    - Dst: curl_strequal
      Src: /src/curl/lib/ldap.c:755,1
    - Dst: curl_strequal
      Src: /src/curl/lib/ldap.c:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 760
    functionName: str2scope
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: int
    signature: int str2scope(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/lib/ldap.c:767,1
    - Dst: strchr
      Src: /src/curl/lib/ldap.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 773
    functionName: num_entries
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t num_entries(const char *s)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/ldap.c:803,1
    - Dst: strdup
      Src: /src/curl/lib/ldap.c:811,1
    - Dst: strdup
      Src: /src/curl/lib/ldap.c:817,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:819,1
    - Dst: LDAP_TRACE
      Src: /src/curl/lib/ldap.c:830,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/ldap.c:833,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/ldap.c:842,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:845,1
    - Dst: strchr
      Src: /src/curl/lib/ldap.c:862,1
    - Dst: num_entries
      Src: /src/curl/lib/ldap.c:867,1
    - Dst: calloc
      Src: /src/curl/lib/ldap.c:872,1
    - Dst: calloc
      Src: /src/curl/lib/ldap.c:874,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/ldap.c:886,1
    - Dst: LDAP_TRACE
      Src: /src/curl/lib/ldap.c:889,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/ldap.c:892,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/ldap.c:901,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:904,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/ldap.c:915,1
    - Dst: strchr
      Src: /src/curl/lib/ldap.c:925,1
    - Dst: str2scope
      Src: /src/curl/lib/ldap.c:930,1
    - Dst: LDAP_TRACE
      Src: /src/curl/lib/ldap.c:936,1
    - Dst: strchr
      Src: /src/curl/lib/ldap.c:944,1
    - Dst: LDAP_TRACE
      Src: /src/curl/lib/ldap.c:953,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/ldap.c:956,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/ldap.c:965,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:968,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:988,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:989,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 122
    argCount: 3
    argNames:
    - data
    - conn
    - ludp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - LDAPURLDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 992
    functionName: ldap_url_parse2_low
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 0
    functionsReached:
    - calloc
    - curl_strnequal
    - LDAP_TRACE
    - strdup
    - str2scope
    - strchr
    - curlx_convert_UTF8_to_tchar
    - free
    - curlx_str_single
    - Curl_urldecode
    - curlx_str_until
    - num_entries
    linkageType: ''
    returnType: curl_ldap_num_t
    signature: "curl_ldap_num_t ldap_url_parse2_low(struct Curl_easy *data,\n                                           const
      struct connectdata *conn,\n                                           LDAPURLDesc
      *ludp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/ldap.c:998,1
    - Dst: ldap_url_parse2_low
      Src: /src/curl/lib/ldap.c:1005,1
    - Dst: ldap_free_urldesc_low
      Src: /src/curl/lib/ldap.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - conn
    - ludpp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - LDAPURLDesc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 994
    functionDepth: 3
    functionLinenumber: 994
    functionLinenumberEnd: 1012
    functionName: ldap_url_parse_low
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 1
    functionsReached:
    - ldap_url_parse2_low
    - calloc
    - ldap_free_urldesc_low
    linkageType: ''
    returnType: curl_ldap_num_t
    signature: "curl_ldap_num_t ldap_url_parse_low(struct Curl_easy *data,\n                                          const
      struct connectdata *conn,\n                                          LDAPURLDesc
      **ludpp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/ldap.c:1020,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/ldap.c:1021,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:1023,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:1024,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/ldap.c:1031,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:1033,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:1036,1
    - Dst: free
      Src: /src/curl/lib/ldap.c:1039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ludp
    argTypes:
    - LDAPURLDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1040
    functionName: ldap_free_urldesc_low
    functionSourceFile: /src/curl/lib/ldap.c
    functionUses: 1
    functionsReached:
    - free
    - curlx_unicodefree
    linkageType: ''
    returnType: void
    signature: void ldap_free_urldesc_low(LDAPURLDesc *ludp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ipv4_resolve_r
      Src: /src/curl/lib/hostip4.c:88,1
    - Dst: infof
      Src: /src/curl/lib/hostip4.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - hostname
    - port
    - ip_version
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: Curl_sync_getaddrinfo
    functionSourceFile: /src/curl/lib/hostip4.c
    functionUses: 1
    functionsReached:
    - infof
    - Curl_ipv4_resolve_r
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_sync_getaddrinfo(struct Curl_easy *data,\n
      \                                           const char *hostname,\n                                            int
      port,\n                                            int ip_version)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/hostip4.c:124,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/hostip4.c:128,1
    - Dst: Curl_getaddrinfo_ex
      Src: /src/curl/lib/hostip4.c:132,1
    - Dst: calloc
      Src: /src/curl/lib/hostip4.c:142,1
    - Dst: gethostbyname_r
      Src: /src/curl/lib/hostip4.c:153,1
    - Dst: gethostbyname_r
      Src: /src/curl/lib/hostip4.c:172,1
    - Dst: gethostbyname_r
      Src: /src/curl/lib/hostip4.c:239,1
    - Dst: free
      Src: /src/curl/lib/hostip4.c:265,1
    - Dst: gethostbyname
      Src: /src/curl/lib/hostip4.c:274,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/hostip4.c:274,1
    - Dst: Curl_he2ai
      Src: /src/curl/lib/hostip4.c:280,1
    - Dst: free
      Src: /src/curl/lib/hostip4.c:283,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - hostname
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 288
    functionName: Curl_ipv4_resolve_r
    functionSourceFile: /src/curl/lib/hostip4.c
    functionUses: 1
    functionsReached:
    - gethostbyname
    - calloc
    - Curl_getaddrinfo_ex
    - Curl_he2ai
    - curl_msnprintf
    - gethostbyname_r
    - CURL_UNCONST
    - free
    - memset
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_ipv4_resolve_r(const char *hostname,\n
      \                                         int port)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/curl_gethostname.c:60,1
    - Dst: strlen
      Src: /src/curl/lib/curl_gethostname.c:62,1
    - Dst: strcpy
      Src: /src/curl/lib/curl_gethostname.c:63,1
    - Dst: gethostname
      Src: /src/curl/lib/curl_gethostname.c:70,1
    - Dst: gethostname
      Src: /src/curl/lib/curl_gethostname.c:77,1
    - Dst: gethostname
      Src: /src/curl/lib/curl_gethostname.c:79,1
    - Dst: strchr
      Src: /src/curl/lib/curl_gethostname.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - name
    - namelen
    argTypes:
    - char*
    - GETHOSTNAME_TYPE_ARG2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 97
    functionName: Curl_gethostname
    functionSourceFile: /src/curl/lib/curl_gethostname.c
    functionUses: 1
    functionsReached:
    - strlen
    - getenv
    - gethostname
    - strchr
    - strcpy
    linkageType: ''
    returnType: int
    signature: int Curl_gethostname(char * const name, GETHOSTNAME_TYPE_ARG2 namelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: Curl_easyopts_check
    functionSourceFile: /src/curl/lib/easyoptions.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Curl_easyopts_check(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/curl/lib/curl_range.c:44,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/curl_range.c:47,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/curl_range.c:51,1
    - Dst: DEBUGF
      Src: /src/curl/lib/curl_range.c:55,1
    - Dst: infof
      Src: /src/curl/lib/curl_range.c:55,1
    - Dst: DEBUGF
      Src: /src/curl/lib/curl_range.c:65,1
    - Dst: infof
      Src: /src/curl/lib/curl_range.c:65,1
    - Dst: DEBUGF
      Src: /src/curl/lib/curl_range.c:81,1
    - Dst: infof
      Src: /src/curl/lib/curl_range.c:81,1
    - Dst: DEBUGF
      Src: /src/curl/lib/curl_range.c:85,1
    - Dst: infof
      Src: /src/curl/lib/curl_range.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 92
    functionName: Curl_range
    functionSourceFile: /src/curl/lib/curl_range.c
    functionUses: 1
    functionsReached:
    - infof
    - curlx_str_number
    - DEBUGF
    - curlx_str_single
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_range(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/hmac.c:65,1
    - Dst: struct HMAC_params*::hinit
      Src: /src/curl/lib/hmac.c:76,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/curl/lib/hmac.c:78,1
    - Dst: struct HMAC_params*::hfinal
      Src: /src/curl/lib/hmac.c:80,1
    - Dst: struct HMAC_params*::hinit
      Src: /src/curl/lib/hmac.c:86,1
    - Dst: struct HMAC_params*::hinit
      Src: /src/curl/lib/hmac.c:87,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/curl/lib/hmac.c:92,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/curl/lib/hmac.c:94,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/curl/lib/hmac.c:98,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/curl/lib/hmac.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - hashparams
    - key
    - keylen
    argTypes:
    - struct HMAC_params*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 104
    functionName: Curl_HMAC_init
    functionSourceFile: /src/curl/lib/hmac.c
    functionUses: 0
    functionsReached:
    - struct HMAC_params*::hinit
    - struct HMAC_params*::hfinal
    - malloc
    - struct HMAC_params*::hupdate
    linkageType: ''
    returnType: struct HMAC_context
    signature: "struct HMAC_context *\nCurl_HMAC_init(const struct HMAC_params *hashparams,\n
      \              const unsigned char *key,\n               unsigned int keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct HMAC_context*::hash::hupdate
      Src: /src/curl/lib/hmac.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctxt
    - ptr
    - len
    argTypes:
    - struct HMAC_context*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: Curl_HMAC_update
    functionSourceFile: /src/curl/lib/hmac.c
    functionUses: 0
    functionsReached:
    - struct HMAC_context*::hash::hupdate
    linkageType: ''
    returnType: int
    signature: "int Curl_HMAC_update(struct HMAC_context *ctxt,\n                     const
      unsigned char *ptr,\n                     unsigned int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct HMAC_params*::hfinal
      Src: /src/curl/lib/hmac.c:126,1
    - Dst: struct HMAC_params*::hupdate
      Src: /src/curl/lib/hmac.c:127,1
    - Dst: struct HMAC_params*::hfinal
      Src: /src/curl/lib/hmac.c:128,1
    - Dst: free
      Src: /src/curl/lib/hmac.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctxt
    - output
    argTypes:
    - struct HMAC_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: Curl_HMAC_final
    functionSourceFile: /src/curl/lib/hmac.c
    functionUses: 0
    functionsReached:
    - free
    - struct HMAC_params*::hupdate
    - struct HMAC_params*::hfinal
    linkageType: ''
    returnType: int
    signature: int Curl_HMAC_final(struct HMAC_context *ctxt, unsigned char *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_HMAC_init
      Src: /src/curl/lib/hmac.c:156,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/hmac.c:156,1
    - Dst: Curl_HMAC_update
      Src: /src/curl/lib/hmac.c:162,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/hmac.c:162,1
    - Dst: Curl_HMAC_final
      Src: /src/curl/lib/hmac.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - hashparams
    - key
    - keylen
    - buf
    - buflen
    - output
    argTypes:
    - struct HMAC_params*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: Curl_hmacit
    functionSourceFile: /src/curl/lib/hmac.c
    functionUses: 4
    functionsReached:
    - Curl_HMAC_update
    - Curl_HMAC_final
    - Curl_HMAC_init
    - curlx_uztoui
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_hmacit(const struct HMAC_params *hashparams,\n                     const
      unsigned char *key, const size_t keylen,\n                     const unsigned
      char *buf, const size_t buflen,\n                     unsigned char *output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/speedcheck.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: Curl_speedinit
    functionSourceFile: /src/curl/lib/speedcheck.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_speedinit(struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_recv_is_paused
      Src: /src/curl/lib/speedcheck.c:45,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/speedcheck.c:56,1
    - Dst: failf
      Src: /src/curl/lib/speedcheck.c:60,1
    - Dst: Curl_expire
      Src: /src/curl/lib/speedcheck.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - data
    - now
    argTypes:
    - struct Curl_easy*
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: Curl_speedcheck
    functionSourceFile: /src/curl/lib/speedcheck.c
    functionUses: 7
    functionsReached:
    - Curl_xfer_recv_is_paused
    - Curl_expire
    - failf
    - curlx_timediff
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_speedcheck(struct Curl_easy *data,\n                         struct
      curltime now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ares_library_init
      Src: /src/curl/lib/asyn-thrdd.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: Curl_async_global_init
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - ares_library_init
    linkageType: ''
    returnType: int
    signature: int Curl_async_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ares_library_cleanup
      Src: /src/curl/lib/asyn-thrdd.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: Curl_async_global_cleanup
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - ares_library_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_async_global_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - impl
    argTypes:
    - struct Curl_easy*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: Curl_async_get_impl
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_get_impl(struct Curl_easy *data, void **impl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/curl/lib/asyn-thrdd.c:129,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-thrdd.c:133,1
    - Dst: Curl_mutex_release
      Src: /src/curl/lib/asyn-thrdd.c:136,1
    - Dst: Curl_mutex_destroy
      Src: /src/curl/lib/asyn-thrdd.c:139,1
    - Dst: free
      Src: /src/curl/lib/asyn-thrdd.c:140,1
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/asyn-thrdd.c:142,1
    - Dst: wakeup_close
      Src: /src/curl/lib/asyn-thrdd.c:145,1
    - Dst: wakeup_close
      Src: /src/curl/lib/asyn-thrdd.c:147,1
    - Dst: free
      Src: /src/curl/lib/asyn-thrdd.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - paddr_ctx
    - data
    argTypes:
    - struct async_thrdd_addr_ctx**
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 152
    functionName: addr_ctx_unlink
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - wakeup_close
    - free
    - Curl_mutex_destroy
    - Curl_freeaddrinfo
    - Curl_mutex_release
    - DEBUGASSERT
    - Curl_mutex_acquire
    linkageType: ''
    returnType: void
    signature: "void addr_ctx_unlink(struct async_thrdd_addr_ctx **paddr_ctx,\n                            struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/asyn-thrdd.c:160,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-thrdd.c:169,1
    - Dst: Curl_mutex_init
      Src: /src/curl/lib/asyn-thrdd.c:175,1
    - Dst: wakeup_create
      Src: /src/curl/lib/asyn-thrdd.c:179,1
    - Dst: strdup
      Src: /src/curl/lib/asyn-thrdd.c:190,1
    - Dst: addr_ctx_unlink
      Src: /src/curl/lib/asyn-thrdd.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - data
    - hostname
    - port
    - hints
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 199
    functionName: addr_ctx_create
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - calloc
    - strdup
    - wakeup_create
    - addr_ctx_unlink
    - Curl_mutex_init
    - DEBUGASSERT
    linkageType: ''
    returnType: struct async_thrdd_addr_ctx
    signature: "struct async_thrdd_addr_ctx *\naddr_ctx_create(struct Curl_easy *data,\n
      \               const char *hostname, int port,\n                const struct
      addrinfo *hints)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/curl/lib/asyn-thrdd.c:214,1
    - Dst: Curl_mutex_release
      Src: /src/curl/lib/asyn-thrdd.c:216,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/asyn-thrdd.c:222,1
    - Dst: Curl_getaddrinfo_ex
      Src: /src/curl/lib/asyn-thrdd.c:224,1
    - Dst: Curl_addrinfo_set_port
      Src: /src/curl/lib/asyn-thrdd.c:233,1
    - Dst: Curl_mutex_acquire
      Src: /src/curl/lib/asyn-thrdd.c:236,1
    - Dst: Curl_mutex_release
      Src: /src/curl/lib/asyn-thrdd.c:238,1
    - Dst: wakeup_write
      Src: /src/curl/lib/asyn-thrdd.c:247,1
    - Dst: addr_ctx_unlink
      Src: /src/curl/lib/asyn-thrdd.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 209
    functionDepth: 6
    functionLinenumber: 209
    functionLinenumberEnd: 258
    functionName: CURL_STDCALL::getaddrinfo_thread
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_getaddrinfo_ex
    - curl_msnprintf
    - addr_ctx_unlink
    - Curl_addrinfo_set_port
    - Curl_mutex_release
    - wakeup_write
    - Curl_mutex_acquire
    linkageType: ''
    returnType: CURL_THREAD_RETURN_T
    signature: CURL_THREAD_RETURN_T CURL_STDCALL getaddrinfo_thread(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/curl/lib/asyn-thrdd.c:270,1
    - Dst: Curl_mutex_release
      Src: /src/curl/lib/asyn-thrdd.c:272,1
    - Dst: Curl_ipv4_resolve_r
      Src: /src/curl/lib/asyn-thrdd.c:275,1
    - Dst: Curl_mutex_acquire
      Src: /src/curl/lib/asyn-thrdd.c:282,1
    - Dst: Curl_mutex_release
      Src: /src/curl/lib/asyn-thrdd.c:284,1
    - Dst: wakeup_write
      Src: /src/curl/lib/asyn-thrdd.c:293,1
    - Dst: addr_ctx_unlink
      Src: /src/curl/lib/asyn-thrdd.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 303
    functionName: CURL_STDCALL::gethostbyname_thread
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - addr_ctx_unlink
    - Curl_mutex_release
    - Curl_ipv4_resolve_r
    - wakeup_write
    - Curl_mutex_acquire
    linkageType: ''
    returnType: CURL_THREAD_RETURN_T
    signature: CURL_THREAD_RETURN_T CURL_STDCALL gethostbyname_thread(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ares_destroy
      Src: /src/curl/lib/asyn-thrdd.c:317,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/curl/lib/asyn-thrdd.c:320,1
    - Dst: Curl_mutex_acquire
      Src: /src/curl/lib/asyn-thrdd.c:326,1
    - Dst: Curl_multi_will_close
      Src: /src/curl/lib/asyn-thrdd.c:329,1
    - Dst: Curl_mutex_release
      Src: /src/curl/lib/asyn-thrdd.c:333,1
    - Dst: Curl_thread_join
      Src: /src/curl/lib/asyn-thrdd.c:336,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:337,1
    - Dst: Curl_thread_destroy
      Src: /src/curl/lib/asyn-thrdd.c:341,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:342,1
    - Dst: addr_ctx_unlink
      Src: /src/curl/lib/asyn-thrdd.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 347
    functionName: async_thrdd_destroy
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_multi_will_close
    - CURL_TRC_DNS
    - addr_ctx_unlink
    - ares_destroy
    - Curl_thread_join
    - Curl_mutex_release
    - Curl_httpsrr_cleanup
    - Curl_thread_destroy
    - Curl_mutex_acquire
    linkageType: ''
    returnType: void
    signature: void async_thrdd_destroy(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_httpsrr_from_ares
      Src: /src/curl/lib/asyn-thrdd.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - status
    - timeouts
    - dnsrec
    argTypes:
    - void*
    - ares_status_t
    - size_t
    - ares_dns_record_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 363
    functionName: async_thrdd_rr_done
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_httpsrr_from_ares
    linkageType: ''
    returnType: void
    signature: "void async_thrdd_rr_done(void *user_data, ares_status_t status,\n
      \                               size_t timeouts,\n                                const
      ares_dns_record_t *dnsrec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-thrdd.c:370,1
    - Dst: ares_init_options
      Src: /src/curl/lib/asyn-thrdd.c:371,1
    - Dst: getenv
      Src: /src/curl/lib/asyn-thrdd.c:377,1
    - Dst: getenv
      Src: /src/curl/lib/asyn-thrdd.c:378,1
    - Dst: ares_set_servers_ports_csv
      Src: /src/curl/lib/asyn-thrdd.c:379,1
    - Dst: memset
      Src: /src/curl/lib/asyn-thrdd.c:385,1
    - Dst: ares_query_dnsrec
      Src: /src/curl/lib/asyn-thrdd.c:387,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 393
    functionName: async_rr_start
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - getenv
    - CURL_TRC_DNS
    - ares_set_servers_ports_csv
    - ares_init_options
    - memset
    - DEBUGASSERT
    - ares_query_dnsrec
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode async_rr_start(struct Curl_easy *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:417,1
    - Dst: async_thrdd_destroy
      Src: /src/curl/lib/asyn-thrdd.c:418,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-thrdd.c:419,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-thrdd.c:421,1
    - Dst: free
      Src: /src/curl/lib/asyn-thrdd.c:429,1
    - Dst: strdup
      Src: /src/curl/lib/asyn-thrdd.c:430,1
    - Dst: addr_ctx_create
      Src: /src/curl/lib/asyn-thrdd.c:434,1
    - Dst: curlx_now
      Src: /src/curl/lib/asyn-thrdd.c:441,1
    - Dst: Curl_thread_create
      Src: /src/curl/lib/asyn-thrdd.c:444,1
    - Dst: Curl_thread_create
      Src: /src/curl/lib/asyn-thrdd.c:446,1
    - Dst: async_rr_start
      Src: /src/curl/lib/asyn-thrdd.c:458,1
    - Dst: infof
      Src: /src/curl/lib/asyn-thrdd.c:459,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:461,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:465,1
    - Dst: async_thrdd_destroy
      Src: /src/curl/lib/asyn-thrdd.c:466,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/asyn-thrdd.c:467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - hints
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 402
    functionDepth: 6
    functionLinenumber: 402
    functionLinenumberEnd: 469
    functionName: async_thrdd_init
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - addr_ctx_create
    - CURL_SETERRNO
    - strdup
    - CURL_TRC_DNS
    - async_rr_start
    - async_thrdd_destroy
    - curlx_now
    - Curl_thread_create
    - free
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool async_thrdd_init(struct Curl_easy *data,\n                             const
      char *hostname, int port, int ip_version,\n                             const
      struct addrinfo *hints)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mutex_acquire
      Src: /src/curl/lib/asyn-thrdd.c:482,1
    - Dst: Curl_multi_will_close
      Src: /src/curl/lib/asyn-thrdd.c:485,1
    - Dst: Curl_mutex_release
      Src: /src/curl/lib/asyn-thrdd.c:489,1
    - Dst: Curl_thread_join
      Src: /src/curl/lib/asyn-thrdd.c:495,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 471
    functionDepth: 5
    functionLinenumber: 471
    functionLinenumberEnd: 498
    functionName: async_thrdd_shutdown
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - Curl_multi_will_close
    - CURL_TRC_DNS
    - Curl_thread_join
    - Curl_mutex_release
    - Curl_mutex_acquire
    linkageType: ''
    returnType: void
    signature: void async_thrdd_shutdown(struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: async_thrdd_shutdown
      Src: /src/curl/lib/asyn-thrdd.c:512,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:515,1
    - Dst: Curl_thread_join
      Src: /src/curl/lib/asyn-thrdd.c:516,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-thrdd.c:517,1
    - Dst: Curl_async_is_resolved
      Src: /src/curl/lib/asyn-thrdd.c:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - data
    - addr_ctx
    - entry
    argTypes:
    - struct Curl_easy*
    - struct async_thrdd_addr_ctx*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 503
    functionDepth: 6
    functionLinenumber: 503
    functionLinenumberEnd: 530
    functionName: asyn_thrdd_await
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_DNS
    - async_thrdd_shutdown
    - Curl_async_is_resolved
    - Curl_thread_join
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode asyn_thrdd_await(struct Curl_easy *data,\n                                 struct
      async_thrdd_addr_ctx *addr_ctx,\n                                 struct Curl_dns_entry
      **entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_thrdd_shutdown
      Src: /src/curl/lib/asyn-thrdd.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 6
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: Curl_async_thrdd_shutdown
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - async_thrdd_shutdown
    linkageType: ''
    returnType: void
    signature: void Curl_async_thrdd_shutdown(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asyn_thrdd_await
      Src: /src/curl/lib/asyn-thrdd.c:546,1
    - Dst: async_thrdd_destroy
      Src: /src/curl/lib/asyn-thrdd.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 7
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: Curl_async_thrdd_destroy
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 0
    functionsReached:
    - async_thrdd_destroy
    - asyn_thrdd_await
    linkageType: ''
    returnType: void
    signature: void Curl_async_thrdd_destroy(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asyn_thrdd_await
      Src: /src/curl/lib/asyn-thrdd.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 7
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: Curl_async_await
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - asyn_thrdd_await
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_async_await(struct Curl_easy *data,\n                          struct
      Curl_dns_entry **entry)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-thrdd.c:584,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:589,1
    - Dst: Curl_ares_perform
      Src: /src/curl/lib/asyn-thrdd.c:597,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-thrdd.c:600,1
    - Dst: Curl_mutex_acquire
      Src: /src/curl/lib/asyn-thrdd.c:604,1
    - Dst: Curl_mutex_release
      Src: /src/curl/lib/asyn-thrdd.c:606,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/asyn-thrdd.c:612,1
    - Dst: Curl_expire_done
      Src: /src/curl/lib/asyn-thrdd.c:613,1
    - Dst: Curl_dnscache_mk_entry
      Src: /src/curl/lib/asyn-thrdd.c:617,1
    - Dst: Curl_httpsrr_dup_move
      Src: /src/curl/lib/asyn-thrdd.c:629,1
    - Dst: Curl_dnscache_add
      Src: /src/curl/lib/asyn-thrdd.c:638,1
    - Dst: Curl_resolver_error
      Src: /src/curl/lib/asyn-thrdd.c:642,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/asyn-thrdd.c:644,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:646,1
    - Dst: async_thrdd_shutdown
      Src: /src/curl/lib/asyn-thrdd.c:648,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/asyn-thrdd.c:654,1
    - Dst: curlx_now
      Src: /src/curl/lib/asyn-thrdd.c:654,1
    - Dst: Curl_expire
      Src: /src/curl/lib/asyn-thrdd.c:670,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - data
    - dns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 578
    functionDepth: 7
    functionLinenumber: 578
    functionLinenumberEnd: 673
    functionName: Curl_async_is_resolved
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 2
    functionsReached:
    - Curl_dnscache_mk_entry
    - Curl_expire
    - CURL_TRC_DNS
    - async_thrdd_shutdown
    - Curl_resolver_error
    - Curl_expire_done
    - Curl_ares_perform
    - curlx_now
    - curlx_timediff
    - Curl_dnscache_add
    - Curl_mutex_release
    - Curl_httpsrr_dup_move
    - Curl_resolv_unlink
    - DEBUGASSERT
    - Curl_mutex_acquire
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_async_is_resolved(struct Curl_easy *data,\n                                struct
      Curl_dns_entry **dns)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ares_pollset
      Src: /src/curl/lib/asyn-thrdd.c:687,1
    - Dst: Curl_mutex_acquire
      Src: /src/curl/lib/asyn-thrdd.c:695,1
    - Dst: Curl_mutex_release
      Src: /src/curl/lib/asyn-thrdd.c:697,1
    - Dst: Curl_pollset_add_in
      Src: /src/curl/lib/asyn-thrdd.c:702,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/asyn-thrdd.c:705,1
    - Dst: curlx_now
      Src: /src/curl/lib/asyn-thrdd.c:705,1
    - Dst: Curl_expire
      Src: /src/curl/lib/asyn-thrdd.c:714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 675
    functionDepth: 7
    functionLinenumber: 675
    functionLinenumberEnd: 718
    functionName: Curl_async_pollset
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - Curl_expire
    - curlx_now
    - curlx_timediff
    - Curl_pollset_add_in
    - Curl_mutex_release
    - Curl_ares_pollset
    - Curl_mutex_acquire
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_pollset(struct Curl_easy *data, struct easy_pollset
      *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_thrdd_init
      Src: /src/curl/lib/asyn-thrdd.c:734,1
    - Dst: failf
      Src: /src/curl/lib/asyn-thrdd.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - waitp
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 724
    functionDepth: 7
    functionLinenumber: 724
    functionLinenumberEnd: 742
    functionName: Curl_async_getaddrinfo
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - async_thrdd_init
    - failf
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_async_getaddrinfo(struct Curl_easy *data,\n
      \                                            const char *hostname,\n                                             int
      port,\n                                             int ip_version,\n                                             int
      *waitp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-thrdd.c:759,1
    - Dst: Curl_ipv6works
      Src: /src/curl/lib/asyn-thrdd.c:761,1
    - Dst: memset
      Src: /src/curl/lib/asyn-thrdd.c:772,1
    - Dst: Curl_conn_get_transport
      Src: /src/curl/lib/asyn-thrdd.c:775,1
    - Dst: async_thrdd_init
      Src: /src/curl/lib/asyn-thrdd.c:779,1
    - Dst: failf
      Src: /src/curl/lib/asyn-thrdd.c:784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - waitp
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 749
    functionDepth: 7
    functionLinenumber: 749
    functionLinenumberEnd: 787
    functionName: Curl_async_getaddrinfo
    functionSourceFile: /src/curl/lib/asyn-thrdd.c
    functionUses: 1
    functionsReached:
    - async_thrdd_init
    - failf
    - CURL_TRC_DNS
    - Curl_conn_get_transport
    - Curl_ipv6works
    - memset
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_async_getaddrinfo(struct Curl_easy *data,\n
      \                                            const char *hostname,\n                                             int
      port,\n                                             int ip_version,\n                                             int
      *waitp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCDynamicStoreCopyProxies
      Src: /src/curl/lib/macos.c:47,1
    - Dst: CFRelease
      Src: /src/curl/lib/macos.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: Curl_macos_init
    functionSourceFile: /src/curl/lib/macos.c
    functionUses: 1
    functionsReached:
    - CFRelease
    - SCDynamicStoreCopyProxies
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_macos_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: STARTS_WITH_DRIVE_PREFIX
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STARTS_WITH_DRIVE_PREFIX(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: STARTS_WITH_URL_DRIVE_PREFIX
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STARTS_WITH_URL_DRIVE_PREFIX(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/urlapi.c:97,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:98,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:99,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:100,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:101,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:102,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:103,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:104,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:105,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - u
    argTypes:
    - struct Curl_URL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: free_urlhandle
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_urlhandle(struct Curl_URL *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/curl/lib/urlapi.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: find_host_sep
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: char
    signature: char *find_host_sep(const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: cc2cu
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc2cu(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_host_sep
      Src: /src/curl/lib/urlapi.c:151,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:155,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:162,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:164,1
    - Dst: Curl_hexbyte
      Src: /src/curl/lib/urlapi.c:168,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:169,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:172,1
    - Dst: cc2cu
      Src: /src/curl/lib/urlapi.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - o
    - url
    - len
    - relative
    - query
    argTypes:
    - struct dynbuf*
    - char*
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 181
    functionName: urlencode_str
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - cc2cu
    - find_host_sep
    - Curl_hexbyte
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode urlencode_str(struct dynbuf *o, const char *url,\n                               size_t
      len, bool relative,\n                               bool query)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/urlapi.c:195,1
    - Dst: STARTS_WITH_DRIVE_PREFIX
      Src: /src/curl/lib/urlapi.c:200,1
    - Dst: ISALPHA
      Src: /src/curl/lib/urlapi.c:203,1
    - Dst: ISALNUM
      Src: /src/curl/lib/urlapi.c:206,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/urlapi.c:223,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 4
    argNames:
    - url
    - buf
    - buflen
    - guess_scheme
    argTypes:
    - char*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 229
    functionName: Curl_is_absolute_url
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 3
    functionsReached:
    - ISALNUM
    - STARTS_WITH_DRIVE_PREFIX
    - Curl_strntolower
    - DEBUGASSERT
    - ISALPHA
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_is_absolute_url(const char *url, char *buf, size_t buflen,\n
      \                           bool guess_scheme)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:245,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/urlapi.c:246,1
    - Dst: strchr
      Src: /src/curl/lib/urlapi.c:261,1
    - Dst: strchr
      Src: /src/curl/lib/urlapi.c:267,1
    - Dst: strchr
      Src: /src/curl/lib/urlapi.c:274,1
    - Dst: strchr
      Src: /src/curl/lib/urlapi.c:277,1
    - Dst: memrchr
      Src: /src/curl/lib/urlapi.c:281,1
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:282,1
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:289,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:292,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:294,1
    - Dst: urlencode_str
      Src: /src/curl/lib/urlapi.c:295,1
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:295,1
    - Dst: parseurl_and_replace
      Src: /src/curl/lib/urlapi.c:296,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:296,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/urlapi.c:302,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - base
    - relurl
    - u
    - flags
    argTypes:
    - char*
    - char*
    - CURLU*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 304
    functionName: redirect_url
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - strlen
    - memrchr
    - strchr
    - curlx_dyn_addn
    - urlencode_str
    - curlx_dyn_init
    - parseurl_and_replace
    - curlx_dyn_free
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode redirect_url(const char *base, const char *relurl,\n                              CURLU
      *u, unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - url
    - urllen
    - allowspace
    argTypes:
    - char*
    - size_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: Curl_junkscan
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode Curl_junkscan(const char *url, size_t *urllen, bool allowspace)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/urlapi.c:354,1
    - Dst: memchr
      Src: /src/curl/lib/urlapi.c:357,1
    - Dst: Curl_get_scheme_handler
      Src: /src/curl/lib/urlapi.c:368,1
    - Dst: Curl_parse_login_details
      Src: /src/curl/lib/urlapi.c:372,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:387,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:392,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:397,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:407,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:408,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 5
    argNames:
    - u
    - login
    - len
    - flags
    - offset
    argTypes:
    - struct Curl_URL*
    - char*
    - size_t
    - unsigned int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 415
    functionName: parse_hostname_login
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - Curl_get_scheme_handler
    - free
    - Curl_parse_login_details
    - memchr
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode parse_hostname_login(struct Curl_URL *u,\n                                      const
      char *login,\n                                      size_t len,\n                                      unsigned
      int flags,\n                                      size_t *offset)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:421,1
    - Dst: strchr
      Src: /src/curl/lib/urlapi.c:426,1
    - Dst: strchr
      Src: /src/curl/lib/urlapi.c:439,1
    - Dst: curlx_dyn_setlen
      Src: /src/curl/lib/urlapi.c:452,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/urlapi.c:457,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:462,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/urlapi.c:463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - u
    - host
    - has_scheme
    argTypes:
    - struct Curl_URL*
    - struct dynbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 417
    functionDepth: 6
    functionLinenumber: 417
    functionLinenumberEnd: 469
    functionName: Curl_parse_port
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_setlen
    - strchr
    - curl_maprintf
    - free
    - curlx_str_number
    - curlx_dyn_ptr
    linkageType: ''
    returnType: UNITTEST
    signature: "UNITTEST Curl_parse_port(struct Curl_URL *u, struct dynbuf *host,\n
      \                                  bool has_scheme)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/urlapi.c:476,1
    - Dst: strspn
      Src: /src/curl/lib/urlapi.c:483,1
    - Dst: strncmp
      Src: /src/curl/lib/urlapi.c:493,1
    - Dst: strdup
      Src: /src/curl/lib/urlapi.c:500,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/urlapi.c:515,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/lib/urlapi.c:517,1
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:518,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - u
    - hostname
    - hlen
    argTypes:
    - struct Curl_URL*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 524
    functionName: ipv6_parse
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - strlen
    - strdup
    - curlx_inet_pton
    - strspn
    - strncmp
    - DEBUGASSERT
    - curlx_inet_ntop
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode ipv6_parse(struct Curl_URL *u, char *hostname,\n                            size_t
      hlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/urlapi.c:530,1
    - Dst: ipv6_parse
      Src: /src/curl/lib/urlapi.c:535,1
    - Dst: strcspn
      Src: /src/curl/lib/urlapi.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - u
    - hostname
    - hlen
    argTypes:
    - struct Curl_URL*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 544
    functionName: hostname_check
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - ipv6_parse
    - DEBUGASSERT
    - strcspn
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode hostname_check(struct Curl_URL *u, char *hostname,\n                                size_t
      hlen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:569,1
    - Dst: curlx_str_hex
      Src: /src/curl/lib/urlapi.c:582,1
    - Dst: curlx_str_octal
      Src: /src/curl/lib/urlapi.c:585,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/urlapi.c:588,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/urlapi.c:614,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/urlapi.c:616,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/urlapi.c:625,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/urlapi.c:626,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/urlapi.c:635,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/urlapi.c:636,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/urlapi.c:646,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/urlapi.c:647,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 1
    argNames:
    - host
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 657
    functionName: ipv4_normalize
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - curlx_str_hex
    - curlx_dyn_reset
    - curlx_str_octal
    - curlx_dyn_addf
    - curlx_str_number
    - curlx_dyn_ptr
    linkageType: ''
    returnType: int
    signature: int ipv4_normalize(struct dynbuf *host)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:663,1
    - Dst: strchr
      Src: /src/curl/lib/urlapi.c:664,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/urlapi.c:672,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/urlapi.c:676,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:677,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:678,1
    - Dst: cc2cu
      Src: /src/curl/lib/urlapi.c:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - host
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 684
    functionName: urldecode_host
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - cc2cu
    - strchr
    - curlx_dyn_reset
    - curlx_dyn_addn
    - free
    - Curl_urldecode
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode urldecode_host(struct dynbuf *host)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parse_hostname_login
      Src: /src/curl/lib/urlapi.c:699,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:703,1
    - Dst: cc2cu
      Src: /src/curl/lib/urlapi.c:705,1
    - Dst: Curl_parse_port
      Src: /src/curl/lib/urlapi.c:709,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/urlapi.c:713,1
    - Dst: ipv4_normalize
      Src: /src/curl/lib/urlapi.c:716,1
    - Dst: ipv6_parse
      Src: /src/curl/lib/urlapi.c:720,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:720,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/urlapi.c:720,1
    - Dst: urldecode_host
      Src: /src/curl/lib/urlapi.c:723,1
    - Dst: hostname_check
      Src: /src/curl/lib/urlapi.c:725,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:725,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/urlapi.c:725,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 6
    argNames:
    - u
    - auth
    - authlen
    - flags
    - host
    - has_scheme
    argTypes:
    - struct Curl_URL*
    - char*
    - size_t
    - unsigned int
    - struct dynbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 686
    functionDepth: 7
    functionLinenumber: 686
    functionLinenumberEnd: 737
    functionName: parse_authority
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - urldecode_host
    - cc2cu
    - parse_hostname_login
    - ipv6_parse
    - curlx_dyn_addn
    - hostname_check
    - curlx_dyn_len
    - curlx_dyn_ptr
    - ipv4_normalize
    - Curl_parse_port
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode parse_authority(struct Curl_URL *u,\n                                 const
      char *auth, size_t authlen,\n                                 unsigned int flags,\n
      \                                struct dynbuf *host,\n                                 bool
      has_scheme)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/urlapi.c:745,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:746,1
    - Dst: parse_authority
      Src: /src/curl/lib/urlapi.c:748,1
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:748,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/urlapi.c:751,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:753,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - u
    - authority
    argTypes:
    - CURLU*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 740
    functionDepth: 8
    functionLinenumber: 740
    functionLinenumberEnd: 757
    functionName: Curl_url_set_authority
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - strlen
    - curlx_dyn_free
    - free
    - curlx_dyn_init
    - parse_authority
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode Curl_url_set_authority(CURLU *u, const char *authority)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - str
    - clen
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 779
    functionName: is_dot
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_dot(const char **str, size_t *clen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 782
    functionName: ISSLASH
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISSLASH(x)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:808,1
    - Dst: is_dot
      Src: /src/curl/lib/urlapi.c:812,1
    - Dst: ISSLASH
      Src: /src/curl/lib/urlapi.c:819,1
    - Dst: is_dot
      Src: /src/curl/lib/urlapi.c:827,1
    - Dst: ISSLASH
      Src: /src/curl/lib/urlapi.c:831,1
    - Dst: ISSLASH
      Src: /src/curl/lib/urlapi.c:840,1
    - Dst: is_dot
      Src: /src/curl/lib/urlapi.c:846,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:848,1
    - Dst: ISSLASH
      Src: /src/curl/lib/urlapi.c:851,1
    - Dst: is_dot
      Src: /src/curl/lib/urlapi.c:861,1
    - Dst: ISSLASH
      Src: /src/curl/lib/urlapi.c:861,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/urlapi.c:863,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:865,1
    - Dst: memrchr
      Src: /src/curl/lib/urlapi.c:866,1
    - Dst: curlx_dyn_setlen
      Src: /src/curl/lib/urlapi.c:869,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:877,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:888,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/urlapi.c:894,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:895,1
    - Dst: strdup
      Src: /src/curl/lib/urlapi.c:897,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 3
    argNames:
    - input
    - clen
    - outp
    argTypes:
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 903
    functionName: dedotdotify
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - strdup
    - curlx_dyn_setlen
    - memrchr
    - curlx_dyn_addn
    - curlx_dyn_init
    - curlx_dyn_len
    - is_dot
    - ISSLASH
    - curlx_dyn_ptr
    linkageType: ''
    returnType: UNITTEST
    signature: UNITTEST dedotdotify(const char *input, size_t clen, char **outp)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/urlapi.c:918,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:920,1
    - Dst: Curl_junkscan
      Src: /src/curl/lib/urlapi.c:922,1
    - Dst: Curl_is_absolute_url
      Src: /src/curl/lib/urlapi.c:926,1
    - Dst: strcmp
      Src: /src/curl/lib/urlapi.c:931,1
    - Dst: strdup
      Src: /src/curl/lib/urlapi.c:943,1
    - Dst: STARTS_WITH_URL_DRIVE_PREFIX
      Src: /src/curl/lib/urlapi.c:978,1
    - Dst: checkprefix
      Src: /src/curl/lib/urlapi.c:981,1
    - Dst: checkprefix
      Src: /src/curl/lib/urlapi.c:982,1
    - Dst: strpbrk
      Src: /src/curl/lib/urlapi.c:992,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:1000,1
    - Dst: cc2cu
      Src: /src/curl/lib/urlapi.c:1002,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/urlapi.c:1024,1
    - Dst: STARTS_WITH_URL_DRIVE_PREFIX
      Src: /src/curl/lib/urlapi.c:1029,1
    - Dst: STARTS_WITH_URL_DRIVE_PREFIX
      Src: /src/curl/lib/urlapi.c:1030,1
    - Dst: STARTS_WITH_URL_DRIVE_PREFIX
      Src: /src/curl/lib/urlapi.c:1037,1
    - Dst: Curl_get_scheme_handler
      Src: /src/curl/lib/urlapi.c:1060,1
    - Dst: strdup
      Src: /src/curl/lib/urlapi.c:1090,1
    - Dst: strcspn
      Src: /src/curl/lib/urlapi.c:1098,1
    - Dst: parse_authority
      Src: /src/curl/lib/urlapi.c:1105,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1110,1
    - Dst: checkprefix
      Src: /src/curl/lib/urlapi.c:1112,1
    - Dst: checkprefix
      Src: /src/curl/lib/urlapi.c:1114,1
    - Dst: checkprefix
      Src: /src/curl/lib/urlapi.c:1116,1
    - Dst: checkprefix
      Src: /src/curl/lib/urlapi.c:1118,1
    - Dst: checkprefix
      Src: /src/curl/lib/urlapi.c:1120,1
    - Dst: checkprefix
      Src: /src/curl/lib/urlapi.c:1122,1
    - Dst: strdup
      Src: /src/curl/lib/urlapi.c:1127,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/urlapi.c:1137,1
    - Dst: strchr
      Src: /src/curl/lib/urlapi.c:1148,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:1156,1
    - Dst: urlencode_str
      Src: /src/curl/lib/urlapi.c:1157,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1160,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/urlapi.c:1163,1
    - Dst: memchr
      Src: /src/curl/lib/urlapi.c:1174,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:1183,1
    - Dst: urlencode_str
      Src: /src/curl/lib/urlapi.c:1185,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1188,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/urlapi.c:1191,1
    - Dst: strdup
      Src: /src/curl/lib/urlapi.c:1200,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:1210,1
    - Dst: urlencode_str
      Src: /src/curl/lib/urlapi.c:1211,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/urlapi.c:1214,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1215,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/urlapi.c:1224,1
    - Dst: dedotdotify
      Src: /src/curl/lib/urlapi.c:1238,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1244,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1250,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/urlapi.c:1254,1
    - Dst: free_urlhandle
      Src: /src/curl/lib/urlapi.c:1255,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 235
    argCount: 3
    argNames:
    - url
    - u
    - flags
    argTypes:
    - char*
    - CURLU*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 905
    functionDepth: 8
    functionLinenumber: 905
    functionLinenumberEnd: 1257
    functionName: parseurl
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - cc2cu
    - Curl_is_absolute_url
    - parse_authority
    - curlx_dyn_add
    - strdup
    - strchr
    - curlx_dyn_reset
    - curlx_dyn_addn
    - curlx_dyn_len
    - strcspn
    - free_urlhandle
    - curlx_dyn_ptr
    - Curl_get_scheme_handler
    - free
    - urlencode_str
    - curlx_dyn_init
    - strcmp
    - curlx_dyn_free
    - dedotdotify
    - Curl_memdup0
    - Curl_junkscan
    - DEBUGASSERT
    - checkprefix
    - STARTS_WITH_URL_DRIVE_PREFIX
    - strpbrk
    - memchr
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode parseurl(const char *url, CURLU *u, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/urlapi.c:1267,1
    - Dst: parseurl
      Src: /src/curl/lib/urlapi.c:1268,1
    - Dst: free_urlhandle
      Src: /src/curl/lib/urlapi.c:1270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - url
    - u
    - flags
    argTypes:
    - char*
    - CURLU*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1262
    functionDepth: 9
    functionLinenumber: 1262
    functionLinenumberEnd: 1274
    functionName: parseurl_and_replace
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - parseurl
    - free_urlhandle
    - memset
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode parseurl_and_replace(const char *url, CURLU *u,\n                                      unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/urlapi.c:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1281
    functionName: curl_url
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 39
    functionsReached:
    - calloc
    linkageType: ''
    returnType: CURLU
    signature: CURLU *curl_url(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_urlhandle
      Src: /src/curl/lib/urlapi.c:1286,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - CURLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1289
    functionName: curl_url_cleanup
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 40
    functionsReached:
    - free
    - free_urlhandle
    linkageType: ''
    returnType: void
    signature: void curl_url_cleanup(CURLU *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1299
    functionName: DUP
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUP(dest, src, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/urlapi.c:1302,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1304,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1305,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1306,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1307,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1308,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1309,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1310,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1311,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1312,1
    - Dst: DUP
      Src: /src/curl/lib/urlapi.c:1313,1
    - Dst: curl_url_cleanup
      Src: /src/curl/lib/urlapi.c:1320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - in
    argTypes:
    - CURLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1322
    functionName: curl_url_dup
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 3
    functionsReached:
    - DUP
    - calloc
    - curl_url_cleanup
    linkageType: ''
    returnType: CURLU
    signature: CURLU *curl_url_dup(const CURLU *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1326
    functionName: host_decode
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_decode(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1327
    functionName: host_encode
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: host_encode(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_idn_decode
      Src: /src/curl/lib/urlapi.c:1330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - host
    - allochost
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1335
    functionName: host_decode
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - Curl_idn_decode
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode host_decode(const char *host, char **allochost)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_idn_encode
      Src: /src/curl/lib/urlapi.c:1339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - host
    - allochost
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1337
    functionDepth: 4
    functionLinenumber: 1337
    functionLinenumberEnd: 1344
    functionName: host_encode
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - Curl_idn_encode
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode host_encode(const char *host, char **allochost)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:1351,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/urlapi.c:1356,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/urlapi.c:1373,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1374,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:1385,1
    - Dst: urlencode_str
      Src: /src/curl/lib/urlapi.c:1386,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1389,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1390,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/urlapi.c:1393,1
    - Dst: host_decode
      Src: /src/curl/lib/urlapi.c:1395,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1398,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/urlapi.c:1403,1
    - Dst: host_encode
      Src: /src/curl/lib/urlapi.c:1405,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1408,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 6
    argNames:
    - u
    - what
    - ptr
    - part
    - plusdecode
    - flags
    argTypes:
    - CURLU*
    - CURLUPart
    - char*
    - char**
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1347
    functionDepth: 2
    functionLinenumber: 1347
    functionLinenumberEnd: 1414
    functionName: urlget_format
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - strlen
    - Curl_is_ASCII_name
    - free
    - urlencode_str
    - curlx_dyn_init
    - host_decode
    - Curl_memdup0
    - Curl_urldecode
    - curlx_dyn_ptr
    - host_encode
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode urlget_format(const CURLU *u, CURLUPart what,\n                               const
      char *ptr, char **part,\n                               bool plusdecode, unsigned
      int flags)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/urlapi.c:1431,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/urlapi.c:1432,1
    - Dst: Curl_get_scheme_handler
      Src: /src/curl/lib/urlapi.c:1451,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/urlapi.c:1456,1
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:1475,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:1476,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/urlapi.c:1477,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1480,1
    - Dst: curl_easy_escape
      Src: /src/curl/lib/urlapi.c:1484,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/urlapi.c:1489,1
    - Dst: host_decode
      Src: /src/curl/lib/urlapi.c:1490,1
    - Dst: Curl_is_ASCII_name
      Src: /src/curl/lib/urlapi.c:1496,1
    - Dst: host_encode
      Src: /src/curl/lib/urlapi.c:1497,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/urlapi.c:1504,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/urlapi.c:1508,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1524,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 59
    argCount: 3
    argNames:
    - u
    - part
    - flags
    argTypes:
    - CURLU*
    - char**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1416
    functionDepth: 6
    functionLinenumber: 1416
    functionLinenumberEnd: 1530
    functionName: urlget_url
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - strlen
    - Curl_get_scheme_handler
    - curl_msnprintf
    - curl_strequal
    - Curl_is_ASCII_name
    - curl_easy_escape
    - curlx_dyn_addf
    - free
    - curlx_dyn_init
    - curlx_dyn_ptr
    - host_decode
    - curl_maprintf
    - host_encode
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode urlget_url(const CURLU *u, char **part, unsigned int flags)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Curl_get_scheme_handler
      Src: /src/curl/lib/urlapi.c:1580,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/urlapi.c:1582,1
    - Dst: Curl_get_scheme_handler
      Src: /src/curl/lib/urlapi.c:1589,1
    - Dst: urlget_url
      Src: /src/curl/lib/urlapi.c:1616,1
    - Dst: urlget_format
      Src: /src/curl/lib/urlapi.c:1622,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 76
    argCount: 4
    argNames:
    - u
    - what
    - part
    - flags
    argTypes:
    - CURLU*
    - CURLUPart
    - char**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1532
    functionDepth: 7
    functionLinenumber: 1532
    functionLinenumberEnd: 1625
    functionName: curl_url_get
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 35
    functionsReached:
    - urlget_url
    - Curl_get_scheme_handler
    - urlget_format
    - curl_msnprintf
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode curl_url_get(const CURLU *u, CURLUPart what,\n                       char
      **part, unsigned int flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:1630,1
    - Dst: Curl_get_scheme_handler
      Src: /src/curl/lib/urlapi.c:1636,1
    - Dst: ISALPHA
      Src: /src/curl/lib/urlapi.c:1641,1
    - Dst: ISALNUM
      Src: /src/curl/lib/urlapi.c:1644,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - u
    - scheme
    - flags
    argTypes:
    - CURLU*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1627
    functionDepth: 2
    functionLinenumber: 1627
    functionLinenumberEnd: 1655
    functionName: set_url_scheme
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - Curl_get_scheme_handler
    - strlen
    - ISALNUM
    - ISALPHA
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode set_url_scheme(CURLU *u, const char *scheme,\n                                unsigned
      int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/curl/lib/urlapi.c:1661,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/urlapi.c:1664,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/urlapi.c:1667,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - u
    - provided_port
    argTypes:
    - CURLU*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1657
    functionDepth: 6
    functionLinenumber: 1657
    functionLinenumberEnd: 1674
    functionName: set_url_port
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - free
    - ISDIGIT
    - curlx_str_number
    - curl_maprintf
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode set_url_port(CURLU *u, const char *provided_port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_url_get
      Src: /src/curl/lib/urlapi.c:1691,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1694,1
    - Dst: Curl_is_absolute_url
      Src: /src/curl/lib/urlapi.c:1702,1
    - Dst: curl_url_get
      Src: /src/curl/lib/urlapi.c:1704,1
    - Dst: parseurl_and_replace
      Src: /src/curl/lib/urlapi.c:1705,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/urlapi.c:1707,1
    - Dst: redirect_url
      Src: /src/curl/lib/urlapi.c:1709,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - u
    - url
    - part_size
    - flags
    argTypes:
    - CURLU*
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1676
    functionDepth: 10
    functionLinenumber: 1676
    functionLinenumberEnd: 1712
    functionName: set_url
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 1
    functionsReached:
    - curl_url_get
    - free
    - Curl_is_absolute_url
    - parseurl_and_replace
    - redirect_url
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode set_url(CURLU *u, const char *url, size_t part_size,\n                         unsigned
      int flags)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: free_urlhandle
      Src: /src/curl/lib/urlapi.c:1718,1
    - Dst: memset
      Src: /src/curl/lib/urlapi.c:1719,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1722,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1726,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1729,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1732,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1735,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1738,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1742,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1745,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1748,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1752,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - u
    - what
    argTypes:
    - CURLU*
    - CURLUPart
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1759
    functionName: urlset_clear
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - memset
    - free_urlhandle
    linkageType: ''
    returnType: CURLUcode
    signature: CURLUcode urlset_clear(CURLU *u, CURLUPart what)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1772
    functionName: allowed_in_path
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allowed_in_path(unsigned char x)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: urlset_clear
      Src: /src/curl/lib/urlapi.c:1790,1
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:1792,1
    - Dst: set_url_scheme
      Src: /src/curl/lib/urlapi.c:1799,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/urlapi.c:1817,1
    - Dst: set_url_port
      Src: /src/curl/lib/urlapi.c:1823,1
    - Dst: set_url
      Src: /src/curl/lib/urlapi.c:1841,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/urlapi.c:1845,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:1849,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:1852,1
    - Dst: cc2cu
      Src: /src/curl/lib/urlapi.c:1854,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:1862,1
    - Dst: ISUNRESERVED
      Src: /src/curl/lib/urlapi.c:1866,1
    - Dst: allowed_in_path
      Src: /src/curl/lib/urlapi.c:1867,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:1872,1
    - Dst: cc2cu
      Src: /src/curl/lib/urlapi.c:1874,1
    - Dst: Curl_hexbyte
      Src: /src/curl/lib/urlapi.c:1878,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:1879,1
    - Dst: cc2cu
      Src: /src/curl/lib/urlapi.c:1881,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/urlapi.c:1887,1
    - Dst: cc2cu
      Src: /src/curl/lib/urlapi.c:1889,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1890,1
    - Dst: ISXDIGIT
      Src: /src/curl/lib/urlapi.c:1893,1
    - Dst: ISXDIGIT
      Src: /src/curl/lib/urlapi.c:1893,1
    - Dst: ISUPPER
      Src: /src/curl/lib/urlapi.c:1894,1
    - Dst: ISUPPER
      Src: /src/curl/lib/urlapi.c:1894,1
    - Dst: Curl_raw_tolower
      Src: /src/curl/lib/urlapi.c:1895,1
    - Dst: Curl_raw_tolower
      Src: /src/curl/lib/urlapi.c:1896,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1903,1
    - Dst: strlen
      Src: /src/curl/lib/urlapi.c:1909,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/urlapi.c:1913,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:1915,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/urlapi.c:1919,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/urlapi.c:1922,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/urlapi.c:1924,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1925,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/urlapi.c:1926,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/urlapi.c:1929,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/urlapi.c:1935,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/urlapi.c:1949,1
    - Dst: hostname_check
      Src: /src/curl/lib/urlapi.c:1950,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1952,1
    - Dst: hostname_check
      Src: /src/curl/lib/urlapi.c:1954,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/urlapi.c:1954,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/urlapi.c:1957,1
    - Dst: free
      Src: /src/curl/lib/urlapi.c:1963,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/urlapi.c:1964,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 141
    argCount: 4
    argNames:
    - u
    - what
    - part
    - flags
    argTypes:
    - CURLU*
    - CURLUPart
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1774
    functionDepth: 7
    functionLinenumber: 1774
    functionLinenumberEnd: 1967
    functionName: curl_url_set
    functionSourceFile: /src/curl/lib/urlapi.c
    functionUses: 42
    functionsReached:
    - set_url_port
    - cc2cu
    - CURL_UNCONST
    - set_url_scheme
    - ISXDIGIT
    - allowed_in_path
    - set_url
    - curlx_dyn_add
    - Curl_hexbyte
    - curlx_dyn_addn
    - Curl_raw_tolower
    - curlx_dyn_len
    - Curl_urldecode
    - curlx_dyn_ptr
    - ISUNRESERVED
    - strlen
    - curlx_dyn_free
    - free
    - curlx_dyn_init
    - hostname_check
    - DEBUGASSERT
    - Curl_safefree
    - ISUPPER
    - urlset_clear
    linkageType: ''
    returnType: CURLUcode
    signature: "CURLUcode curl_url_set(CURLU *u, CURLUPart what,\n                       const
      char *part, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Curl_ws_request
    functionSourceFile: /src/curl/lib/ws.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ws_request(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: Curl_ws_free
    functionSourceFile: /src/curl/lib/ws.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ws_free(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: CPOOL_IS_LOCKED
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPOOL_IS_LOCKED(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: CPOOL_LOCK
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPOOL_LOCK(c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: CPOOL_UNLOCK
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPOOL_UNLOCK(c,d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/conncache.c:93,1
    - Dst: calloc
      Src: /src/curl/lib/conncache.c:95,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/conncache.c:98,1
    - Dst: memcpy
      Src: /src/curl/lib/conncache.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dest
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: cpool_bundle_create
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - strlen
    - Curl_llist_init
    linkageType: ''
    returnType: struct cpool_bundle
    signature: struct cpool_bundle *cpool_bundle_create(const char *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:106,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/conncache.c:106,1
    - Dst: free
      Src: /src/curl/lib/conncache.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bundle
    argTypes:
    - struct cpool_bundle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: cpool_bundle_destroy
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_llist_count
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void cpool_bundle_destroy(struct cpool_bundle *bundle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:114,1
    - Dst: Curl_node_llist
      Src: /src/curl/lib/conncache.c:114,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/conncache.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bundle
    - conn
    argTypes:
    - struct cpool_bundle*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: cpool_bundle_add
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_node_llist
    - DEBUGASSERT
    - Curl_llist_append
    linkageType: ''
    returnType: void
    signature: "void cpool_bundle_add(struct cpool_bundle *bundle,\n                             struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:124,1
    - Dst: Curl_node_llist
      Src: /src/curl/lib/conncache.c:124,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/conncache.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bundle
    - conn
    argTypes:
    - struct cpool_bundle*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: cpool_bundle_remove
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_node_llist
    - DEBUGASSERT
    - Curl_node_remove
    linkageType: ''
    returnType: void
    signature: "void cpool_bundle_remove(struct cpool_bundle *bundle,\n                                struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpool_bundle_destroy
      Src: /src/curl/lib/conncache.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - freethis
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: cpool_bundle_free_entry
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - cpool_bundle_destroy
    linkageType: ''
    returnType: void
    signature: void cpool_bundle_free_entry(void *freethis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_init
      Src: /src/curl/lib/conncache.c:139,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cpool
    - idata
    - share
    - size
    argTypes:
    - struct cpool*
    - struct Curl_easy*
    - struct Curl_share*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: Curl_cpool_init
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - Curl_hash_init
    linkageType: ''
    returnType: void
    signature: "void Curl_cpool_init(struct cpool *cpool,\n                     struct
      Curl_easy *idata,\n                     struct Curl_share *share,\n                     size_t
      size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_start_iterate
      Src: /src/curl/lib/conncache.c:157,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/conncache.c:158,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/conncache.c:159,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/conncache.c:161,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/conncache.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cpool
    argTypes:
    - struct cpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 166
    functionName: cpool_get_first
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_node_elem
    - Curl_hash_next_element
    - Curl_hash_start_iterate
    - Curl_llist_head
    linkageType: ''
    returnType: struct connectdata
    signature: struct connectdata *cpool_get_first(struct cpool *cpool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/conncache.c:172,1
    - Dst: strlen
      Src: /src/curl/lib/conncache.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpool
    - conn
    argTypes:
    - struct cpool*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: cpool_find_bundle
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - strlen
    - Curl_hash_pick
    linkageType: ''
    returnType: struct cpool_bundle
    signature: "struct cpool_bundle *cpool_find_bundle(struct cpool *cpool,\n                                              struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_delete
      Src: /src/curl/lib/conncache.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cpool
    - bundle
    argTypes:
    - struct cpool*
    - struct cpool_bundle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: cpool_remove_bundle
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_hash_delete
    linkageType: ''
    returnType: void
    signature: "void cpool_remove_bundle(struct cpool *cpool,\n                                struct
      cpool_bundle *bundle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_node_llist
      Src: /src/curl/lib/conncache.c:189,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:190,1
    - Dst: cpool_find_bundle
      Src: /src/curl/lib/conncache.c:193,1
    - Dst: cpool_bundle_remove
      Src: /src/curl/lib/conncache.c:195,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/conncache.c:196,1
    - Dst: cpool_remove_bundle
      Src: /src/curl/lib/conncache.c:197,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - cpool
    - conn
    argTypes:
    - struct cpool*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 206
    functionName: cpool_remove_conn
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - cpool_find_bundle
    - cpool_remove_bundle
    - cpool_bundle_remove
    - Curl_node_llist
    - Curl_llist_count
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void cpool_remove_conn(struct cpool *cpool,\n                              struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGPIPE_VARIABLE
      Src: /src/curl/lib/conncache.c:212,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/conncache.c:214,1
    - Dst: sigpipe_init
      Src: /src/curl/lib/conncache.c:217,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:218,1
    - Dst: cpool_get_first
      Src: /src/curl/lib/conncache.c:219,1
    - Dst: cpool_remove_conn
      Src: /src/curl/lib/conncache.c:221,1
    - Dst: sigpipe_apply
      Src: /src/curl/lib/conncache.c:222,1
    - Dst: connclose
      Src: /src/curl/lib/conncache.c:223,1
    - Dst: cpool_discard_conn
      Src: /src/curl/lib/conncache.c:224,1
    - Dst: cpool_get_first
      Src: /src/curl/lib/conncache.c:225,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:227,1
    - Dst: sigpipe_restore
      Src: /src/curl/lib/conncache.c:228,1
    - Dst: Curl_hash_destroy
      Src: /src/curl/lib/conncache.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - cpool
    argTypes:
    - struct cpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 6
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: Curl_cpool_destroy
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 3
    functionsReached:
    - CPOOL_LOCK
    - sigpipe_restore
    - cpool_remove_conn
    - CURL_TRC_M
    - Curl_hash_destroy
    - CPOOL_UNLOCK
    - connclose
    - sigpipe_apply
    - sigpipe_init
    - SIGPIPE_VARIABLE
    - cpool_get_first
    - cpool_discard_conn
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_destroy(struct cpool *cpool)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SHARE_KEEP_CONNECT
      Src: /src/curl/lib/conncache.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: cpool_get_instance
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - CURL_SHARE_KEEP_CONNECT
    linkageType: ''
    returnType: struct cpool
    signature: struct cpool *cpool_get_instance(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:248,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:250,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:252,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: Curl_cpool_xfer_init
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - DEBUGASSERT
    - cpool_get_instance
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_xfer_init(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cpool_bundle_create
      Src: /src/curl/lib/conncache.c:273,1
    - Dst: Curl_hash_add
      Src: /src/curl/lib/conncache.c:277,1
    - Dst: cpool_bundle_destroy
      Src: /src/curl/lib/conncache.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cpool
    - conn
    argTypes:
    - struct cpool*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: cpool_add_bundle
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - cpool_bundle_destroy
    - Curl_hash_add
    - cpool_bundle_create
    linkageType: ''
    returnType: struct cpool_bundle
    signature: 'struct cpool_bundle *

      cpool_add_bundle(struct cpool *cpool, struct connectdata *conn)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/conncache.c:295,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/conncache.c:296,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/conncache.c:298,1
    - Dst: CONN_INUSE
      Src: /src/curl/lib/conncache.c:300,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/conncache.c:302,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/conncache.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - bundle
    argTypes:
    - struct cpool_bundle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 312
    functionName: cpool_bundle_get_oldest_idle
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_node_elem
    - curlx_now
    - curlx_timediff
    - CONN_INUSE
    - Curl_node_next
    - Curl_llist_head
    linkageType: ''
    returnType: struct connectdata
    signature: 'struct connectdata *

      cpool_bundle_get_oldest_idle(struct cpool_bundle *bundle)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/conncache.c:325,1
    - Dst: Curl_hash_start_iterate
      Src: /src/curl/lib/conncache.c:326,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/conncache.c:328,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/conncache.c:329,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/conncache.c:333,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/conncache.c:334,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/conncache.c:335,1
    - Dst: CONN_INUSE
      Src: /src/curl/lib/conncache.c:336,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/conncache.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - cpool
    argTypes:
    - struct cpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 347
    functionName: cpool_get_oldest_idle
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_hash_next_element
    - Curl_node_elem
    - curlx_now
    - Curl_hash_start_iterate
    - curlx_timediff
    - CONN_INUSE
    - Curl_node_next
    - Curl_llist_head
    linkageType: ''
    returnType: struct connectdata
    signature: struct connectdata *cpool_get_oldest_idle(struct cpool *cpool)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:353,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:371,1
    - Dst: cpool_find_bundle
      Src: /src/curl/lib/conncache.c:375,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/conncache.c:376,1
    - Dst: Curl_cshutdn_dest_count
      Src: /src/curl/lib/conncache.c:377,1
    - Dst: Curl_cshutdn_close_oldest
      Src: /src/curl/lib/conncache.c:381,1
    - Dst: cpool_bundle_get_oldest_idle
      Src: /src/curl/lib/conncache.c:390,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/conncache.c:394,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/conncache.c:397,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/conncache.c:398,1
    - Dst: cpool_find_bundle
      Src: /src/curl/lib/conncache.c:401,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/conncache.c:402,1
    - Dst: Curl_cshutdn_dest_count
      Src: /src/curl/lib/conncache.c:404,1
    - Dst: Curl_cshutdn_count
      Src: /src/curl/lib/conncache.c:413,1
    - Dst: Curl_cshutdn_close_oldest
      Src: /src/curl/lib/conncache.c:417,1
    - Dst: cpool_get_oldest_idle
      Src: /src/curl/lib/conncache.c:421,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/conncache.c:425,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/conncache.c:429,1
    - Dst: Curl_cshutdn_count
      Src: /src/curl/lib/conncache.c:431,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:440,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 350
    functionDepth: 9
    functionLinenumber: 350
    functionLinenumberEnd: 442
    functionName: Curl_cpool_check_limits
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - Curl_conn_terminate
    - cpool_bundle_get_oldest_idle
    - Curl_cshutdn_close_oldest
    - CURL_TRC_M
    - Curl_cshutdn_count
    - cpool_get_instance
    - CPOOL_UNLOCK
    - cpool_get_oldest_idle
    - cpool_find_bundle
    - Curl_llist_count
    - Curl_cshutdn_dest_count
    linkageType: ''
    returnType: int
    signature: "int Curl_cpool_check_limits(struct Curl_easy *data,\n                            struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:449,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:450,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:452,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:456,1
    - Dst: cpool_find_bundle
      Src: /src/curl/lib/conncache.c:457,1
    - Dst: cpool_add_bundle
      Src: /src/curl/lib/conncache.c:459,1
    - Dst: cpool_bundle_add
      Src: /src/curl/lib/conncache.c:466,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/conncache.c:469,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 444
    functionDepth: 5
    functionLinenumber: 444
    functionLinenumberEnd: 476
    functionName: Curl_cpool_add
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - cpool_add_bundle
    - CURL_TRC_M
    - cpool_get_instance
    - CPOOL_UNLOCK
    - cpool_find_bundle
    - cpool_bundle_add
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cpool_add(struct Curl_easy *data,\n                        struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_start_iterate
      Src: /src/curl/lib/conncache.c:502,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/conncache.c:504,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/conncache.c:508,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/conncache.c:510,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/conncache.c:514,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/conncache.c:515,1
    - Dst: func
      Src: /src/curl/lib/conncache.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - data
    - cpool
    - param
    argTypes:
    - struct Curl_easy*
    - struct cpool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 523
    functionName: cpool_foreach
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_hash_next_element
    - func
    - Curl_node_elem
    - Curl_hash_start_iterate
    - Curl_node_next
    - Curl_llist_head
    linkageType: ''
    returnType: bool
    signature: "bool cpool_foreach(struct Curl_easy *data,\n                          struct
      cpool *cpool,\n                          void *param,\n                          int
      (*func)(struct Curl_easy *data,\n                                      struct
      connectdata *conn, void *param))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_xfers_running
      Src: /src/curl/lib/conncache.c:535,1
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:537,1
    - Dst: curlx_now
      Src: /src/curl/lib/conncache.c:540,1
    - Dst: CPOOL_IS_LOCKED
      Src: /src/curl/lib/conncache.c:543,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:545,1
    - Dst: infof
      Src: /src/curl/lib/conncache.c:547,1
    - Dst: cpool_get_oldest_idle
      Src: /src/curl/lib/conncache.c:550,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/conncache.c:553,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 561
    functionName: Curl_cpool_conn_now_idle
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - CPOOL_LOCK
    - Curl_conn_terminate
    - Curl_multi_xfers_running
    - curlx_now
    - cpool_get_instance
    - CPOOL_IS_LOCKED
    - CPOOL_UNLOCK
    - cpool_get_oldest_idle
    - infof
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cpool_conn_now_idle(struct Curl_easy *data,\n                              struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:569,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:573,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:574,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:578,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/conncache.c:579,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/conncache.c:580,1
    - Dst: strlen
      Src: /src/curl/lib/conncache.c:581,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/conncache.c:583,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/conncache.c:585,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/conncache.c:587,1
    - Dst: conn_cb
      Src: /src/curl/lib/conncache.c:589,1
    - Dst: done_cb
      Src: /src/curl/lib/conncache.c:597,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - data
    - destination
    - conn_cb
    - done_cb
    - userdata
    argTypes:
    - struct Curl_easy*
    - char*
    - Curl_cpool_conn_match_cb*
    - Curl_cpool_done_match_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 601
    functionName: Curl_cpool_find
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - conn_cb
    - strlen
    - done_cb
    - Curl_node_elem
    - cpool_get_instance
    - CURL_UNCONST
    - CPOOL_UNLOCK
    - Curl_node_next
    - DEBUGASSERT
    - Curl_hash_pick
    - Curl_llist_head
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cpool_find(struct Curl_easy *data,\n                     const
      char *destination,\n                     Curl_cpool_conn_match_cb *conn_cb,\n
      \                    Curl_cpool_done_match_cb *done_cb,\n                     void
      *userdata)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:610,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:611,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:612,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:613,1
    - Dst: CONN_INUSE
      Src: /src/curl/lib/conncache.c:619,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/conncache.c:620,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/conncache.c:622,1
    - Dst: Curl_cshutdn_run_once
      Src: /src/curl/lib/conncache.c:641,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/curl/lib/conncache.c:645,1
    - Dst: Curl_cshutdn_add
      Src: /src/curl/lib/conncache.c:647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - cpool
    - data
    - conn
    - aborted
    argTypes:
    - struct cpool*
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 603
    functionDepth: 9
    functionLinenumber: 603
    functionLinenumberEnd: 648
    functionName: cpool_discard_conn
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CONN_ATTACHED
    - Curl_cshutdn_add
    - CURL_TRC_M
    - Curl_cshutdn_run_once
    - CONN_INUSE
    - Curl_cshutdn_terminate
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void cpool_discard_conn(struct cpool *cpool,\n                               struct
      Curl_easy *data,\n                               struct connectdata *conn,\n
      \                              bool aborted)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:654,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:657,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:658,1
    - Dst: CONN_INUSE
      Src: /src/curl/lib/conncache.c:664,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:665,1
    - Dst: DEBUGF
      Src: /src/curl/lib/conncache.c:666,1
    - Dst: infof
      Src: /src/curl/lib/conncache.c:666,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/conncache.c:666,1
    - Dst: CPOOL_IS_LOCKED
      Src: /src/curl/lib/conncache.c:672,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:674,1
    - Dst: cpool_remove_conn
      Src: /src/curl/lib/conncache.c:677,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/conncache.c:678,1
    - Dst: infof
      Src: /src/curl/lib/conncache.c:688,1
    - Dst: cpool_discard_conn
      Src: /src/curl/lib/conncache.c:690,1
    - Dst: infof
      Src: /src/curl/lib/conncache.c:694,1
    - Dst: Curl_cshutdn_terminate
      Src: /src/curl/lib/conncache.c:695,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:699,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - data
    - conn
    - aborted
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 650
    functionDepth: 10
    functionLinenumber: 650
    functionLinenumberEnd: 700
    functionName: Curl_conn_terminate
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 8
    functionsReached:
    - CPOOL_LOCK
    - cpool_remove_conn
    - CONN_ATTACHED
    - DEBUGF
    - cpool_get_instance
    - CPOOL_IS_LOCKED
    - CPOOL_UNLOCK
    - CONN_INUSE
    - Curl_cshutdn_terminate
    - infof
    - DEBUGASSERT
    - cpool_discard_conn
    linkageType: ''
    returnType: void
    signature: "void Curl_conn_terminate(struct Curl_easy *data,\n                         struct
      connectdata *conn,\n                         bool aborted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/curl/lib/conncache.c:711,1
    - Dst: Curl_conn_seems_dead
      Src: /src/curl/lib/conncache.c:712,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/conncache.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 707
    functionDepth: 11
    functionLinenumber: 707
    functionLinenumberEnd: 718
    functionName: cpool_reap_dead_cb
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_conn_terminate
    - CONN_INUSE
    - Curl_conn_seems_dead
    linkageType: ''
    returnType: int
    signature: "int cpool_reap_dead_cb(struct Curl_easy *data,\n                              struct
      connectdata *conn, void *param)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:729,1
    - Dst: curlx_now
      Src: /src/curl/lib/conncache.c:736,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:737,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/conncache.c:738,1
    - Dst: cpool_foreach
      Src: /src/curl/lib/conncache.c:741,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 746
    functionName: Curl_cpool_prune_dead
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - curlx_now
    - cpool_get_instance
    - cpool_foreach
    - CPOOL_UNLOCK
    - curlx_timediff
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_prune_dead(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_upkeep
      Src: /src/curl/lib/conncache.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 755
    functionName: conn_upkeep
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - Curl_conn_upkeep
    linkageType: ''
    returnType: int
    signature: "int conn_upkeep(struct Curl_easy *data,\n                       struct
      connectdata *conn,\n                       void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:759,1
    - Dst: curlx_now
      Src: /src/curl/lib/conncache.c:760,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:765,1
    - Dst: cpool_foreach
      Src: /src/curl/lib/conncache.c:766,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 769
    functionName: Curl_cpool_upkeep
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - curlx_now
    - cpool_get_instance
    - cpool_foreach
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cpool_upkeep(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 786
    functionName: cpool_find_conn
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cpool_find_conn(struct Curl_easy *data,\n                           struct
      connectdata *conn, void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:791,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:798,1
    - Dst: cpool_foreach
      Src: /src/curl/lib/conncache.c:799,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - conn_id
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 802
    functionName: Curl_cpool_get_conn
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - CPOOL_LOCK
    - cpool_get_instance
    - cpool_foreach
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: struct connectdata
    signature: "struct connectdata *Curl_cpool_get_conn(struct Curl_easy *data,\n
      \                                       curl_off_t conn_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct cpool_do_conn_ctx*::cb
      Src: /src/curl/lib/conncache.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 820
    functionName: cpool_do_conn
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - struct cpool_do_conn_ctx*::cb
    linkageType: ''
    returnType: int
    signature: "int cpool_do_conn(struct Curl_easy *data,\n                         struct
      connectdata *conn, void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:825,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:833,1
    - Dst: cpool_foreach
      Src: /src/curl/lib/conncache.c:834,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - conn_id
    - cb
    - cbdata
    argTypes:
    - struct Curl_easy*
    - curl_off_t
    - Curl_cpool_conn_do_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 822
    functionDepth: 3
    functionLinenumber: 822
    functionLinenumberEnd: 836
    functionName: Curl_cpool_do_by_id
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - cpool_get_instance
    - cpool_foreach
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void Curl_cpool_do_by_id(struct Curl_easy *data, curl_off_t conn_id,\n
      \                        Curl_cpool_conn_do_cb *cb, void *cbdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:842,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:844,1
    - Dst: cb
      Src: /src/curl/lib/conncache.c:845,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:846,1
    - Dst: cb
      Src: /src/curl/lib/conncache.c:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - conn
    - cb
    - cbdata
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - Curl_cpool_conn_do_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 850
    functionName: Curl_cpool_do_locked
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - CPOOL_UNLOCK
    - cpool_get_instance
    - cb
    linkageType: ''
    returnType: void
    signature: "void Curl_cpool_do_locked(struct Curl_easy *data,\n                          struct
      connectdata *conn,\n                          Curl_cpool_conn_do_cb *cb, void
      *cbdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 859
    functionName: cpool_mark_stale
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cpool_mark_stale(struct Curl_easy *data,\n                            struct
      connectdata *conn, void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONN_INUSE
      Src: /src/curl/lib/conncache.c:866,1
    - Dst: Curl_conn_terminate
      Src: /src/curl/lib/conncache.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - data
    - conn
    - param
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 861
    functionDepth: 11
    functionLinenumber: 861
    functionLinenumberEnd: 871
    functionName: cpool_reap_no_reuse
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_conn_terminate
    - CONN_INUSE
    linkageType: ''
    returnType: int
    signature: "int cpool_reap_no_reuse(struct Curl_easy *data,\n                               struct
      connectdata *conn, void *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpool_get_instance
      Src: /src/curl/lib/conncache.c:875,1
    - Dst: CPOOL_LOCK
      Src: /src/curl/lib/conncache.c:878,1
    - Dst: cpool_foreach
      Src: /src/curl/lib/conncache.c:879,1
    - Dst: cpool_foreach
      Src: /src/curl/lib/conncache.c:880,1
    - Dst: CPOOL_UNLOCK
      Src: /src/curl/lib/conncache.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 873
    functionDepth: 3
    functionLinenumber: 873
    functionLinenumberEnd: 884
    functionName: Curl_cpool_nw_changed
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 1
    functionsReached:
    - CPOOL_LOCK
    - cpool_get_instance
    - cpool_foreach
    - CPOOL_UNLOCK
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_nw_changed(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/conncache.c:897,1
    - Dst: Curl_hash_start_iterate
      Src: /src/curl/lib/conncache.c:899,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/conncache.c:901,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/conncache.c:908,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/conncache.c:909,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/conncache.c:911,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/conncache.c:913,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/conncache.c:914,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/conncache.c:916,1
    - Dst: Curl_hash_next_element
      Src: /src/curl/lib/conncache.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - cpool
    argTypes:
    - struct cpool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 888
    functionDepth: 5
    functionLinenumber: 888
    functionLinenumberEnd: 920
    functionName: Curl_cpool_print
    functionSourceFile: /src/curl/lib/conncache.c
    functionUses: 0
    functionsReached:
    - Curl_hash_next_element
    - curl_mfprintf
    - Curl_node_elem
    - Curl_hash_start_iterate
    - Curl_node_next
    - Curl_llist_head
    linkageType: ''
    returnType: void
    signature: void Curl_cpool_print(struct cpool *cpool)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - now
    - co
    argTypes:
    - time_t
    - struct Cookie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: cap_expires
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cap_expires(time_t now, struct Cookie *co)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/cookie.c:120,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:121,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:122,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:123,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:124,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - co
    argTypes:
    - struct Cookie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: freecookie
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freecookie(struct Cookie *co)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:132,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/cookie.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - cookie_domain
    - cookie_domain_len
    - hostname
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 155
    functionName: cookie_tailmatch
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: "bool cookie_tailmatch(const char *cookie_domain,\n                             size_t
      cookie_domain_len,\n                             const char *hostname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:168,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:175,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:188,1
    - Dst: strncmp
      Src: /src/curl/lib/cookie.c:194,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - cookie_path
    - uri_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 211
    functionName: pathmatch
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool pathmatch(const char *cookie_path, const char *uri_path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:222,1
    - Dst: memrchr
      Src: /src/curl/lib/cookie.c:223,1
    - Dst: memrchr
      Src: /src/curl/lib/cookie.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - domain
    - outlen
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: get_top_domain
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - memrchr
    - strlen
    linkageType: ''
    returnType: char
    signature: char *get_top_domain(const char * const domain, size_t *outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/cookie.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - domain
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: cookie_hash_domain
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: size_t
    signature: size_t cookie_hash_domain(const char *domain, const size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_host_is_ipnum
      Src: /src/curl/lib/cookie.c:271,1
    - Dst: get_top_domain
      Src: /src/curl/lib/cookie.c:274,1
    - Dst: cookie_hash_domain
      Src: /src/curl/lib/cookie.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: cookiehash
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - Curl_host_is_ipnum
    - cookie_hash_domain
    - get_top_domain
    linkageType: ''
    returnType: size_t
    signature: size_t cookiehash(const char * const domain)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:283,1
    - Dst: strdup
      Src: /src/curl/lib/cookie.c:296,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cookie.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - cookie_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 304
    functionName: sanitize_cookie_path
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - Curl_memdup0
    - strlen
    - strdup
    linkageType: ''
    returnType: char
    signature: char *sanitize_cookie_path(const char *cookie_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/curl/lib/cookie.c:315,1
    - Dst: Curl_cookie_init
      Src: /src/curl/lib/cookie.c:318,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:325,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/cookie.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: Curl_cookie_loadfiles
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 2
    functionsReached:
    - infof
    - Curl_share_lock
    - Curl_cookie_init
    - Curl_share_unlock
    linkageType: ''
    returnType: void
    signature: void Curl_cookie_loadfiles(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cookie.c:345,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:346,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cookie.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - str
    - newstr
    - len
    argTypes:
    - char**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: strstore
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_memdup0
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void strstore(char **str, const char *newstr, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/curl/lib/cookie.c:366,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cookie.c:387,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cookie.c:388,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cookie.c:389,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/cookie.c:392,1
    - Dst: freecookie
      Src: /src/curl/lib/cookie.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ci
    argTypes:
    - struct CookieInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 405
    functionName: remove_expired
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - freecookie
    - Curl_llist_head
    - Curl_node_elem
    - Curl_node_next
    - Curl_node_remove
    - time
    linkageType: ''
    returnType: void
    signature: void remove_expired(struct CookieInfo *ci)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/cookie.c:411,1
    - Dst: memchr
      Src: /src/curl/lib/cookie.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - domain
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: bad_domain
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - memchr
    linkageType: ''
    returnType: bool
    signature: bool bad_domain(const char *domain, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: invalid_octets
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invalid_octets(const char *ptr)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:488,1
    - Dst: time
      Src: /src/curl/lib/cookie.c:493,1
    - Dst: curlx_str_cspn
      Src: /src/curl/lib/cookie.c:499,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/cookie.c:502,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/cookie.c:504,1
    - Dst: curlx_str_cspn
      Src: /src/curl/lib/cookie.c:506,1
    - Dst: curlx_str_trimblanks
      Src: /src/curl/lib/cookie.c:507,1
    - Dst: memchr
      Src: /src/curl/lib/cookie.c:510,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:510,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:510,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:511,1
    - Dst: curlx_str_init
      Src: /src/curl/lib/cookie.c:517,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:525,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:526,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:527,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:527,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:528,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:529,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:529,1
    - Dst: strncmp
      Src: /src/curl/lib/cookie.c:539,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:539,1
    - Dst: strncmp
      Src: /src/curl/lib/cookie.c:541,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:541,1
    - Dst: strstore
      Src: /src/curl/lib/cookie.c:556,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:556,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:556,1
    - Dst: strstore
      Src: /src/curl/lib/cookie.c:557,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:557,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:557,1
    - Dst: invalid_octets
      Src: /src/curl/lib/cookie.c:562,1
    - Dst: invalid_octets
      Src: /src/curl/lib/cookie.c:562,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:563,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:567,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/cookie.c:578,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/cookie.c:586,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/cookie.c:594,1
    - Dst: strstore
      Src: /src/curl/lib/cookie.c:595,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:595,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:595,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:598,1
    - Dst: sanitize_cookie_path
      Src: /src/curl/lib/cookie.c:599,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/cookie.c:603,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:603,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:605,1
    - Dst: curlx_str_nudge
      Src: /src/curl/lib/cookie.c:612,1
    - Dst: bad_domain
      Src: /src/curl/lib/cookie.c:620,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:620,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:620,1
    - Dst: Curl_host_is_ipnum
      Src: /src/curl/lib/cookie.c:624,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:624,1
    - Dst: strncmp
      Src: /src/curl/lib/cookie.c:627,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:627,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:628,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:629,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:629,1
    - Dst: cookie_tailmatch
      Src: /src/curl/lib/cookie.c:630,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:630,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:631,1
    - Dst: strstore
      Src: /src/curl/lib/cookie.c:632,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:632,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:632,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:645,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:646,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/cookie.c:650,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/cookie.c:653,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:653,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:664,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/cookie.c:667,1
    - Dst: cap_expires
      Src: /src/curl/lib/cookie.c:687,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/cookie.c:689,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:689,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:690,1
    - Dst: memcpy
      Src: /src/curl/lib/cookie.c:699,1
    - Dst: curlx_str
      Src: /src/curl/lib/cookie.c:699,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:699,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/cookie.c:700,1
    - Dst: Curl_getdate_capped
      Src: /src/curl/lib/cookie.c:701,1
    - Dst: cap_expires
      Src: /src/curl/lib/cookie.c:708,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/cookie.c:717,1
    - Dst: strdup
      Src: /src/curl/lib/cookie.c:723,1
    - Dst: strrchr
      Src: /src/curl/lib/cookie.c:732,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cookie.c:735,1
    - Dst: sanitize_cookie_path
      Src: /src/curl/lib/cookie.c:737,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 142
    argCount: 7
    argNames:
    - data
    - co
    - ci
    - ptr
    - domain
    - path
    - secure
    argTypes:
    - struct Curl_easy*
    - struct Cookie*
    - struct CookieInfo*
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 755
    functionName: parse_cookie_header
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - curlx_str_nudge
    - strrchr
    - curlx_str_single
    - Curl_getdate_capped
    - invalid_octets
    - curlx_str_casecompare
    - strdup
    - curlx_strlen
    - curlx_str_number
    - curlx_str_cspn
    - sanitize_cookie_path
    - strncmp
    - curlx_str_init
    - Curl_host_is_ipnum
    - strlen
    - cookie_tailmatch
    - free
    - memcpy
    - Curl_memdup0
    - curlx_str
    - time
    - curlx_str_trimblanks
    - strstore
    - cap_expires
    - memchr
    - infof
    - bad_domain
    linkageType: ''
    returnType: int
    signature: "int parse_cookie_header(struct Curl_easy *data,\n                    struct
      Cookie *co,\n                    struct CookieInfo *ci,\n                    const
      char *ptr,\n                    const char *domain, /* default domain */\n                    const
      char *path,   /* full path used when this cookie is\n                                           set,
      used to get default path for\n                                           the
      cookie unless set */\n                    bool secure)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/curl/lib/cookie.c:778,1
    - Dst: strcspn
      Src: /src/curl/lib/cookie.c:794,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cookie.c:802,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/cookie.c:812,1
    - Dst: strncmp
      Src: /src/curl/lib/cookie.c:816,1
    - Dst: strncmp
      Src: /src/curl/lib/cookie.c:816,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cookie.c:818,1
    - Dst: sanitize_cookie_path
      Src: /src/curl/lib/cookie.c:822,1
    - Dst: strdup
      Src: /src/curl/lib/cookie.c:829,1
    - Dst: strdup
      Src: /src/curl/lib/cookie.c:832,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cookie.c:836,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/cookie.c:839,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/cookie.c:847,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cookie.c:851,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/cookie.c:856,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/cookie.c:858,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/cookie.c:863,1
    - Dst: strdup
      Src: /src/curl/lib/cookie.c:871,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 82
    argCount: 4
    argNames:
    - co
    - ci
    - lineptr
    - secure
    argTypes:
    - struct Cookie*
    - struct CookieInfo*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 883
    functionName: parse_netscape
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - curl_strnequal
    - strdup
    - curlx_str_number
    - strcspn
    - sanitize_cookie_path
    - Curl_memdup0
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int parse_netscape(struct Cookie *co,\n               struct CookieInfo
      *ci,\n               const char *lineptr,\n               bool secure)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGF
      Src: /src/curl/lib/cookie.c:896,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:896,1
    - Dst: Curl_host_is_ipnum
      Src: /src/curl/lib/cookie.c:898,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:902,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:903,1
    - Dst: Curl_psl_use
      Src: /src/curl/lib/cookie.c:905,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/cookie.c:908,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/cookie.c:909,1
    - Dst: psl_is_cookie_domain_acceptable
      Src: /src/curl/lib/cookie.c:910,1
    - Dst: Curl_psl_release
      Src: /src/curl/lib/cookie.c:911,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:914,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:918,1
    - Dst: DEBUGF
      Src: /src/curl/lib/cookie.c:927,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:927,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - data
    - co
    - domain
    argTypes:
    - struct Curl_easy*
    - struct Cookie*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 931
    functionName: is_public_suffix
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - Curl_host_is_ipnum
    - strlen
    - psl_is_cookie_domain_acceptable
    - DEBUGF
    - Curl_psl_release
    - Curl_strntolower
    - Curl_psl_use
    - infof
    linkageType: ''
    returnType: int
    signature: "int is_public_suffix(struct Curl_easy *data,\n                 struct
      Cookie *co,\n                 const char *domain)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cookiehash
      Src: /src/curl/lib/cookie.c:943,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cookie.c:944,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cookie.c:944,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cookie.c:945,1
    - Dst: strcmp
      Src: /src/curl/lib/cookie.c:946,1
    - Dst: curl_strequal
      Src: /src/curl/lib/cookie.c:951,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cookie.c:971,1
    - Dst: strchr
      Src: /src/curl/lib/cookie.c:973,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:977,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/cookie.c:979,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:980,1
    - Dst: strcmp
      Src: /src/curl/lib/cookie.c:987,1
    - Dst: curl_strequal
      Src: /src/curl/lib/cookie.c:991,1
    - Dst: curl_strequal
      Src: /src/curl/lib/cookie.c:1003,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cookie.c:1023,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/cookie.c:1029,1
    - Dst: freecookie
      Src: /src/curl/lib/cookie.c:1032,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 49
    argCount: 5
    argNames:
    - data
    - co
    - ci
    - secure
    - replacep
    argTypes:
    - struct Curl_easy*
    - struct Cookie*
    - struct CookieInfo*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 933
    functionDepth: 4
    functionLinenumber: 933
    functionLinenumberEnd: 1036
    functionName: replace_existing
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_strnequal
    - freecookie
    - curl_strequal
    - Curl_node_elem
    - strchr
    - strcmp
    - Curl_node_remove
    - Curl_node_next
    - infof
    - cookiehash
    - Curl_llist_head
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int replace_existing(struct Curl_easy *data,\n                 struct
      Cookie *co,\n                 struct CookieInfo *ci,\n                 bool
      secure,\n                 bool *replacep)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cookie.c:1065,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cookie.c:1066,1
    - Dst: calloc
      Src: /src/curl/lib/cookie.c:1071,1
    - Dst: parse_cookie_header
      Src: /src/curl/lib/cookie.c:1076,1
    - Dst: parse_netscape
      Src: /src/curl/lib/cookie.c:1078,1
    - Dst: strcmp
      Src: /src/curl/lib/cookie.c:1092,1
    - Dst: remove_expired
      Src: /src/curl/lib/cookie.c:1114,1
    - Dst: is_public_suffix
      Src: /src/curl/lib/cookie.c:1116,1
    - Dst: replace_existing
      Src: /src/curl/lib/cookie.c:1119,1
    - Dst: cookiehash
      Src: /src/curl/lib/cookie.c:1123,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/cookie.c:1124,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:1128,1
    - Dst: freecookie
      Src: /src/curl/lib/cookie.c:1145,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 49
    argCount: 8
    argNames:
    - data
    - ci
    - httpheader
    - noexpire
    - lineptr
    - domain
    - path
    - secure
    argTypes:
    - struct Curl_easy*
    - struct CookieInfo*
    - bool
    - bool
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1048
    functionDepth: 6
    functionLinenumber: 1048
    functionLinenumberEnd: 1147
    functionName: Curl_cookie_add
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 2
    functionsReached:
    - is_public_suffix
    - cookiehash
    - calloc
    - parse_cookie_header
    - freecookie
    - replace_existing
    - remove_expired
    - strcmp
    - Curl_llist_append
    - infof
    - DEBUGASSERT
    - parse_netscape
    linkageType: ''
    returnType: struct Cookie
    signature: "struct Cookie *\nCurl_cookie_add(struct Curl_easy *data,\n                struct
      CookieInfo *ci,\n                bool httpheader, /* TRUE if HTTP header-style
      line */\n                bool noexpire, /* if TRUE, skip remove_expired() */\n
      \               const char *lineptr,   /* first character of the line */\n                const
      char *domain, /* default domain */\n                const char *path,   /* full
      path used when this cookie is set,\n                                       used
      to get default path for the cookie\n                                       unless
      set */\n                bool secure)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/cookie.c:1175,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/cookie.c:1182,1
    - Dst: strcmp
      Src: /src/curl/lib/cookie.c:1194,1
    - Dst: curlx_fopen
      Src: /src/curl/lib/cookie.c:1197,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:1199,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/cookie.c:1208,1
    - Dst: Curl_get_line
      Src: /src/curl/lib/cookie.c:1209,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/cookie.c:1210,1
    - Dst: checkprefix
      Src: /src/curl/lib/cookie.c:1212,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/cookie.c:1216,1
    - Dst: Curl_cookie_add
      Src: /src/curl/lib/cookie.c:1219,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/cookie.c:1221,1
    - Dst: remove_expired
      Src: /src/curl/lib/cookie.c:1227,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/cookie.c:1230,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - data
    - file
    - ci
    - newsession
    argTypes:
    - struct Curl_easy*
    - char*
    - struct CookieInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1164
    functionDepth: 7
    functionLinenumber: 1164
    functionLinenumberEnd: 1237
    functionName: Curl_cookie_init
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 5
    functionsReached:
    - calloc
    - curlx_str_passblanks
    - curlx_fopen
    - Curl_llist_init
    - curlx_dyn_free
    - strcmp
    - curlx_dyn_init
    - checkprefix
    - curlx_dyn_ptr
    - infof
    - remove_expired
    - Curl_get_line
    - Curl_cookie_add
    - curlx_fclose
    linkageType: ''
    returnType: struct CookieInfo
    signature: "struct CookieInfo *Curl_cookie_init(struct Curl_easy *data,\n                                    const
      char *file,\n                                    struct CookieInfo *ci,\n                                    bool
      newsession)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:1254,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:1255,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:1261,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:1262,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:1268,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:1269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1276
    functionName: cookie_sort
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int cookie_sort(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1289
    functionName: cookie_sort_ct
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cookie_sort_ct(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/cookie.c:1294,1
    - Dst: strcmp
      Src: /src/curl/lib/cookie.c:1295,1
    - Dst: strcmp
      Src: /src/curl/lib/cookie.c:1296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - host
    argTypes:
    - struct connectdata*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1297
    functionName: Curl_secure_context
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - strcmp
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: bool Curl_secure_context(struct connectdata *conn, const char *host)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_host_is_ipnum
      Src: /src/curl/lib/cookie.c:1316,1
    - Dst: cookiehash
      Src: /src/curl/lib/cookie.c:1317,1
    - Dst: Curl_secure_context
      Src: /src/curl/lib/cookie.c:1319,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/cookie.c:1323,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/cookie.c:1325,1
    - Dst: remove_expired
      Src: /src/curl/lib/cookie.c:1329,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cookie.c:1331,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cookie.c:1332,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cookie.c:1333,1
    - Dst: cookie_tailmatch
      Src: /src/curl/lib/cookie.c:1341,1
    - Dst: strlen
      Src: /src/curl/lib/cookie.c:1341,1
    - Dst: curl_strequal
      Src: /src/curl/lib/cookie.c:1342,1
    - Dst: pathmatch
      Src: /src/curl/lib/cookie.c:1352,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/cookie.c:1357,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:1360,1
    - Dst: malloc
      Src: /src/curl/lib/cookie.c:1379,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cookie.c:1383,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cookie.c:1385,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cookie.c:1386,1
    - Dst: qsort
      Src: /src/curl/lib/cookie.c:1389,1
    - Dst: Curl_llist_destroy
      Src: /src/curl/lib/cookie.c:1392,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/cookie.c:1395,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:1397,1
    - Dst: Curl_llist_destroy
      Src: /src/curl/lib/cookie.c:1404,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 4
    argNames:
    - data
    - conn
    - host
    - list
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - struct Curl_llist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1310
    functionDepth: 5
    functionLinenumber: 1310
    functionLinenumberEnd: 1406
    functionName: Curl_cookie_getlist
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - Curl_llist_init
    - Curl_llist_destroy
    - cookiehash
    - Curl_node_next
    - curl_strequal
    - qsort
    - Curl_llist_head
    - Curl_host_is_ipnum
    - strlen
    - cookie_tailmatch
    - Curl_node_elem
    - pathmatch
    - free
    - Curl_llist_append
    - Curl_secure_context
    - malloc
    - infof
    - Curl_llist_count
    - remove_expired
    linkageType: ''
    returnType: int
    signature: "int Curl_cookie_getlist(struct Curl_easy *data,\n                        struct
      connectdata *conn,\n                        const char *host,\n                        struct
      Curl_llist *list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cookie.c:1419,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cookie.c:1420,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cookie.c:1421,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/cookie.c:1422,1
    - Dst: freecookie
      Src: /src/curl/lib/cookie.c:1423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ci
    argTypes:
    - struct CookieInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1413
    functionDepth: 4
    functionLinenumber: 1413
    functionLinenumberEnd: 1429
    functionName: Curl_cookie_clearall
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 2
    functionsReached:
    - freecookie
    - Curl_llist_head
    - Curl_node_elem
    - Curl_node_next
    - Curl_node_remove
    linkageType: ''
    returnType: void
    signature: void Curl_cookie_clearall(struct CookieInfo *ci)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cookie.c:1444,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cookie.c:1448,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cookie.c:1449,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/cookie.c:1451,1
    - Dst: freecookie
      Src: /src/curl/lib/cookie.c:1452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ci
    argTypes:
    - struct CookieInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1436
    functionDepth: 4
    functionLinenumber: 1436
    functionLinenumberEnd: 1457
    functionName: Curl_cookie_clearsess
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - freecookie
    - Curl_llist_head
    - Curl_node_elem
    - Curl_node_next
    - Curl_node_remove
    linkageType: ''
    returnType: void
    signature: void Curl_cookie_clearsess(struct CookieInfo *ci)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cookie_clearall
      Src: /src/curl/lib/cookie.c:1467,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:1468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ci
    argTypes:
    - struct CookieInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1464
    functionDepth: 5
    functionLinenumber: 1464
    functionLinenumberEnd: 1470
    functionName: Curl_cookie_cleanup
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 4
    functionsReached:
    - free
    - Curl_cookie_clearall
    linkageType: ''
    returnType: void
    signature: void Curl_cookie_cleanup(struct CookieInfo *ci)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/lib/cookie.c:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - co
    argTypes:
    - struct Cookie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1479
    functionDepth: 6
    functionLinenumber: 1479
    functionLinenumberEnd: 1503
    functionName: get_netscape_format
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - curl_maprintf
    linkageType: ''
    returnType: char
    signature: char *get_netscape_format(const struct Cookie *co)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: remove_expired
      Src: /src/curl/lib/cookie.c:1527,1
    - Dst: strcmp
      Src: /src/curl/lib/cookie.c:1529,1
    - Dst: Curl_fopen
      Src: /src/curl/lib/cookie.c:1535,1
    - Dst: fputs
      Src: /src/curl/lib/cookie.c:1540,1
    - Dst: calloc
      Src: /src/curl/lib/cookie.c:1551,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cookie.c:1559,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cookie.c:1560,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cookie.c:1561,1
    - Dst: qsort
      Src: /src/curl/lib/cookie.c:1568,1
    - Dst: get_netscape_format
      Src: /src/curl/lib/cookie.c:1571,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:1573,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/cookie.c:1577,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:1578,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:1581,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/cookie.c:1585,1
    - Dst: Curl_rename
      Src: /src/curl/lib/cookie.c:1587,1
    - Dst: unlink
      Src: /src/curl/lib/cookie.c:1588,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:1599,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/cookie.c:1604,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:1605,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 3
    argNames:
    - data
    - ci
    - filename
    argTypes:
    - struct Curl_easy*
    - struct CookieInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1513
    functionDepth: 7
    functionLinenumber: 1513
    functionLinenumberEnd: 1607
    functionName: cookie_output
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 0
    functionsReached:
    - curlx_fclose
    - calloc
    - unlink
    - curl_mfprintf
    - Curl_node_elem
    - qsort
    - fputs
    - free
    - strcmp
    - Curl_fopen
    - Curl_rename
    - Curl_node_next
    - remove_expired
    - Curl_llist_head
    - get_netscape_format
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cookie_output(struct Curl_easy *data,\n                              struct
      CookieInfo *ci,\n                              const char *filename)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: remove_expired
      Src: /src/curl/lib/cookie.c:1620,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/cookie.c:1623,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/cookie.c:1624,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/cookie.c:1625,1
    - Dst: get_netscape_format
      Src: /src/curl/lib/cookie.c:1629,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/cookie.c:1631,1
    - Dst: Curl_slist_append_nodup
      Src: /src/curl/lib/cookie.c:1634,1
    - Dst: free
      Src: /src/curl/lib/cookie.c:1636,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/cookie.c:1637,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1609
    functionDepth: 7
    functionLinenumber: 1609
    functionLinenumberEnd: 1645
    functionName: cookie_list
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - Curl_node_elem
    - curl_slist_free_all
    - Curl_slist_append_nodup
    - free
    - Curl_node_next
    - remove_expired
    - Curl_llist_head
    - get_netscape_format
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *cookie_list(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/curl/lib/cookie.c:1650,1
    - Dst: cookie_list
      Src: /src/curl/lib/cookie.c:1651,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/cookie.c:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1647
    functionDepth: 8
    functionLinenumber: 1647
    functionLinenumberEnd: 1654
    functionName: Curl_cookie_list
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 1
    functionsReached:
    - Curl_share_lock
    - Curl_share_unlock
    - cookie_list
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *Curl_cookie_list(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/curl/lib/cookie.c:1660,1
    - Dst: cookie_output
      Src: /src/curl/lib/cookie.c:1667,1
    - Dst: infof
      Src: /src/curl/lib/cookie.c:1669,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/cookie.c:1670,1
    - Dst: Curl_cookie_cleanup
      Src: /src/curl/lib/cookie.c:1674,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/cookie.c:1677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - data
    - cleanup
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1656
    functionDepth: 8
    functionLinenumber: 1656
    functionLinenumberEnd: 1678
    functionName: Curl_flush_cookies
    functionSourceFile: /src/curl/lib/cookie.c
    functionUses: 2
    functionsReached:
    - cookie_output
    - curl_easy_strerror
    - Curl_share_lock
    - Curl_cookie_cleanup
    - Curl_share_unlock
    - infof
    linkageType: ''
    returnType: void
    signature: void Curl_flush_cookies(struct Curl_easy *data, bool cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mprintf
      Src: /src/curl/lib/hostip6.c:65,1
    - Dst: curl_mprintf
      Src: /src/curl/lib/hostip6.c:68,1
    - Dst: Curl_printable_address
      Src: /src/curl/lib/hostip6.c:71,1
    - Dst: curl_mprintf
      Src: /src/curl/lib/hostip6.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: dump_addrinfo
    functionSourceFile: /src/curl/lib/hostip6.c
    functionUses: 0
    functionsReached:
    - curl_mprintf
    - Curl_printable_address
    linkageType: ''
    returnType: void
    signature: void dump_addrinfo(const struct Curl_addrinfo *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: dump_addrinfo
    functionSourceFile: /src/curl/lib/hostip6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dump_addrinfo(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ipv6works
      Src: /src/curl/lib/hostip6.c:103,1
    - Dst: memset
      Src: /src/curl/lib/hostip6.c:107,1
    - Dst: Curl_conn_get_transport
      Src: /src/curl/lib/hostip6.c:110,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/hostip6.c:118,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/hostip6.c:119,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/hostip6.c:126,1
    - Dst: Curl_getaddrinfo_ex
      Src: /src/curl/lib/hostip6.c:130,1
    - Dst: infof
      Src: /src/curl/lib/hostip6.c:132,1
    - Dst: Curl_addrinfo_set_port
      Src: /src/curl/lib/hostip6.c:137,1
    - Dst: dump_addrinfo
      Src: /src/curl/lib/hostip6.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - data
    - hostname
    - port
    - ip_version
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 88
    functionDepth: 6
    functionLinenumber: 88
    functionLinenumberEnd: 143
    functionName: Curl_sync_getaddrinfo
    functionSourceFile: /src/curl/lib/hostip6.c
    functionUses: 1
    functionsReached:
    - dump_addrinfo
    - Curl_getaddrinfo_ex
    - curl_msnprintf
    - curlx_inet_pton
    - Curl_conn_get_transport
    - Curl_ipv6works
    - Curl_addrinfo_set_port
    - memset
    - infof
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_sync_getaddrinfo(struct Curl_easy *data,\n
      \                                           const char *hostname,\n                                            int
      port,\n                                            int ip_version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: SHORTPAIR
    functionSourceFile: /src/curl/lib/curl_ntlm_core.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHORTPAIR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: LONGQUARTET
    functionSourceFile: /src/curl/lib/curl_ntlm_core.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LONGQUARTET(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_thread_stop
      Src: /src/curl/lib/dllmain.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: DllMain
    functionSourceFile: /src/curl/lib/dllmain.c
    functionUses: 0
    functionsReached:
    - OPENSSL_thread_stop
    linkageType: ''
    returnType: BOOL
    signature: BOOL DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/curl/lib/setup-vms.h:91,1
    - Dst: decc$translate_vms
      Src: /src/curl/lib/setup-vms.h:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: vms_translate_path
    functionSourceFile: /src/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached:
    - strpbrk
    - decc$translate_vms
    linkageType: ''
    returnType: char
    signature: char *vms_translate_path(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __path
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: vms_translate_path
    functionSourceFile: /src/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vms_translate_path(__path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decc$getenv
      Src: /src/curl/lib/setup-vms.h:123,1
    - Dst: vms_translate_path
      Src: /src/curl/lib/setup-vms.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - envvar
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 138
    functionName: vms_getenv
    functionSourceFile: /src/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached:
    - decc$getenv
    - vms_translate_path
    linkageType: ''
    returnType: char
    signature: char *vms_getenv(const char *envvar)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decc_getpwuid
      Src: /src/curl/lib/setup-vms.h:158,1
    - Dst: vms_translate_path
      Src: /src/curl/lib/setup-vms.h:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: vms_getpwuid
    functionSourceFile: /src/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached:
    - decc_getpwuid
    - vms_translate_path
    linkageType: ''
    returnType: struct passwd
    signature: struct passwd *vms_getpwuid(uid_t uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - appname
    - flags
    argTypes:
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: CONF_modules_load_file
    functionSourceFile: /src/curl/lib/setup-vms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CONF_modules_load_file(const char *filename,\n                                       const
      char *appname,\n                                       unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-haproxy.c:55,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/cf-haproxy.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_haproxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: cf_haproxy_ctx_reset
    functionSourceFile: /src/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - curlx_dyn_reset
    linkageType: ''
    returnType: void
    signature: void cf_haproxy_ctx_reset(struct cf_haproxy_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/cf-haproxy.c:63,1
    - Dst: free
      Src: /src/curl/lib/cf-haproxy.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_haproxy_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: cf_haproxy_ctx_free
    functionSourceFile: /src/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - free
    linkageType: ''
    returnType: void
    signature: void cf_haproxy_ctx_free(struct cf_haproxy_ctx *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-haproxy.c:114,1
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/curl/lib/cf-haproxy.c:120,1
    - Dst: cf_haproxy_date_out_set
      Src: /src/curl/lib/cf-haproxy.c:126,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-haproxy.c:130,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cf-haproxy.c:132,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/cf-haproxy.c:135,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/cf-haproxy.c:136,1
    - Dst: curlx_dyn_tail
      Src: /src/curl/lib/cf-haproxy.c:144,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cf-haproxy.c:145,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-haproxy.c:151,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/cf-haproxy.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 161
    functionName: cf_haproxy_connect
    functionSourceFile: /src/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - cf_haproxy_date_out_set
    - FALLTHROUGH
    - curlx_dyn_tail
    - struct Curl_cfilter*::next::cft::do_connect
    - curlx_dyn_free
    - Curl_conn_cf_send
    - curlx_dyn_len
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_haproxy_connect(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-haproxy.c:167,1
    - Dst: cf_haproxy_ctx_free
      Src: /src/curl/lib/cf-haproxy.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: cf_haproxy_destroy
    functionSourceFile: /src/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - cf_haproxy_ctx_free
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_haproxy_destroy(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-haproxy.c:174,1
    - Dst: cf_haproxy_ctx_reset
      Src: /src/curl/lib/cf-haproxy.c:176,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/cf-haproxy.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: cf_haproxy_close
    functionSourceFile: /src/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - cf_haproxy_ctx_reset
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: "void cf_haproxy_close(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_set_out_only
      Src: /src/curl/lib/cf-haproxy.c:188,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/cf-haproxy.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: cf_haproxy_adjust_pollset
    functionSourceFile: /src/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    - Curl_pollset_set_out_only
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_haproxy_adjust_pollset(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          struct easy_pollset
      *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/cf-haproxy.c:220,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/cf-haproxy.c:226,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/cf-haproxy.c:228,1
    - Dst: cf_haproxy_ctx_free
      Src: /src/curl/lib/cf-haproxy.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pcf
    - data
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 237
    functionName: cf_haproxy_create
    functionSourceFile: /src/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    - cf_haproxy_ctx_free
    - Curl_cf_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_haproxy_create(struct Curl_cfilter **pcf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_haproxy_create
      Src: /src/curl/lib/cf-haproxy.c:245,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/cf-haproxy.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: Curl_cf_haproxy_insert_after
    functionSourceFile: /src/curl/lib/cf-haproxy.c
    functionUses: 0
    functionsReached:
    - cf_haproxy_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_haproxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                     struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Curl_macos_init
    functionSourceFile: /src/curl/lib/macos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_macos_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/uint-bset.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Curl_uint_bset_init
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_uint_bset_init(struct uint_bset *bset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-bset.c:50,1
    - Dst: calloc
      Src: /src/curl/lib/uint-bset.c:52,1
    - Dst: memcpy
      Src: /src/curl/lib/uint-bset.c:57,1
    - Dst: CURLMIN
      Src: /src/curl/lib/uint-bset.c:58,1
    - Dst: free
      Src: /src/curl/lib/uint-bset.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - bset
    - nmax
    argTypes:
    - struct uint_bset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: Curl_uint_bset_resize
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 4
    functionsReached:
    - calloc
    - CURLMIN
    - memcpy
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_uint_bset_resize(struct uint_bset *bset, unsigned int
      nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/uint-bset.c:71,1
    - Dst: free
      Src: /src/curl/lib/uint-bset.c:72,1
    - Dst: memset
      Src: /src/curl/lib/uint-bset.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Curl_uint_bset_destroy
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 4
    functionsReached:
    - free
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_uint_bset_destroy(struct uint_bset *bset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: Curl_uint_bset_capacity
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: UNITTEST unsigned
    signature: UNITTEST unsigned Curl_uint_bset_capacity(struct uint_bset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_POPCOUNT64
      Src: /src/curl/lib/uint-bset.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: Curl_uint_bset_count
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 2
    functionsReached:
    - CURL_POPCOUNT64
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_uint_bset_count(struct uint_bset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Curl_uint_bset_empty
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_bset_empty(struct uint_bset *bset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/uint-bset.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bset
    argTypes:
    - struct uint_bset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: Curl_uint_bset_clear
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_uint_bset_clear(struct uint_bset *bset)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_bset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: Curl_uint_bset_add
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_bset_add(struct uint_bset *bset, unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_bset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: Curl_uint_bset_remove
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_uint_bset_remove(struct uint_bset *bset, unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bset
    - i
    argTypes:
    - struct uint_bset*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: Curl_uint_bset_contains
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_bset_contains(struct uint_bset *bset, unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/curl/lib/uint-bset.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bset
    - pfirst
    argTypes:
    - struct uint_bset*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: Curl_uint_bset_first
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 8
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: bool Curl_uint_bset_first(struct uint_bset *bset, unsigned int *pfirst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_CTZ64
      Src: /src/curl/lib/uint-bset.c:170,1
    - Dst: CURL_CTZ64
      Src: /src/curl/lib/uint-bset.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - bset
    - last
    - pnext
    argTypes:
    - struct uint_bset*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: Curl_uint_bset_next
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 8
    functionsReached:
    - CURL_CTZ64
    linkageType: ''
    returnType: bool
    signature: "bool Curl_uint_bset_next(struct uint_bset *bset, unsigned int last,\n
      \                        unsigned int *pnext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - curl_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: Curl_popcount64
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_popcount64(curl_uint64_t x)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - x
    argTypes:
    - curl_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 242
    functionName: Curl_ctz64
    functionSourceFile: /src/curl/lib/uint-bset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_ctz64(curl_uint64_t x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-base.c:94,1
    - Dst: ares_getsock
      Src: /src/curl/lib/asyn-base.c:98,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/asyn-base.c:99,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/asyn-base.c:100,1
    - Dst: ARES_GETSOCK_READABLE
      Src: /src/curl/lib/asyn-base.c:102,1
    - Dst: ARES_GETSOCK_WRITABLE
      Src: /src/curl/lib/asyn-base.c:104,1
    - Dst: Curl_pollset_change
      Src: /src/curl/lib/asyn-base.c:108,1
    - Dst: ares_timeout
      Src: /src/curl/lib/asyn-base.c:113,1
    - Dst: curlx_tvtoms
      Src: /src/curl/lib/asyn-base.c:116,1
    - Dst: Curl_expire
      Src: /src/curl/lib/asyn-base.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - data
    - channel
    - ps
    argTypes:
    - struct Curl_easy*
    - ares_channel
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 82
    functionDepth: 7
    functionLinenumber: 82
    functionLinenumberEnd: 119
    functionName: Curl_ares_pollset
    functionSourceFile: /src/curl/lib/asyn-base.c
    functionUses: 1
    functionsReached:
    - Curl_expire
    - ARES_GETSOCK_WRITABLE
    - ares_getsock
    - curlx_tvtoms
    - Curl_pollset_change
    - CURL_ARRAYSIZE
    - ares_timeout
    - ARES_GETSOCK_READABLE
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ares_pollset(struct Curl_easy *data,\n                           ares_channel
      channel,\n                           struct easy_pollset *ps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ares_getsock
      Src: /src/curl/lib/asyn-base.c:143,1
    - Dst: ARES_GETSOCK_READABLE
      Src: /src/curl/lib/asyn-base.c:148,1
    - Dst: ARES_GETSOCK_WRITABLE
      Src: /src/curl/lib/asyn-base.c:152,1
    - Dst: Curl_poll
      Src: /src/curl/lib/asyn-base.c:163,1
    - Dst: ares_process_fd
      Src: /src/curl/lib/asyn-base.c:173,1
    - Dst: ares_process_fd
      Src: /src/curl/lib/asyn-base.c:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - channel
    - timeout_ms
    argTypes:
    - ares_channel
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 184
    functionName: Curl_ares_perform
    functionSourceFile: /src/curl/lib/asyn-base.c
    functionUses: 1
    functionsReached:
    - Curl_poll
    - ARES_GETSOCK_WRITABLE
    - ares_process_fd
    - ares_getsock
    - ARES_GETSOCK_READABLE
    linkageType: ''
    returnType: int
    signature: "int Curl_ares_perform(ares_channel channel,\n                      timediff_t
      timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_async_ares_shutdown
      Src: /src/curl/lib/asyn-base.c:197,1
    - Dst: Curl_async_thrdd_shutdown
      Src: /src/curl/lib/asyn-base.c:200,1
    - Dst: Curl_doh_cleanup
      Src: /src/curl/lib/asyn-base.c:203,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/asyn-base.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 7
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: Curl_async_shutdown
    functionSourceFile: /src/curl/lib/asyn-base.c
    functionUses: 3
    functionsReached:
    - Curl_async_ares_shutdown
    - Curl_safefree
    - Curl_doh_cleanup
    - Curl_async_thrdd_shutdown
    linkageType: ''
    returnType: void
    signature: void Curl_async_shutdown(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_async_ares_destroy
      Src: /src/curl/lib/asyn-base.c:211,1
    - Dst: Curl_async_thrdd_destroy
      Src: /src/curl/lib/asyn-base.c:214,1
    - Dst: Curl_doh_cleanup
      Src: /src/curl/lib/asyn-base.c:217,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/asyn-base.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 8
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: Curl_async_destroy
    functionSourceFile: /src/curl/lib/asyn-base.c
    functionUses: 1
    functionsReached:
    - Curl_async_thrdd_destroy
    - Curl_doh_cleanup
    - Curl_async_ares_destroy
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_async_destroy(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: GOOD_SHARE_HANDLE
    functionSourceFile: /src/curl/lib/share.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_SHARE_HANDLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: CURL_SHARE_KEEP_CONNECT
    functionSourceFile: /src/curl/lib/share.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SHARE_KEEP_CONNECT(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CURL_SHARE_ssl_scache
    functionSourceFile: /src/curl/lib/share.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SHARE_ssl_scache(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - line
    - ','
    - wordlen
    - ','
    - mech
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: sasl_mech_equal
    functionSourceFile: /src/curl/lib/curl_sasl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sasl_mech_equal(line, wordlen, mech)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: Curl_mime_duppart
    functionSourceFile: /src/curl/lib/mime.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mime_duppart(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: Curl_mime_set_subparts
    functionSourceFile: /src/curl/lib/mime.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mime_set_subparts(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: Curl_mime_prepare_headers
    functionSourceFile: /src/curl/lib/mime.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mime_prepare_headers(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: Curl_creader_set_mime
    functionSourceFile: /src/curl/lib/mime.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_creader_set_mime(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/strequal.c:40,1
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/strequal.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: casecompare
    functionSourceFile: /src/curl/lib/strequal.c
    functionUses: 8
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: int
    signature: int casecompare(const char *first, const char *second)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/strequal.c:56,1
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/strequal.c:56,1
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/strequal.c:65,1
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/strequal.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - first
    - second
    - max
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: ncasecompare
    functionSourceFile: /src/curl/lib/strequal.c
    functionUses: 0
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: int
    signature: int ncasecompare(const char *first, const char *second, size_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: casecompare
      Src: /src/curl/lib/strequal.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: curl_strequal
    functionSourceFile: /src/curl/lib/strequal.c
    functionUses: 44
    functionsReached:
    - casecompare
    linkageType: ''
    returnType: int
    signature: int curl_strequal(const char *first, const char *second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ncasecompare
      Src: /src/curl/lib/strequal.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - first
    - second
    - max
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: curl_strnequal
    functionSourceFile: /src/curl/lib/strequal.c
    functionUses: 42
    functionsReached:
    - ncasecompare
    linkageType: ''
    returnType: int
    signature: int curl_strnequal(const char *first, const char *second, size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: STATUSCODE
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUSCODE(line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: LASTLINE
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LASTLINE(line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: ftp_pasv_verbose
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftp_pasv_verbose(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: FTP_CSTATE
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTP_CSTATE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ftpc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: FTP_CSTATE
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTP_CSTATE(ftpc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:160,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:160,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:163,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - ftpc
    - newstate
    - lineno
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - ftpstate
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: ftp_state_low
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - FTP_CSTATE
    - CURL_TRC_FTP
    linkageType: ''
    returnType: void
    signature: "void ftp_state_low(struct Curl_easy *data,\n                          struct
      ftp_conn *ftpc,\n                          ftpstate newstate\n#ifdef DEBUGBUILD\n
      \                         , int lineno\n#endif\n  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: ftp_state
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftp_state(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: ftp_state
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftp_state(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:314,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:314,1
    - Dst: Curl_conn_close
      Src: /src/curl/lib/ftp.c:315,1
    - Dst: Curl_conn_cf_discard_all
      Src: /src/curl/lib/ftp.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: close_secondarysocket
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - FTP_CSTATE
    - Curl_conn_cf_discard_all
    - Curl_conn_close
    - CURL_TRC_FTP
    linkageType: ''
    returnType: void
    signature: "void close_secondarysocket(struct Curl_easy *data,\n                                  struct
      ftp_conn *ftpc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:333,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:335,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ftpc
    argTypes:
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: freedirs
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void freedirs(struct ftp_conn *ftpc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:358,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/ftp.c:364,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/ftp.c:378,1
    - Dst: memchr
      Src: /src/curl/lib/ftp.c:387,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/ftp.c:394,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:407,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/ftp.c:408,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/ftp.c:414,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/ftp.c:417,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 420
    functionName: ftp_cw_lc_write
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - memchr
    - Curl_conn_meta_get
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_cw_lc_write(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer, int type,\n                                const char
      *buf, size_t blen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftp.c:452,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftp.c:453,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/ftp.c:454,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:456,1
    - Dst: getftpresponse
      Src: /src/curl/lib/ftp.c:457,1
    - Dst: Curl_socket_check
      Src: /src/curl/lib/ftp.c:466,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:472,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:482,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftp.c:484,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftp.c:485,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:487,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftp.c:487,1
    - Dst: LASTLINE
      Src: /src/curl/lib/ftp.c:492,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ftp.c:494,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:499,1
    - Dst: getftpresponse
      Src: /src/curl/lib/ftp.c:505,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:507,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 516
    functionName: ftp_check_ctrl_on_data_wait
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - failf
    - LASTLINE
    - curlx_str_number
    - getftpresponse
    - curlx_dyn_len
    - infof
    - ISDIGIT
    - Curl_socket_check
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_check_ctrl_on_data_wait(struct Curl_easy *data,\n                                            struct
      ftp_conn *ftpc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:532,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/ftp.c:533,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/ftp.c:540,1
    - Dst: Curl_sndbuf_init
      Src: /src/curl/lib/ftp.c:543,1
    - Dst: Curl_xfer_setup_send
      Src: /src/curl/lib/ftp.c:547,1
    - Dst: Curl_xfer_set_shutdown
      Src: /src/curl/lib/ftp.c:548,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/ftp.c:552,1
    - Dst: Curl_xfer_set_shutdown
      Src: /src/curl/lib/ftp.c:553,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 560
    functionName: ftp_initiate_transfer
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_send
    - Curl_xfer_set_shutdown
    - ftp_state
    - Curl_pgrsSetUploadSize
    - Curl_sndbuf_init
    - Curl_xfer_setup_recv
    - Curl_conn_connect
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_initiate_transfer(struct Curl_easy *data,\n                                      struct
      ftp_conn *ftpc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LASTLINE
      Src: /src/curl/lib/ftp.c:569,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ftp.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - data
    - conn
    - line
    - len
    - code
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 575
    functionName: ftp_endofresp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - LASTLINE
    - curlx_str_number
    linkageType: ''
    returnType: bool
    signature: "bool ftp_endofresp(struct Curl_easy *data, struct connectdata *conn,\n
      \                         const char *line, size_t len, int *code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_readresp
      Src: /src/curl/lib/ftp.c:585,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:586,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:602,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - data
    - ftpc
    - sockindex
    - pp
    - ftpcodep
    - size
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    - struct pingpong*
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 608
    functionName: ftp_readresp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - infof
    - ftp_state
    - Curl_pp_readresp
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_readresp(struct Curl_easy *data,\n                             struct
      ftp_conn *ftpc,\n                             int sockindex,\n                             struct
      pingpong *pp,\n                             int *ftpcodep, /* return the ftp-code
      if done */\n                             size_t *size)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:632,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:636,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:638,1
    - Dst: Curl_pp_state_timeout
      Src: /src/curl/lib/ftp.c:647,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:651,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftp.c:673,1
    - Dst: Curl_conn_data_pending
      Src: /src/curl/lib/ftp.c:681,1
    - Dst: Curl_pp_needs_flush
      Src: /src/curl/lib/ftp.c:682,1
    - Dst: Curl_socket_check
      Src: /src/curl/lib/ftp.c:684,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:686,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/ftp.c:691,1
    - Dst: Curl_pp_needs_flush
      Src: /src/curl/lib/ftp.c:697,1
    - Dst: Curl_pp_flushsend
      Src: /src/curl/lib/ftp.c:698,1
    - Dst: ftp_readresp
      Src: /src/curl/lib/ftp.c:703,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftp.c:707,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:721,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 3
    argNames:
    - data
    - nreadp
    - ftpcodep
    argTypes:
    - struct Curl_easy*
    - ssize_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 725
    functionName: getftpresponse
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_readresp
    - failf
    - Curl_pp_state_timeout
    - Curl_conn_meta_get
    - Curl_conn_data_pending
    - Curl_pp_needs_flush
    - Curl_pgrsUpdate
    - Curl_pp_flushsend
    - curlx_dyn_len
    - Curl_socket_check
    - DEBUGASSERT
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode getftpresponse(struct Curl_easy *data,\n                               ssize_t
      *nreadp, /* return number of bytes\n                                                   read
      */\n                               int *ftpcodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:731,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - ftpc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 738
    functionName: ftp_state_user
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_user(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/ftp.c:745,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:748,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 740
    functionDepth: 3
    functionLinenumber: 740
    functionLinenumberEnd: 753
    functionName: ftp_state_pwd
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - getenv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_pwd(struct Curl_easy *data,\n                              struct
      ftp_conn *ftpc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:759,1
    - Dst: Curl_pp_pollset
      Src: /src/curl/lib/ftp.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 761
    functionName: ftp_pollset
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_pollset
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_pollset(struct Curl_easy *data,\n                            struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:767,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:776,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:776,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:781,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/ftp.c:783,1
    - Dst: Curl_pollset_add_in
      Src: /src/curl/lib/ftp.c:786,1
    - Dst: Curl_pp_pollset
      Src: /src/curl/lib/ftp.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 789
    functionName: ftp_domore_pollset
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_meta_get
    - Curl_pollset_add_in
    - FTP_CSTATE
    - Curl_pp_pollset
    - CURL_TRC_FTP
    - Curl_conn_is_connected
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_domore_pollset(struct Curl_easy *data,\n                                   struct
      easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:793,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ftpc
    - num
    argTypes:
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 796
    functionName: pathlen
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int pathlen(struct ftp_conn *ftpc, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:800,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ftpc
    - num
    argTypes:
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 803
    functionName: pathpiece
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: char *pathpiece(struct ftp_conn *ftpc, int num)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_mdtm
      Src: /src/curl/lib/ftp.c:819,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:822,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:835,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:837,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:844,1
    - Dst: pathlen
      Src: /src/curl/lib/ftp.c:845,1
    - Dst: pathpiece
      Src: /src/curl/lib/ftp.c:845,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:847,1
    - Dst: ftp_state_mdtm
      Src: /src/curl/lib/ftp.c:851,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 856
    functionName: ftp_state_cwd
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - pathlen
    - pathpiece
    - ftp_state_mdtm
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_cwd(struct Curl_easy *data,\n                              struct
      ftp_conn *ftpc,\n                              struct FTP *ftp)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/ftp.c:902,1
    - Dst: strchr
      Src: /src/curl/lib/ftp.c:909,1
    - Dst: strchr
      Src: /src/curl/lib/ftp.c:922,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/ftp.c:928,1
    - Dst: strlen
      Src: /src/curl/lib/ftp.c:937,1
    - Dst: strchr
      Src: /src/curl/lib/ftp.c:942,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ftp.c:947,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/ftp.c:950,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ftp.c:952,1
    - Dst: Curl_conn_get_remote_addr
      Src: /src/curl/lib/ftp.c:973,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:975,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:978,1
    - Dst: memcpy
      Src: /src/curl/lib/ftp.c:981,1
    - Dst: Curl_if2ip
      Src: /src/curl/lib/ftp.c:985,1
    - Dst: Curl_ipv6_scope
      Src: /src/curl/lib/ftp.c:987,1
    - Dst: getsockname
      Src: /src/curl/lib/ftp.c:1012,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1013,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/ftp.c:1014,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/lib/ftp.c:1020,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/lib/ftp.c:1024,1
    - Dst: Curl_resolv_blocking
      Src: /src/curl/lib/ftp.c:1036,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:1038,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1043,1
    - Dst: Curl_socket_open
      Src: /src/curl/lib/ftp.c:1052,1
    - Dst: Curl_conn_get_transport
      Src: /src/curl/lib/ftp.c:1053,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1060,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/ftp.c:1061,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:1064,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:1065,1
    - Dst: memcpy
      Src: /src/curl/lib/ftp.c:1069,1
    - Dst: htons
      Src: /src/curl/lib/ftp.c:1074,1
    - Dst: htons
      Src: /src/curl/lib/ftp.c:1077,1
    - Dst: bind
      Src: /src/curl/lib/ftp.c:1080,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:1087,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/ftp.c:1088,1
    - Dst: getsockname
      Src: /src/curl/lib/ftp.c:1091,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1092,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/ftp.c:1093,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1101,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/ftp.c:1102,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1113,1
    - Dst: getsockname
      Src: /src/curl/lib/ftp.c:1123,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1124,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/ftp.c:1125,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:1128,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:1129,1
    - Dst: listen
      Src: /src/curl/lib/ftp.c:1133,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1134,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/ftp.c:1135,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:1138,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:1139,1
    - Dst: Curl_printable_address
      Src: /src/curl/lib/ftp.c:1145,1
    - Dst: ntohs
      Src: /src/curl/lib/ftp.c:1166,1
    - Dst: ntohs
      Src: /src/curl/lib/ftp.c:1170,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1186,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1190,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/ftp.c:1191,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/ftp.c:1212,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1214,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1216,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/ftp.c:1217,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1226,1
    - Dst: Curl_conn_tcp_listen_set
      Src: /src/curl/lib/ftp.c:1229,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/ftp.c:1236,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1238,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/ftp.c:1243,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/curl/lib/ftp.c:1244,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/ftp.c:1247,1
    - Dst: Curl_expire
      Src: /src/curl/lib/ftp.c:1248,1
    - Dst: Curl_socket_close
      Src: /src/curl/lib/ftp.c:1253,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 225
    argCount: 3
    argNames:
    - data
    - ftpc
    - fcmd
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - ftpport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 864
    functionDepth: 7
    functionLinenumber: 864
    functionLinenumberEnd: 1255
    functionName: ftp_state_use_port
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_socket_close
    - curl_easy_strerror
    - Curl_conn_get_remote_addr
    - Curl_ssl_cfilter_add
    - curlx_str_single
    - Curl_printable_address
    - getsockname
    - curlx_inet_ntop
    - Curl_expire
    - failf
    - Curl_if2ip
    - Curl_conn_is_ssl
    - strchr
    - curlx_inet_pton
    - Curl_conn_get_transport
    - ntohs
    - curlx_str_number
    - Curl_socket_open
    - listen
    - ftp_state
    - strlen
    - Curl_pp_sendf
    - Curl_ipv6_scope
    - curl_msnprintf
    - Curl_pgrsTime
    - memcpy
    - FTP_CSTATE
    - Curl_resolv_unlink
    - DEBUGASSERT
    - Curl_conn_tcp_listen_set
    - bind
    - curlx_strerror
    - Curl_resolv_blocking
    - infof
    - htons
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_use_port(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc,\n                                   ftpport fcmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1288,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1291,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:1292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - ftpc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1257
    functionDepth: 3
    functionLinenumber: 1257
    functionLinenumberEnd: 1295
    functionName: ftp_state_use_pasv
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - infof
    - ftp_state
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_use_pasv(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc,\n                                   struct connectdata *conn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1315,1
    - Dst: ftp_state_quote
      Src: /src/curl/lib/ftp.c:1316,1
    - Dst: ftp_state_use_port
      Src: /src/curl/lib/ftp.c:1320,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1328,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1333,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1335,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1337,1
    - Dst: ftp_state_use_pasv
      Src: /src/curl/lib/ftp.c:1340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1304
    functionDepth: 8
    functionLinenumber: 1304
    functionLinenumberEnd: 1343
    functionName: ftp_state_prepare_transfer
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - ftp_state_use_port
    - ftp_state_quote
    - ftp_state_use_pasv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_prepare_transfer(struct Curl_easy *data,\n                                           struct
      ftp_conn *ftpc,\n                                           struct FTP *ftp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1356,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1358,1
    - Dst: ftp_state_prepare_transfer
      Src: /src/curl/lib/ftp.c:1361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1345
    functionDepth: 9
    functionLinenumber: 1345
    functionLinenumberEnd: 1364
    functionName: ftp_state_rest
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - ftp_state_prepare_transfer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_rest(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1376,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1378,1
    - Dst: ftp_state_rest
      Src: /src/curl/lib/ftp.c:1381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1366
    functionDepth: 10
    functionLinenumber: 1366
    functionLinenumberEnd: 1384
    functionName: ftp_state_size
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - ftp_state_rest
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_size(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/curl/lib/ftp.c:1412,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/ftp.c:1425,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1435,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:1436,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1386
    functionDepth: 6
    functionLinenumber: 1386
    functionLinenumberEnd: 1442
    functionName: ftp_state_list
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - strrchr
    - free
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_list(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_quote
      Src: /src/curl/lib/ftp.c:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1450
    functionName: ftp_state_list_prequote
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_quote
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_list_prequote(struct Curl_easy *data,\n                                        struct
      ftp_conn *ftpc,\n                                        struct FTP *ftp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_quote
      Src: /src/curl/lib/ftp.c:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1458
    functionName: ftp_state_retr_prequote
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_quote
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_retr_prequote(struct Curl_easy *data,\n                                        struct
      ftp_conn *ftpc,\n                                        struct FTP *ftp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_quote
      Src: /src/curl/lib/ftp.c:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1466
    functionName: ftp_state_stor_prequote
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_quote
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_stor_prequote(struct Curl_easy *data,\n                                        struct
      ftp_conn *ftpc,\n                                        struct FTP *ftp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ftp_need_type
      Src: /src/curl/lib/ftp.c:1478,1
    - Dst: ftp_nb_type
      Src: /src/curl/lib/ftp.c:1488,1
    - Dst: ftp_state_size
      Src: /src/curl/lib/ftp.c:1493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1468
    functionDepth: 11
    functionLinenumber: 1468
    functionLinenumberEnd: 1496
    functionName: ftp_state_type
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_need_type
    - ftp_nb_type
    - ftp_state_size
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_type(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1511,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1514,1
    - Dst: ftp_state_type
      Src: /src/curl/lib/ftp.c:1517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1500
    functionDepth: 12
    functionLinenumber: 1500
    functionLinenumberEnd: 1520
    functionName: ftp_state_mdtm
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - ftp_state_type
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_mdtm(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1550,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1552,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftp.c:1561,1
    - Dst: struct Curl_easy*::set::seek_func
      Src: /src/curl/lib/ftp.c:1562,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftp.c:1564,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1570,1
    - Dst: curlx_sotouz
      Src: /src/curl/lib/ftp.c:1579,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/curl/lib/ftp.c:1582,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1589,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:1599,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/ftp.c:1602,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1608,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1615,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1618,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - sizechecked
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1524
    functionDepth: 3
    functionLinenumber: 1524
    functionLinenumberEnd: 1621
    functionName: ftp_state_ul_setup
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - struct Curl_easy*::state::fread_func
    - ftp_state
    - failf
    - Curl_pp_sendf
    - struct Curl_easy*::set::seek_func
    - Curl_xfer_setup_nop
    - curlx_sotouz
    - infof
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_ul_setup(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc,\n                                   struct FTP *ftp,\n                                   bool
      sizechecked)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1676,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1679,1
    - Dst: ftp_state_cwd
      Src: /src/curl/lib/ftp.c:1689,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1693,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/ftp.c:1696,1
    - Dst: ftp_state_retr
      Src: /src/curl/lib/ftp.c:1697,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1713,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1715,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1718,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1720,1
    - Dst: ftp_state_ul_setup
      Src: /src/curl/lib/ftp.c:1726,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1731,1
    - Dst: ftp_state_list
      Src: /src/curl/lib/ftp.c:1732,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - init
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1623
    functionDepth: 7
    functionLinenumber: 1623
    functionLinenumberEnd: 1738
    functionName: ftp_state_quote
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 4
    functionsReached:
    - ftp_state_retr
    - ftp_state
    - Curl_pp_sendf
    - Curl_pgrsSetDownloadSize
    - ftp_state_cwd
    - ftp_state_ul_setup
    - ftp_state_list
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_quote(struct Curl_easy *data,\n                                struct
      ftp_conn *ftpc,\n                                struct FTP *ftp,\n                                bool
      init,\n                                ftpstate instate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1754,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:1758,1
    - Dst: close_secondarysocket
      Src: /src/curl/lib/ftp.c:1761,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:1764,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - data
    - ftpc
    - conn
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1742
    functionDepth: 3
    functionLinenumber: 1742
    functionLinenumberEnd: 1771
    functionName: ftp_epsv_disable
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - failf
    - Curl_pp_sendf
    - close_secondarysocket
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_epsv_disable(struct Curl_easy *data,\n                                 struct
      ftp_conn *ftpc,\n                                 struct connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:1786,1
    - Dst: Curl_conn_get_ip_info
      Src: /src/curl/lib/ftp.c:1788,1
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:1789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1791
    functionName: control_address_dup
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_get_ip_info
    - strdup
    linkageType: ''
    returnType: char
    signature: "char *control_address_dup(struct Curl_easy *data,\n                                 struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/curl/lib/ftp.c:1804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p
    - array
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1793
    functionDepth: 1
    functionLinenumber: 1793
    functionLinenumberEnd: 1809
    functionName: match_pasv_6nums
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    linkageType: ''
    returnType: bool
    signature: "bool match_pasv_6nums(const char *p,\n                             unsigned
      int *array)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftp.c:1821,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:1824,1
    - Dst: strchr
      Src: /src/curl/lib/ftp.c:1829,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/ftp.c:1835,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ftp.c:1838,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1839,1
    - Dst: control_address_dup
      Src: /src/curl/lib/ftp.c:1843,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1851,1
    - Dst: match_pasv_6nums
      Src: /src/curl/lib/ftp.c:1870,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1876,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:1884,1
    - Dst: control_address_dup
      Src: /src/curl/lib/ftp.c:1887,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/ftp.c:1890,1
    - Dst: ftp_epsv_disable
      Src: /src/curl/lib/ftp.c:1899,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1902,1
    - Dst: Curl_conn_get_ip_info
      Src: /src/curl/lib/ftp.c:1916,1
    - Dst: Curl_resolv_blocking
      Src: /src/curl/lib/ftp.c:1921,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1928,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftp.c:1936,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:1940,1
    - Dst: control_address_dup
      Src: /src/curl/lib/ftp.c:1941,1
    - Dst: Curl_resolv_blocking
      Src: /src/curl/lib/ftp.c:1946,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:1951,1
    - Dst: Curl_conn_setup
      Src: /src/curl/lib/ftp.c:1957,1
    - Dst: ftp_epsv_disable
      Src: /src/curl/lib/ftp.c:1963,1
    - Dst: ftp_pasv_verbose
      Src: /src/curl/lib/ftp.c:1977,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:1979,1
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:1981,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:1986,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 89
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1811
    functionDepth: 6
    functionLinenumber: 1811
    functionLinenumberEnd: 1989
    functionName: ftp_state_pasv_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_pasv_verbose
    - Curl_conn_get_ip_info
    - Curl_conn_setup
    - failf
    - control_address_dup
    - strdup
    - strchr
    - ftp_epsv_disable
    - curlx_str_number
    - curl_maprintf
    - curlx_dyn_ptr
    - ftp_state
    - free
    - match_pasv_6nums
    - DEBUGASSERT
    - Curl_safefree
    - Curl_resolv_blocking
    - infof
    - ISDIGIT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_pasv_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    int ftpcode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2006,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2012,1
    - Dst: ftp_state_use_port
      Src: /src/curl/lib/ftp.c:2017,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2020,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2021,1
    - Dst: ftp_dophase_done
      Src: /src/curl/lib/ftp.c:2022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 1991
    functionDepth: 8
    functionLinenumber: 1991
    functionLinenumberEnd: 2026
    functionName: ftp_state_port_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - failf
    - ftp_state_use_port
    - ftp_dophase_done
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_port_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2031
    functionName: twodigit
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int twodigit(const char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/ftp.c:2036,1
    - Dst: twodigit
      Src: /src/curl/lib/ftp.c:2039,1
    - Dst: twodigit
      Src: /src/curl/lib/ftp.c:2039,1
    - Dst: twodigit
      Src: /src/curl/lib/ftp.c:2040,1
    - Dst: twodigit
      Src: /src/curl/lib/ftp.c:2041,1
    - Dst: twodigit
      Src: /src/curl/lib/ftp.c:2042,1
    - Dst: twodigit
      Src: /src/curl/lib/ftp.c:2043,1
    - Dst: twodigit
      Src: /src/curl/lib/ftp.c:2044,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 7
    argNames:
    - p
    - year
    - month
    - day
    - hour
    - minute
    - second
    argTypes:
    - char*
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2033
    functionDepth: 1
    functionLinenumber: 2033
    functionLinenumberEnd: 2050
    functionName: ftp_213_date
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - strlen
    - twodigit
    linkageType: ''
    returnType: bool
    signature: "bool ftp_213_date(const char *p, int *year, int *month, int *day,\n
      \                        int *hour, int *minute, int *second)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_write
      Src: /src/curl/lib/ftp.c:2072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2052
    functionDepth: 2
    functionLinenumber: 2052
    functionLinenumberEnd: 2075
    functionName: client_write_header
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode client_write_header(struct Curl_easy *data,\n                                    char
      *buf, size_t blen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftp.c:2091,1
    - Dst: ftp_213_date
      Src: /src/curl/lib/ftp.c:2093,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/ftp.c:2096,1
    - Dst: Curl_getdate_capped
      Src: /src/curl/lib/ftp.c:2100,1
    - Dst: Curl_gmtime
      Src: /src/curl/lib/ftp.c:2125,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/ftp.c:2131,1
    - Dst: client_write_header
      Src: /src/curl/lib/ftp.c:2141,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2149,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2154,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2165,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2168,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2174,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2177,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2184,1
    - Dst: ftp_state_type
      Src: /src/curl/lib/ftp.c:2189,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2077
    functionDepth: 12
    functionLinenumber: 2077
    functionLinenumberEnd: 2192
    functionName: ftp_state_mdtm_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - ftp_state_type
    - curl_msnprintf
    - client_write_header
    - Curl_getdate_capped
    - infof
    - Curl_gmtime
    - ftp_213_date
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_mdtm_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2206,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2210,1
    - Dst: ftp_state_size
      Src: /src/curl/lib/ftp.c:2214,1
    - Dst: ftp_state_list
      Src: /src/curl/lib/ftp.c:2216,1
    - Dst: ftp_state_retr_prequote
      Src: /src/curl/lib/ftp.c:2218,1
    - Dst: ftp_state_stor_prequote
      Src: /src/curl/lib/ftp.c:2220,1
    - Dst: ftp_state_list_prequote
      Src: /src/curl/lib/ftp.c:2222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2194
    functionDepth: 11
    functionLinenumber: 2194
    functionLinenumberEnd: 2225
    functionName: ftp_state_type_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - failf
    - ftp_state_stor_prequote
    - ftp_state_size
    - ftp_state_list_prequote
    - ftp_state_retr_prequote
    - infof
    - ftp_state_list
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_type_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode,\n                                    ftpstate instate)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:2234,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:2234,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2236,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2245,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2257,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2269,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/ftp.c:2281,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2282,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2287,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2292,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2295,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2298,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2302,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - filesize
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2227
    functionDepth: 3
    functionLinenumber: 2227
    functionLinenumberEnd: 2308
    functionName: ftp_state_retr
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_state
    - failf
    - Curl_pp_sendf
    - Curl_xfer_setup_nop
    - FTP_CSTATE
    - infof
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_retr(struct Curl_easy *data,\n                               struct
      ftp_conn *ftpc,\n                               struct FTP *ftp,\n                               curl_off_t
      filesize)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftp.c:2318,1
    - Dst: memchr
      Src: /src/curl/lib/ftp.c:2327,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/ftp.c:2332,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ftp.c:2337,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2344,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/ftp.c:2353,1
    - Dst: client_write_header
      Src: /src/curl/lib/ftp.c:2356,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/ftp.c:2361,1
    - Dst: ftp_state_rest
      Src: /src/curl/lib/ftp.c:2362,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/ftp.c:2365,1
    - Dst: ftp_state_retr
      Src: /src/curl/lib/ftp.c:2366,1
    - Dst: ftp_state_ul_setup
      Src: /src/curl/lib/ftp.c:2370,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2310
    functionDepth: 10
    functionLinenumber: 2310
    functionLinenumberEnd: 2374
    functionName: ftp_state_size_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state_retr
    - failf
    - curl_msnprintf
    - client_write_header
    - Curl_pgrsSetDownloadSize
    - ftp_state_rest
    - curlx_str_number
    - memchr
    - ftp_state_ul_setup
    - ISDIGIT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_size_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode,\n                                    ftpstate instate)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: client_write_header
      Src: /src/curl/lib/ftp.c:2390,1
    - Dst: strlen
      Src: /src/curl/lib/ftp.c:2390,1
    - Dst: ftp_state_prepare_transfer
      Src: /src/curl/lib/ftp.c:2395,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2400,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2404,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2376
    functionDepth: 9
    functionLinenumber: 2376
    functionLinenumberEnd: 2412
    functionName: ftp_state_rest_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - strlen
    - failf
    - Curl_pp_sendf
    - ftp_state_prepare_transfer
    - client_write_header
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_rest_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    struct FTP *ftp,\n                                    int
      ftpcode,\n                                    ftpstate instate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2421,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2422,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2432,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/ftp.c:2434,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2439,1
    - Dst: ftp_check_ctrl_on_data_wait
      Src: /src/curl/lib/ftp.c:2441,1
    - Dst: ftp_initiate_transfer
      Src: /src/curl/lib/ftp.c:2445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2414
    functionDepth: 4
    functionLinenumber: 2414
    functionLinenumberEnd: 2446
    functionName: ftp_state_stor_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - failf
    - ftp_check_ctrl_on_data_wait
    - ftp_initiate_transfer
    - Curl_conn_connect
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_stor_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    int ftpcode, ftpstate instate)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftp.c:2499,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftp.c:2504,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ftp.c:2506,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/ftp.c:2507,1
    - Dst: strncmp
      Src: /src/curl/lib/ftp.c:2508,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2523,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2526,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/ftp.c:2535,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2540,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2541,1
    - Dst: ftp_check_ctrl_on_data_wait
      Src: /src/curl/lib/ftp.c:2543,1
    - Dst: ftp_initiate_transfer
      Src: /src/curl/lib/ftp.c:2547,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2553,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2556,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ftpcode
    - instate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - int
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2449
    functionDepth: 4
    functionLinenumber: 2449
    functionLinenumberEnd: 2564
    functionName: ftp_state_get_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - failf
    - curlx_str_number
    - ftp_check_ctrl_on_data_wait
    - curlx_str_single
    - curlx_dyn_len
    - Curl_conn_connect
    - infof
    - ftp_initiate_transfer
    - strncmp
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_get_resp(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc,\n                                   struct FTP *ftp,\n                                   int
      ftpcode,\n                                   ftpstate instate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2587,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2589,1
    - Dst: ftp_state_pwd
      Src: /src/curl/lib/ftp.c:2592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2567
    functionDepth: 4
    functionLinenumber: 2567
    functionLinenumberEnd: 2595
    functionName: ftp_state_loggedin
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - ftp_state_pwd
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_loggedin(struct Curl_easy *data,\n                                   struct
      ftp_conn *ftpc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2608,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2611,1
    - Dst: ftp_state_loggedin
      Src: /src/curl/lib/ftp.c:2616,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2620,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2623,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2626,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2640,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2644,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2648,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2598
    functionDepth: 5
    functionLinenumber: 2598
    functionLinenumberEnd: 2653
    functionName: ftp_state_user_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - ftp_state_loggedin
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_user_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    int ftpcode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2662,1
    - Dst: ftp_state_loggedin
      Src: /src/curl/lib/ftp.c:2666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2656
    functionDepth: 5
    functionLinenumber: 2656
    functionLinenumberEnd: 2669
    functionName: ftp_state_acct_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - failf
    - ftp_state_loggedin
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_state_acct_resp(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc,\n                                    int ftpcode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftp.c:2679,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/ftp.c:2683,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/ftp.c:2704,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftp.c:2709,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/ftp.c:2715,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftp.c:2732,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2735,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:2737,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:2740,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2742,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:2744,1
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:2745,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2748,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:2752,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2754,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:2756,1
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:2757,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/ftp.c:2763,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:2764,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2767,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:2768,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:2768,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2671
    functionDepth: 3
    functionLinenumber: 2671
    functionLinenumberEnd: 2770
    functionName: ftp_pwd_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - Curl_pp_sendf
    - strdup
    - FTP_CSTATE
    - curlx_dyn_addn
    - free
    - curlx_dyn_init
    - curlx_dyn_free
    - curlx_dyn_len
    - infof
    - curlx_dyn_ptr
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_pwd_resp(struct Curl_easy *data,\n                             struct
      ftp_conn *ftpc,\n                             int ftpcode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state_user_resp
      Src: /src/curl/lib/ftp.c:2784,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2787,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2808,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2812,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2815,1
    - Dst: ftp_state_user
      Src: /src/curl/lib/ftp.c:2818,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - data
    - conn
    - ftpc
    - ftpcode
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct ftp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2774
    functionDepth: 6
    functionLinenumber: 2774
    functionLinenumberEnd: 2820
    functionName: ftp_wait_resp
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - failf
    - Curl_pp_sendf
    - ftp_state_user_resp
    - ftp_state_user
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_wait_resp(struct Curl_easy *data,\n                              struct
      connectdata *conn,\n                              struct ftp_conn *ftpc,\n                              int
      ftpcode)"
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:2827,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/ftp.c:2828,1
    - Dst: Curl_pp_flushsend
      Src: /src/curl/lib/ftp.c:2836,1
    - Dst: ftp_readresp
      Src: /src/curl/lib/ftp.c:2838,1
    - Dst: ftp_wait_resp
      Src: /src/curl/lib/ftp.c:2845,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/ftp.c:2864,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/curl/lib/ftp.c:2865,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/ftp.c:2871,1
    - Dst: ftp_state_user
      Src: /src/curl/lib/ftp.c:2875,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2881,1
    - Dst: ftp_state_user
      Src: /src/curl/lib/ftp.c:2891,1
    - Dst: ftp_state_user_resp
      Src: /src/curl/lib/ftp.c:2897,1
    - Dst: ftp_state_acct_resp
      Src: /src/curl/lib/ftp.c:2901,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2906,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2909,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2926,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2928,1
    - Dst: ftp_state_pwd
      Src: /src/curl/lib/ftp.c:2931,1
    - Dst: Curl_ssl_cfilter_remove
      Src: /src/curl/lib/ftp.c:2942,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:2946,1
    - Dst: ftp_state_pwd
      Src: /src/curl/lib/ftp.c:2950,1
    - Dst: ftp_pwd_resp
      Src: /src/curl/lib/ftp.c:2954,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftp.c:2959,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/ftp.c:2971,1
    - Dst: curl_strequal
      Src: /src/curl/lib/ftp.c:2976,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:2978,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:2980,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:2984,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2986,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:2991,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:2998,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:2999,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:2999,1
    - Dst: ftp_state_pwd
      Src: /src/curl/lib/ftp.c:3005,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:3009,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:3010,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:3010,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3020,1
    - Dst: ftp_state_quote
      Src: /src/curl/lib/ftp.c:3024,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:3040,1
    - Dst: pathlen
      Src: /src/curl/lib/ftp.c:3041,1
    - Dst: pathpiece
      Src: /src/curl/lib/ftp.c:3042,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:3044,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3048,1
    - Dst: ftp_state_mdtm
      Src: /src/curl/lib/ftp.c:3058,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:3062,1
    - Dst: pathlen
      Src: /src/curl/lib/ftp.c:3063,1
    - Dst: pathpiece
      Src: /src/curl/lib/ftp.c:3064,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3072,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:3076,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:3078,1
    - Dst: pathlen
      Src: /src/curl/lib/ftp.c:3079,1
    - Dst: pathpiece
      Src: /src/curl/lib/ftp.c:3080,1
    - Dst: ftp_state_mdtm_resp
      Src: /src/curl/lib/ftp.c:3085,1
    - Dst: ftp_state_type_resp
      Src: /src/curl/lib/ftp.c:3093,1
    - Dst: ftp_state_size_resp
      Src: /src/curl/lib/ftp.c:3099,1
    - Dst: ftp_state_rest_resp
      Src: /src/curl/lib/ftp.c:3104,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3110,1
    - Dst: ftp_state_use_pasv
      Src: /src/curl/lib/ftp.c:3113,1
    - Dst: ftp_state_pasv_resp
      Src: /src/curl/lib/ftp.c:3117,1
    - Dst: ftp_state_port_resp
      Src: /src/curl/lib/ftp.c:3121,1
    - Dst: ftp_state_get_resp
      Src: /src/curl/lib/ftp.c:3126,1
    - Dst: ftp_state_stor_resp
      Src: /src/curl/lib/ftp.c:3130,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:3136,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 198
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 2822
    functionDepth: 13
    functionLinenumber: 2822
    functionLinenumberEnd: 3141
    functionName: ftp_pp_statemachine
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_cfilter_add
    - Curl_ssl_cfilter_remove
    - Curl_conn_meta_get
    - ftp_pwd_resp
    - ftp_state_mdtm
    - ftp_state_pasv_resp
    - ftp_state_size_resp
    - failf
    - curl_strequal
    - Curl_conn_is_ssl
    - pathpiece
    - ftp_state_stor_resp
    - curlx_dyn_ptr
    - ftp_wait_resp
    - ftp_state
    - Curl_pp_sendf
    - pathlen
    - ftp_state_user_resp
    - free
    - ftp_state_get_resp
    - ftp_state_user
    - Curl_conn_connect
    - Curl_memdup0
    - FTP_CSTATE
    - ftp_state_port_resp
    - Curl_meta_get
    - ftp_readresp
    - ftp_state_rest_resp
    - ftp_state_pwd
    - ftp_state_acct_resp
    - ftp_state_quote
    - ftp_state_mdtm_resp
    - Curl_pp_flushsend
    - ftp_state_type_resp
    - ftp_state_use_pasv
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_pp_statemachine(struct Curl_easy *data,\n                                    struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_statemach
      Src: /src/curl/lib/ftp.c:3149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - ftpc
    - done
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3157
      start: 3145
    functionDepth: 3
    functionLinenumber: 3145
    functionLinenumberEnd: 3157
    functionName: ftp_statemach
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_statemach(struct Curl_easy *data,\n                              struct
      ftp_conn *ftpc,\n                              bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:3163,1
    - Dst: ftp_statemach
      Src: /src/curl/lib/ftp.c:3164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3165
      start: 3160
    functionDepth: 4
    functionLinenumber: 3160
    functionLinenumberEnd: 3165
    functionName: ftp_multi_statemach
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 2
    functionsReached:
    - ftp_statemach
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_multi_statemach(struct Curl_easy *data,\n                                    bool
      *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:3175,1
    - Dst: Curl_pp_statemach
      Src: /src/curl/lib/ftp.c:3176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3182
      start: 3167
    functionDepth: 3
    functionLinenumber: 3167
    functionLinenumberEnd: 3182
    functionName: ftp_block_statemach
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_block_statemach(struct Curl_easy *data,\n                                    struct
      ftp_conn *ftpc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:3197,1
    - Dst: connkeep
      Src: /src/curl/lib/ftp.c:3205,1
    - Dst: PINGPONG_SETUP
      Src: /src/curl/lib/ftp.c:3207,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/ftp.c:3209,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/ftp.c:3211,1
    - Dst: Curl_pp_init
      Src: /src/curl/lib/ftp.c:3217,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:3221,1
    - Dst: ftp_statemach
      Src: /src/curl/lib/ftp.c:3223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3226
      start: 3192
    functionDepth: 4
    functionLinenumber: 3192
    functionLinenumberEnd: 3226
    functionName: ftp_connect
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_state
    - Curl_conn_is_ssl
    - PINGPONG_SETUP
    - connkeep
    - Curl_conn_meta_get
    - ftp_statemach
    - Curl_conn_connect
    - Curl_pp_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_connect(struct Curl_easy *data,\n                            bool
      *done)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/ftp.c:3241,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:3242,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/ftp.c:3273,1
    - Dst: connclose
      Src: /src/curl/lib/ftp.c:3279,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftp.c:3286,1
    - Dst: struct Curl_easy*::set::chunk_end
      Src: /src/curl/lib/ftp.c:3287,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftp.c:3288,1
    - Dst: freedirs
      Src: /src/curl/lib/ftp.c:3289,1
    - Dst: connclose
      Src: /src/curl/lib/ftp.c:3298,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:3299,1
    - Dst: strlen
      Src: /src/curl/lib/ftp.c:3308,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:3310,1
    - Dst: strlen
      Src: /src/curl/lib/ftp.c:3317,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/ftp.c:3318,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:3325,1
    - Dst: shutdown
      Src: /src/curl/lib/ftp.c:3331,1
    - Dst: Curl_conn_is_setup
      Src: /src/curl/lib/ftp.c:3334,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:3337,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3339,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/ftp.c:3340,1
    - Dst: connclose
      Src: /src/curl/lib/ftp.c:3342,1
    - Dst: close_secondarysocket
      Src: /src/curl/lib/ftp.c:3346,1
    - Dst: curlx_now
      Src: /src/curl/lib/ftp.c:3360,1
    - Dst: getftpresponse
      Src: /src/curl/lib/ftp.c:3362,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3367,1
    - Dst: connclose
      Src: /src/curl/lib/ftp.c:3369,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:3378,1
    - Dst: connclose
      Src: /src/curl/lib/ftp.c:3379,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3390,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3394,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3413,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3423,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3430,1
    - Dst: ftp_sendquote
      Src: /src/curl/lib/ftp.c:3441,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:3442,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:3442,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 128
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3444
      start: 3237
    functionDepth: 5
    functionLinenumber: 3237
    functionLinenumberEnd: 3444
    functionName: ftp_done
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - curl_easy_strerror
    - Curl_conn_meta_get
    - connclose
    - Curl_conn_is_setup
    - Curl_set_in_callback
    - freedirs
    - failf
    - curlx_now
    - struct Curl_easy*::set::chunk_end
    - strlen
    - Curl_pp_sendf
    - close_secondarysocket
    - free
    - getftpresponse
    - FTP_CSTATE
    - Curl_memdup0
    - Curl_meta_get
    - FALLTHROUGH
    - shutdown
    - infof
    - ftp_sendquote
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_done(struct Curl_easy *data, CURLcode status,\n                         bool
      premature)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:3482,1
    - Dst: curlx_now
      Src: /src/curl/lib/ftp.c:3484,1
    - Dst: getftpresponse
      Src: /src/curl/lib/ftp.c:3485,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:3491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - data
    - ftpc
    - quote
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct curl_slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3455
    functionDepth: 5
    functionLinenumber: 3455
    functionLinenumberEnd: 3500
    functionName: ftp_sendquote
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - curlx_now
    - Curl_pp_sendf
    - getftpresponse
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_sendquote(struct Curl_easy *data,\n                       struct
      ftp_conn *ftpc,\n                       struct curl_slist *quote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ftpc
    - ascii_wanted
    argTypes:
    - struct ftp_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3512
    functionName: ftp_need_type
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ftp_need_type(struct ftp_conn *ftpc,\n                         bool
      ascii_wanted)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:3531,1
    - Dst: ftp_state_type_resp
      Src: /src/curl/lib/ftp.c:3532,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:3535,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:3537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - ascii
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool
    - ftpstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3522
    functionDepth: 12
    functionLinenumber: 3522
    functionLinenumberEnd: 3543
    functionName: ftp_nb_type
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_state
    - ftp_state_type_resp
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_nb_type(struct Curl_easy *data,\n                            struct
      ftp_conn *ftpc,\n                            struct FTP *ftp,\n                            bool
      ascii, ftpstate newstate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_printable_address
      Src: /src/curl/lib/ftp.c:3562,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:3563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - ai
    - newhost
    - port
    argTypes:
    - struct Curl_easy*
    - struct Curl_addrinfo*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3564
      start: 3555
    functionDepth: 2
    functionLinenumber: 3555
    functionLinenumberEnd: 3564
    functionName: ftp_pasv_verbose
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - infof
    - Curl_printable_address
    linkageType: ''
    returnType: void
    signature: "void ftp_pasv_verbose(struct Curl_easy *data,\n                 struct
      Curl_addrinfo *ai,\n                 char *newhost, /* ASCII version */\n                 int
      port)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:3580,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/ftp.c:3581,1
    - Dst: Curl_conn_is_tcp_listen
      Src: /src/curl/lib/ftp.c:3603,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/ftp.c:3604,1
    - Dst: Curl_conn_is_ip_connected
      Src: /src/curl/lib/ftp.c:3606,1
    - Dst: ftp_epsv_disable
      Src: /src/curl/lib/ftp.c:3610,1
    - Dst: ftp_statemach
      Src: /src/curl/lib/ftp.c:3619,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/ftp.c:3641,1
    - Dst: ftp_initiate_transfer
      Src: /src/curl/lib/ftp.c:3648,1
    - Dst: ftp_check_ctrl_on_data_wait
      Src: /src/curl/lib/ftp.c:3657,1
    - Dst: ftp_nb_type
      Src: /src/curl/lib/ftp.c:3663,1
    - Dst: ftp_statemach
      Src: /src/curl/lib/ftp.c:3668,1
    - Dst: Curl_range
      Src: /src/curl/lib/ftp.c:3679,1
    - Dst: ftp_nb_type
      Src: /src/curl/lib/ftp.c:3696,1
    - Dst: ftp_nb_type
      Src: /src/curl/lib/ftp.c:3704,1
    - Dst: ftp_nb_type
      Src: /src/curl/lib/ftp.c:3708,1
    - Dst: ftp_statemach
      Src: /src/curl/lib/ftp.c:3715,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/ftp.c:3722,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:3727,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:3727,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 2
    argNames:
    - data
    - completep
    argTypes:
    - struct Curl_easy*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3732
      start: 3577
    functionDepth: 13
    functionLinenumber: 3577
    functionLinenumberEnd: 3732
    functionName: ftp_do_more
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_tcp_listen
    - ftp_nb_type
    - Curl_xfer_setup_nop
    - Curl_conn_is_ip_connected
    - Curl_conn_meta_get
    - ftp_epsv_disable
    - ftp_statemach
    - ftp_check_ctrl_on_data_wait
    - ftp_initiate_transfer
    - Curl_conn_connect
    - FTP_CSTATE
    - Curl_meta_get
    - Curl_range
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ftp_do_more(struct Curl_easy *data, int *completep)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:3752,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:3752,1
    - Dst: ftp_state_quote
      Src: /src/curl/lib/ftp.c:3762,1
    - Dst: ftp_statemach
      Src: /src/curl/lib/ftp.c:3767,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/ftp.c:3769,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:3772,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:3773,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:3775,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:3776,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:3779,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:3779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - data
    - ftpc
    - ftp
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3742
    functionDepth: 8
    functionLinenumber: 3742
    functionLinenumberEnd: 3782
    functionName: ftp_perform
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - infof
    - ftp_statemach
    - ftp_state_quote
    - FTP_CSTATE
    - Curl_conn_is_connected
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_perform(struct Curl_easy *data,\n                     struct
      ftp_conn *ftpc,\n                     struct FTP *ftp,\n                     bool
      *connected,  /* connect status after PASV / PORT */\n                     bool
      *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ftp_parselist_data_free
      Src: /src/curl/lib/ftp.c:3788,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:3789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3790
      start: 3784
    functionDepth: 1
    functionLinenumber: 3784
    functionLinenumberEnd: 3790
    functionName: wc_data_dtor
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_ftp_parselist_data_free
    linkageType: ''
    returnType: void
    signature: void wc_data_dtor(void *ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/curl/lib/ftp.c:3802,1
    - Dst: ftp_parse_url_path
      Src: /src/curl/lib/ftp.c:3807,1
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:3809,1
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:3816,1
    - Dst: ftp_parse_url_path
      Src: /src/curl/lib/ftp.c:3823,1
    - Dst: calloc
      Src: /src/curl/lib/ftp.c:3831,1
    - Dst: Curl_ftp_parselist_data_alloc
      Src: /src/curl/lib/ftp.c:3838,1
    - Dst: ftp_parse_url_path
      Src: /src/curl/lib/ftp.c:3852,1
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:3857,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:3872,1
    - Dst: Curl_ftp_parselist_data_free
      Src: /src/curl/lib/ftp.c:3877,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:3878,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:3880,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3884
      start: 3792
    functionDepth: 1
    functionLinenumber: 3792
    functionLinenumberEnd: 3884
    functionName: init_wc_data
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - calloc
    - Curl_ftp_parselist_data_alloc
    - strdup
    - strrchr
    - free
    - ftp_parse_url_path
    - Curl_ftp_parselist_data_free
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_wc_data(struct Curl_easy *data,\n                             struct
      ftp_conn *ftpc,\n                             struct FTP *ftp)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: init_wc_data
      Src: /src/curl/lib/ftp.c:3896,1
    - Dst: Curl_ftp_parselist_geterror
      Src: /src/curl/lib/ftp.c:3913,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/ftp.c:3918,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/ftp.c:3928,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/ftp.c:3929,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/ftp.c:3931,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:3936,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:3939,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftp.c:3942,1
    - Dst: struct Curl_easy*::set::chunk_bgn
      Src: /src/curl/lib/ftp.c:3943,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/ftp.c:3945,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftp.c:3946,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:3949,1
    - Dst: ftp_parse_url_path
      Src: /src/curl/lib/ftp.c:3966,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/ftp.c:3971,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/ftp.c:3971,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/ftp.c:3973,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftp.c:3985,1
    - Dst: struct Curl_easy*::set::chunk_end
      Src: /src/curl/lib/ftp.c:3986,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftp.c:3987,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/ftp.c:3989,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/ftp.c:3989,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/ftp.c:3990,1
    - Dst: Curl_ftp_parselist_geterror
      Src: /src/curl/lib/ftp.c:3999,1
    - Dst: struct WildcardData*::dtor
      Src: /src/curl/lib/ftp.c:4009,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 87
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 3886
    functionDepth: 6
    functionLinenumber: 3886
    functionLinenumberEnd: 4016
    functionName: wc_statemach
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_set_in_callback
    - Curl_node_elem
    - struct WildcardData*::dtor
    - init_wc_data
    - struct Curl_easy*::set::chunk_bgn
    - free
    - struct Curl_easy*::set::chunk_end
    - ftp_parse_url_path
    - Curl_node_remove
    - infof
    - Curl_ftp_parselist_geterror
    - Curl_llist_count
    - curl_maprintf
    - Curl_llist_head
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wc_statemach(struct Curl_easy *data,\n                             struct
      ftp_conn *ftpc,\n                             struct FTP *ftp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:4030,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/ftp.c:4031,1
    - Dst: Curl_cwriter_create
      Src: /src/curl/lib/ftp.c:4043,1
    - Dst: Curl_cwriter_add
      Src: /src/curl/lib/ftp.c:4048,1
    - Dst: Curl_cwriter_free
      Src: /src/curl/lib/ftp.c:4050,1
    - Dst: wc_statemach
      Src: /src/curl/lib/ftp.c:4057,1
    - Dst: ftp_parse_url_path
      Src: /src/curl/lib/ftp.c:4067,1
    - Dst: ftp_regular_transfer
      Src: /src/curl/lib/ftp.c:4072,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4075
      start: 4027
    functionDepth: 7
    functionLinenumber: 4027
    functionLinenumberEnd: 4075
    functionName: ftp_do
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_free
    - ftp_regular_transfer
    - Curl_conn_meta_get
    - Curl_cwriter_add
    - ftp_parse_url_path
    - wc_statemach
    - Curl_meta_get
    - Curl_cwriter_create
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ftp_do(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:4093,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/ftp.c:4094,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:4096,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/ftp.c:4097,1
    - Dst: connclose
      Src: /src/curl/lib/ftp.c:4099,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:4100,1
    - Dst: ftp_state
      Src: /src/curl/lib/ftp.c:4104,1
    - Dst: ftp_block_statemach
      Src: /src/curl/lib/ftp.c:4106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - ftpc
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4110
      start: 4087
    functionDepth: 4
    functionLinenumber: 4087
    functionLinenumberEnd: 4110
    functionName: ftp_quit
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_state
    - ftp_block_statemach
    - Curl_pp_sendf
    - curl_easy_strerror
    - failf
    - connclose
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_quit(struct Curl_easy *data,\n                         struct
      ftp_conn *ftpc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:4123,1
    - Dst: Curl_pp_needs_flush
      Src: /src/curl/lib/ftp.c:4135,1
    - Dst: ftp_quit
      Src: /src/curl/lib/ftp.c:4139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4119
    functionDepth: 5
    functionLinenumber: 4119
    functionLinenumberEnd: 4141
    functionName: ftp_disconnect
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_needs_flush
    - ftp_quit
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_disconnect(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               bool dead_connection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/lib/ftp.c:4148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4155
      start: 4143
    functionDepth: 0
    functionLinenumber: 4143
    functionLinenumberEnd: 4155
    functionName: numof_slashes
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t numof_slashes(const char *str)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: freedirs
      Src: /src/curl/lib/ftp.c:4179,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/ftp.c:4181,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:4183,1
    - Dst: strrchr
      Src: /src/curl/lib/ftp.c:4202,1
    - Dst: calloc
      Src: /src/curl/lib/ftp.c:4209,1
    - Dst: numof_slashes
      Src: /src/curl/lib/ftp.c:4228,1
    - Dst: calloc
      Src: /src/curl/lib/ftp.c:4235,1
    - Dst: strchr
      Src: /src/curl/lib/ftp.c:4241,1
    - Dst: failf
      Src: /src/curl/lib/ftp.c:4272,1
    - Dst: strlen
      Src: /src/curl/lib/ftp.c:4287,1
    - Dst: strlen
      Src: /src/curl/lib/ftp.c:4289,1
    - Dst: strncmp
      Src: /src/curl/lib/ftp.c:4289,1
    - Dst: infof
      Src: /src/curl/lib/ftp.c:4290,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 3
    argNames:
    - data
    - ftpc
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4297
      start: 4164
    functionDepth: 2
    functionLinenumber: 4164
    functionLinenumberEnd: 4297
    functionName: ftp_parse_url_path
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 3
    functionsReached:
    - calloc
    - strlen
    - failf
    - strrchr
    - strchr
    - infof
    - strncmp
    - Curl_urldecode
    - numof_slashes
    - freedirs
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_parse_url_path(struct Curl_easy *data,\n                            struct
      ftp_conn *ftpc,\n                            struct FTP *ftp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ftp_do_more
      Src: /src/curl/lib/ftp.c:4307,1
    - Dst: close_secondarysocket
      Src: /src/curl/lib/ftp.c:4310,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/ftp.c:4317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - connected
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4325
      start: 4300
    functionDepth: 14
    functionLinenumber: 4300
    functionLinenumberEnd: 4325
    functionName: ftp_dophase_done
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_do_more
    - close_secondarysocket
    - Curl_xfer_setup_nop
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_dophase_done(struct Curl_easy *data,\n                                 struct
      ftp_conn *ftpc,\n                                 struct FTP *ftp,\n                                 bool
      connected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:4331,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/ftp.c:4332,1
    - Dst: ftp_statemach
      Src: /src/curl/lib/ftp.c:4337,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:4340,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:4340,1
    - Dst: ftp_dophase_done
      Src: /src/curl/lib/ftp.c:4342,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:4344,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:4344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4347
      start: 4328
    functionDepth: 15
    functionLinenumber: 4328
    functionLinenumberEnd: 4347
    functionName: ftp_doing
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_statemach
    - Curl_conn_meta_get
    - ftp_dophase_done
    - FTP_CSTATE
    - Curl_meta_get
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_doing(struct Curl_easy *data,\n                          bool
      *dophase_done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/ftp.c:4371,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/ftp.c:4372,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/ftp.c:4373,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/ftp.c:4374,1
    - Dst: ftp_perform
      Src: /src/curl/lib/ftp.c:4378,1
    - Dst: ftp_dophase_done
      Src: /src/curl/lib/ftp.c:4388,1
    - Dst: freedirs
      Src: /src/curl/lib/ftp.c:4394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - data
    - ftpc
    - ftp
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - struct ftp_conn*
    - struct FTP*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4397
      start: 4361
    functionDepth: 15
    functionLinenumber: 4361
    functionLinenumberEnd: 4397
    functionName: ftp_regular_transfer
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - ftp_perform
    - Curl_pgrsSetUploadSize
    - Curl_pgrsSetDownloadSize
    - Curl_pgrsSetDownloadCounter
    - ftp_dophase_done
    - Curl_pgrsSetUploadCounter
    - freedirs
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_regular_transfer(struct Curl_easy *data,\n                              struct
      ftp_conn *ftpc,\n                              struct FTP *ftp,\n                              bool
      *dophase_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:4404,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:4405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4406
      start: 4399
    functionDepth: 1
    functionLinenumber: 4399
    functionLinenumberEnd: 4406
    functionName: ftp_easy_dtor
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void ftp_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freedirs
      Src: /src/curl/lib/ftp.c:4413,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:4414,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:4415,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:4416,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:4417,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:4418,1
    - Dst: Curl_pp_disconnect
      Src: /src/curl/lib/ftp.c:4419,1
    - Dst: free
      Src: /src/curl/lib/ftp.c:4420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4421
      start: 4408
    functionDepth: 2
    functionLinenumber: 4408
    functionLinenumberEnd: 4421
    functionName: ftp_conn_dtor
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_pp_disconnect
    - Curl_safefree
    - free
    - freedirs
    linkageType: ''
    returnType: void
    signature: void ftp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/ftp.c:4425,1
    - Dst: memcmp
      Src: /src/curl/lib/ftp.c:4428,1
    - Dst: Curl_raw_toupper
      Src: /src/curl/lib/ftp.c:4430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - data
    - ftp
    argTypes:
    - struct Curl_easy*
    - struct FTP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4450
      start: 4423
    functionDepth: 1
    functionLinenumber: 4423
    functionLinenumberEnd: 4450
    functionName: type_url_check
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    - Curl_raw_toupper
    linkageType: ''
    returnType: void
    signature: void type_url_check(struct Curl_easy *data, struct FTP *ftp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/ftp.c:4459,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/ftp.c:4461,1
    - Dst: calloc
      Src: /src/curl/lib/ftp.c:4464,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/ftp.c:4466,1
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:4471,1
    - Dst: Curl_conn_meta_remove
      Src: /src/curl/lib/ftp.c:4473,1
    - Dst: strdup
      Src: /src/curl/lib/ftp.c:4479,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/ftp.c:4481,1
    - Dst: Curl_conn_meta_remove
      Src: /src/curl/lib/ftp.c:4482,1
    - Dst: type_url_check
      Src: /src/curl/lib/ftp.c:4489,1
    - Dst: CURL_TRC_FTP
      Src: /src/curl/lib/ftp.c:4498,1
    - Dst: FTP_CSTATE
      Src: /src/curl/lib/ftp.c:4498,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4500
      start: 4452
    functionDepth: 2
    functionLinenumber: 4452
    functionLinenumberEnd: 4500
    functionName: ftp_setup_connection
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 0
    functionsReached:
    - Curl_meta_set
    - calloc
    - Curl_conn_meta_set
    - Curl_safefree
    - strdup
    - type_url_check
    - Curl_conn_meta_remove
    - FTP_CSTATE
    - CURL_TRC_FTP
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_setup_connection(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:4504,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/ftp.c:4505,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/ftp.c:4508,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/ftp.c:4509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - needle
    - conn
    argTypes:
    - struct connectdata*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4515
      start: 4502
    functionDepth: 2
    functionLinenumber: 4502
    functionLinenumberEnd: 4515
    functionName: ftp_conns_match
    functionSourceFile: /src/curl/lib/ftp.c
    functionUses: 1
    functionsReached:
    - Curl_timestrcmp
    - Curl_conn_meta_get
    linkageType: ''
    returnType: bool
    signature: bool ftp_conns_match(struct connectdata *needle, struct connectdata
      *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: Curl_hsts_loadcb
    functionSourceFile: /src/curl/lib/hsts.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_hsts_loadcb(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - save
    - ','
    - cf
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 668
    functionName: CF_DATA_SAVE
    functionSourceFile: /src/curl/lib/cfilters.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_SAVE(save, cf, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cf
    - ','
    - save
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 675
    functionName: CF_DATA_RESTORE
    functionSourceFile: /src/curl/lib/cfilters.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_RESTORE(cf, save)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - save
    - ','
    - cf
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: CF_DATA_SAVE
    functionSourceFile: /src/curl/lib/cfilters.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_SAVE(save, cf, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cf
    - ','
    - save
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: CF_DATA_RESTORE
    functionSourceFile: /src/curl/lib/cfilters.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_RESTORE(cf, save)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 693
    functionName: CF_DATA_CURRENT
    functionSourceFile: /src/curl/lib/cfilters.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_DATA_CURRENT(cf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/rename.c:47,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/rename.c:48,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/rename.c:49,1
    - Dst: MoveFileEx
      Src: /src/curl/lib/rename.c:52,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/rename.c:53,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/rename.c:54,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/rename.c:57,1
    - Dst: curlx_now
      Src: /src/curl/lib/rename.c:57,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/rename.c:59,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/rename.c:60,1
    - Dst: Sleep
      Src: /src/curl/lib/rename.c:63,1
    - Dst: rename
      Src: /src/curl/lib/rename.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - oldpath
    - newpath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: Curl_rename
    functionSourceFile: /src/curl/lib/rename.c
    functionUses: 2
    functionsReached:
    - curlx_now
    - curlx_convert_UTF8_to_tchar
    - curlx_timediff
    - rename
    - MoveFileEx
    - Sleep
    - curlx_unicodefree
    linkageType: ''
    returnType: int
    signature: int Curl_rename(const char *oldpath, const char *newpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: Curl_cookie_list
    functionSourceFile: /src/curl/lib/cookie.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_cookie_list(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: Curl_cookie_loadfiles
    functionSourceFile: /src/curl/lib/cookie.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_cookie_loadfiles(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: Curl_cookie_init
    functionSourceFile: /src/curl/lib/cookie.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_cookie_init(x,y,z,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: Curl_cookie_cleanup
    functionSourceFile: /src/curl/lib/cookie.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_cookie_cleanup(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: Curl_flush_cookies
    functionSourceFile: /src/curl/lib/cookie.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_flush_cookies(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: Curl_des_set_odd_parity
    functionSourceFile: /src/curl/lib/curl_des.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_des_set_odd_parity(unsigned char *bytes, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: curl2netrc
    functionSourceFile: /src/curl/lib/netrc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl2netrc(result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/lib/netrc.c:79,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/netrc.c:81,1
    - Dst: Curl_get_line
      Src: /src/curl/lib/netrc.c:85,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/netrc.c:87,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/netrc.c:89,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/netrc.c:92,1
    - Dst: curl2netrc
      Src: /src/curl/lib/netrc.c:94,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/netrc.c:100,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/netrc.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - filename
    - filebuf
    argTypes:
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 104
    functionName: file2memory
    functionSourceFile: /src/curl/lib/netrc.c
    functionUses: 3
    functionsReached:
    - curlx_dyn_add
    - curlx_str_passblanks
    - curlx_fopen
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_ptr
    - curl2netrc
    - Curl_get_line
    - curlx_fclose
    linkageType: ''
    returnType: NETRCcode
    signature: NETRCcode file2memory(const char *filename, struct dynbuf *filebuf)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/netrc.c:128,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/netrc.c:129,1
    - Dst: file2memory
      Src: /src/curl/lib/netrc.c:132,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/netrc.c:138,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/netrc.c:145,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/netrc.c:146,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/netrc.c:172,1
    - Dst: curl2netrc
      Src: /src/curl/lib/netrc.c:174,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/netrc.c:209,1
    - Dst: curl2netrc
      Src: /src/curl/lib/netrc.c:211,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/netrc.c:223,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/netrc.c:224,1
    - Dst: curl_strequal
      Src: /src/curl/lib/netrc.c:232,1
    - Dst: curl_strequal
      Src: /src/curl/lib/netrc.c:237,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/netrc.c:245,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/netrc.c:247,1
    - Dst: curl_strequal
      Src: /src/curl/lib/netrc.c:249,1
    - Dst: curl_strequal
      Src: /src/curl/lib/netrc.c:259,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/netrc.c:272,1
    - Dst: free
      Src: /src/curl/lib/netrc.c:275,1
    - Dst: strdup
      Src: /src/curl/lib/netrc.c:276,1
    - Dst: free
      Src: /src/curl/lib/netrc.c:286,1
    - Dst: strdup
      Src: /src/curl/lib/netrc.c:287,1
    - Dst: curl_strequal
      Src: /src/curl/lib/netrc.c:296,1
    - Dst: curl_strequal
      Src: /src/curl/lib/netrc.c:298,1
    - Dst: curl_strequal
      Src: /src/curl/lib/netrc.c:300,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/netrc.c:309,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/netrc.c:311,1
    - Dst: curl_strequal
      Src: /src/curl/lib/netrc.c:313,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/netrc.c:316,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/netrc.c:318,1
    - Dst: strchr
      Src: /src/curl/lib/netrc.c:331,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/netrc.c:340,1
    - Dst: strdup
      Src: /src/curl/lib/netrc.c:344,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/netrc.c:359,1
    - Dst: free
      Src: /src/curl/lib/netrc.c:361,1
    - Dst: free
      Src: /src/curl/lib/netrc.c:362,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 200
    argCount: 5
    argNames:
    - store
    - host
    - loginp
    - passwordp
    - netrcfile
    argTypes:
    - struct store_netrc*
    - char*
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 366
    functionName: parsenetrc
    functionSourceFile: /src/curl/lib/netrc.c
    functionUses: 2
    functionsReached:
    - Curl_safefree
    - file2memory
    - curlx_str_passblanks
    - curl_strequal
    - strdup
    - strchr
    - curlx_dyn_reset
    - curlx_dyn_addn
    - free
    - curlx_dyn_init
    - curlx_dyn_free
    - curlx_dyn_len
    - curl2netrc
    - DEBUGASSERT
    - curlx_dyn_ptr
    - Curl_timestrcmp
    linkageType: ''
    returnType: NETRCcode
    signature: "NETRCcode parsenetrc(struct store_netrc *store,\n                            const
      char *host,\n                            char **loginp, /* might point to a
      username */\n                            char **passwordp,\n                            const
      char *netrcfile)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ret
    argTypes:
    - NETRCcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 383
    functionName: Curl_netrc_strerror
    functionSourceFile: /src/curl/lib/netrc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Curl_netrc_strerror(NETRCcode ret)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/curl/lib/netrc.c:404,1
    - Dst: curl_getenv
      Src: /src/curl/lib/netrc.c:406,1
    - Dst: getpwuid_r
      Src: /src/curl/lib/netrc.c:413,1
    - Dst: geteuid
      Src: /src/curl/lib/netrc.c:413,1
    - Dst: getpwuid
      Src: /src/curl/lib/netrc.c:421,1
    - Dst: geteuid
      Src: /src/curl/lib/netrc.c:421,1
    - Dst: curl_getenv
      Src: /src/curl/lib/netrc.c:428,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/netrc.c:439,1
    - Dst: free
      Src: /src/curl/lib/netrc.c:441,1
    - Dst: parsenetrc
      Src: /src/curl/lib/netrc.c:445,1
    - Dst: free
      Src: /src/curl/lib/netrc.c:446,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/netrc.c:450,1
    - Dst: free
      Src: /src/curl/lib/netrc.c:452,1
    - Dst: parsenetrc
      Src: /src/curl/lib/netrc.c:455,1
    - Dst: free
      Src: /src/curl/lib/netrc.c:456,1
    - Dst: free
      Src: /src/curl/lib/netrc.c:459,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - store
    - host
    - loginp
    - passwordp
    - netrcfile
    argTypes:
    - struct store_netrc*
    - char*
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 391
    functionDepth: 6
    functionLinenumber: 391
    functionLinenumberEnd: 460
    functionName: Curl_parsenetrc
    functionSourceFile: /src/curl/lib/netrc.c
    functionUses: 2
    functionsReached:
    - geteuid
    - parsenetrc
    - curl_maprintf
    - curl_getenv
    - free
    - getpwuid
    - getpwuid_r
    linkageType: ''
    returnType: NETRCcode
    signature: "NETRCcode Curl_parsenetrc(struct store_netrc *store, const char *host,\n
      \                         char **loginp, char **passwordp,\n                          const
      char *netrcfile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/netrc.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct store_netrc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: Curl_netrc_init
    functionSourceFile: /src/curl/lib/netrc.c
    functionUses: 3
    functionsReached:
    - curlx_dyn_init
    linkageType: ''
    returnType: void
    signature: void Curl_netrc_init(struct store_netrc *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/netrc.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct store_netrc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: Curl_netrc_cleanup
    functionSourceFile: /src/curl/lib/netrc.c
    functionUses: 3
    functionsReached:
    - curlx_dyn_free
    linkageType: ''
    returnType: void
    signature: void Curl_netrc_cleanup(struct store_netrc *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: CURL_SB_CLEAR
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_CLEAR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: CURL_SB_TERM
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_TERM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: CURL_SB_ACCUM
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_ACCUM(x,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: CURL_SB_GET
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_GET(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: CURL_SB_LEN
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SB_LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: printoption
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printoption(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/telnet.c:212,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/telnet.c:213,1
    - Dst: free
      Src: /src/curl/lib/telnet.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: telnet_easy_dtor
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void telnet_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/telnet.c:222,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/telnet.c:226,1
    - Dst: CURL_SB_CLEAR
      Src: /src/curl/lib/telnet.c:231,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/telnet.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 267
    functionName: init_telnet
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    - Curl_meta_set
    - CURL_SB_CLEAR
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode init_telnet(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_local_option
      Src: /src/curl/lib/telnet.c:278,1
    - Dst: set_remote_option
      Src: /src/curl/lib/telnet.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - data
    - tn
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 283
    functionName: telnet_negotiate
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - set_remote_option
    - set_local_option
    linkageType: ''
    returnType: void
    signature: void telnet_negotiate(struct Curl_easy *data, struct TELNET *tn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TELCMD_OK
      Src: /src/curl/lib/telnet.c:291,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:292,1
    - Dst: CURL_TELCMD
      Src: /src/curl/lib/telnet.c:292,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:294,1
    - Dst: CURL_TELOPT_OK
      Src: /src/curl/lib/telnet.c:303,1
    - Dst: CURL_TELOPT
      Src: /src/curl/lib/telnet.c:304,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:311,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:313,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - data
    - direction
    - cmd
    - option
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 319
    functionName: printoption
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - CURL_TELOPT_OK
    - CURL_TELCMD_OK
    - CURL_TELCMD
    - infof
    - CURL_TELOPT
    linkageType: ''
    returnType: void
    signature: "void printoption(struct Curl_easy *data,\n                        const
      char *direction, int cmd, int option)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swrite
      Src: /src/curl/lib/telnet.c:332,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:335,1
    - Dst: printoption
      Src: /src/curl/lib/telnet.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - cmd
    - option
    argTypes:
    - struct Curl_easy*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 339
    functionName: send_negotiation
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - printoption
    - failf
    - swrite
    linkageType: ''
    returnType: void
    signature: void send_negotiation(struct Curl_easy *data, int cmd, int option)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:349,1
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:388,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - data
    - tn
    - option
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 413
    functionName: set_remote_option
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: "void set_remote_option(struct Curl_easy *data, struct TELNET *tn,\n
      \                      int option, int newstate)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:422,1
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:425,1
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:455,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 460
    functionName: rec_will
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: void rec_will(struct Curl_easy *data, struct TELNET *tn, int option)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:472,1
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:484,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 501
    functionName: rec_wont
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: void rec_wont(struct Curl_easy *data, struct TELNET *tn, int option)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:511,1
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:550,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - data
    - tn
    - option
    - newstate
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 575
    functionName: set_local_option
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: "void set_local_option(struct Curl_easy *data, struct TELNET *tn,\n
      \                int option, int newstate)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:584,1
    - Dst: sendsuboption
      Src: /src/curl/lib/telnet.c:587,1
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:592,1
    - Dst: sendsuboption
      Src: /src/curl/lib/telnet.c:593,1
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:596,1
    - Dst: sendsuboption
      Src: /src/curl/lib/telnet.c:623,1
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:629,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 634
    functionName: rec_do
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - send_negotiation
    - sendsuboption
    linkageType: ''
    returnType: void
    signature: void rec_do(struct Curl_easy *data, struct TELNET *tn, int option)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:646,1
    - Dst: send_negotiation
      Src: /src/curl/lib/telnet.c:658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 675
    functionName: rec_dont
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - send_negotiation
    linkageType: ''
    returnType: void
    signature: void rec_dont(struct Curl_easy *data, struct TELNET *tn, int option)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/telnet.c:686,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:694,1
    - Dst: CURL_TELOPT_OK
      Src: /src/curl/lib/telnet.c:695,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:696,1
    - Dst: CURL_TELOPT
      Src: /src/curl/lib/telnet.c:696,1
    - Dst: CURL_TELCMD_OK
      Src: /src/curl/lib/telnet.c:697,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:698,1
    - Dst: CURL_TELCMD
      Src: /src/curl/lib/telnet.c:698,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:700,1
    - Dst: CURL_TELOPT_OK
      Src: /src/curl/lib/telnet.c:701,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:702,1
    - Dst: CURL_TELOPT
      Src: /src/curl/lib/telnet.c:702,1
    - Dst: CURL_TELCMD_OK
      Src: /src/curl/lib/telnet.c:703,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:704,1
    - Dst: CURL_TELCMD
      Src: /src/curl/lib/telnet.c:704,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:706,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:707,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:716,1
    - Dst: CURL_TELOPT_OK
      Src: /src/curl/lib/telnet.c:720,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:726,1
    - Dst: CURL_TELOPT
      Src: /src/curl/lib/telnet.c:726,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:729,1
    - Dst: CURL_TELOPT
      Src: /src/curl/lib/telnet.c:729,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:734,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:739,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:745,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:748,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:751,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:754,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:761,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:766,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:770,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:773,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:776,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:784,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 94
    argCount: 4
    argNames:
    - data
    - direction
    - pointer
    - length
    argTypes:
    - struct Curl_easy*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 789
    functionName: printsub
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - CURL_TELOPT_OK
    - CURL_TELCMD_OK
    - CURL_TELCMD
    - infof
    - CURL_TELOPT
    linkageType: ''
    returnType: void
    signature: "void printsub(struct Curl_easy *data,\n                     int direction,
      \            /* '<' or '>' */\n                     unsigned char *pointer,
      \   /* where suboption data is */\n                     size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 799
    functionName: str_is_nonascii
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool str_is_nonascii(const char *str)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: str_is_nonascii
      Src: /src/curl/lib/telnet.c:812,1
    - Dst: DEBUGF
      Src: /src/curl/lib/telnet.c:813,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:813,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/telnet.c:816,1
    - Dst: curl_slist_append
      Src: /src/curl/lib/telnet.c:817,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/telnet.c:819,1
    - Dst: strchr
      Src: /src/curl/lib/telnet.c:831,1
    - Dst: str_is_nonascii
      Src: /src/curl/lib/telnet.c:835,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/telnet.c:840,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/telnet.c:850,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/telnet.c:860,1
    - Dst: curl_slist_append
      Src: /src/curl/lib/telnet.c:861,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/telnet.c:875,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/telnet.c:879,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/telnet.c:880,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/telnet.c:881,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:882,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/telnet.c:897,1
    - Dst: atoi
      Src: /src/curl/lib/telnet.c:898,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:908,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:914,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/telnet.c:920,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 2
    argNames:
    - data
    - tn
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 801
    functionDepth: 6
    functionLinenumber: 801
    functionLinenumberEnd: 925
    functionName: check_telnet_options
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - failf
    - DEBUGF
    - curl_msnprintf
    - str_is_nonascii
    - strchr
    - curl_slist_free_all
    - curl_slist_append
    - curlx_str_number
    - curlx_str_single
    - infof
    - atoi
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode check_telnet_options(struct Curl_easy *data,\n                                     struct
      TELNET *tn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/lib/telnet.c:932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: bad_option
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool bad_option(const char *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SB_LEN
      Src: /src/curl/lib/telnet.c:950,1
    - Dst: printsub
      Src: /src/curl/lib/telnet.c:953,1
    - Dst: CURL_SB_LEN
      Src: /src/curl/lib/telnet.c:953,1
    - Dst: CURL_SB_GET
      Src: /src/curl/lib/telnet.c:954,1
    - Dst: bad_option
      Src: /src/curl/lib/telnet.c:956,1
    - Dst: strlen
      Src: /src/curl/lib/telnet.c:958,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:959,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/telnet.c:962,1
    - Dst: swrite
      Src: /src/curl/lib/telnet.c:966,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:970,1
    - Dst: printsub
      Src: /src/curl/lib/telnet.c:973,1
    - Dst: bad_option
      Src: /src/curl/lib/telnet.c:976,1
    - Dst: strlen
      Src: /src/curl/lib/telnet.c:978,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:979,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/telnet.c:982,1
    - Dst: swrite
      Src: /src/curl/lib/telnet.c:986,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:989,1
    - Dst: printsub
      Src: /src/curl/lib/telnet.c:992,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/telnet.c:995,1
    - Dst: strlen
      Src: /src/curl/lib/telnet.c:999,1
    - Dst: bad_option
      Src: /src/curl/lib/telnet.c:1000,1
    - Dst: strchr
      Src: /src/curl/lib/telnet.c:1004,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/telnet.c:1006,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/telnet.c:1010,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/telnet.c:1016,1
    - Dst: swrite
      Src: /src/curl/lib/telnet.c:1019,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:1022,1
    - Dst: printsub
      Src: /src/curl/lib/telnet.c:1024,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - data
    - tn
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 941
    functionDepth: 6
    functionLinenumber: 941
    functionLinenumberEnd: 1028
    functionName: suboption
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - bad_option
    - strlen
    - failf
    - curl_msnprintf
    - swrite
    - strchr
    - CURL_SB_GET
    - CURL_SB_LEN
    - printsub
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode suboption(struct Curl_easy *data, struct TELNET *tn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SB_CLEAR
      Src: /src/curl/lib/telnet.c:1047,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1048,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1049,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1050,1
    - Dst: htons
      Src: /src/curl/lib/telnet.c:1053,1
    - Dst: htons
      Src: /src/curl/lib/telnet.c:1054,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1057,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1058,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1059,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1060,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1062,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1063,1
    - Dst: CURL_SB_TERM
      Src: /src/curl/lib/telnet.c:1064,1
    - Dst: printsub
      Src: /src/curl/lib/telnet.c:1067,1
    - Dst: CURL_SB_LEN
      Src: /src/curl/lib/telnet.c:1068,1
    - Dst: swrite
      Src: /src/curl/lib/telnet.c:1071,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:1074,1
    - Dst: send_telnet_data
      Src: /src/curl/lib/telnet.c:1078,1
    - Dst: swrite
      Src: /src/curl/lib/telnet.c:1080,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:1083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - data
    - tn
    - option
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1087
    functionName: sendsuboption
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - CURL_SB_TERM
    - send_telnet_data
    - failf
    - swrite
    - CURL_SB_CLEAR
    - CURL_SB_ACCUM
    - htons
    - CURL_SB_LEN
    - printsub
    linkageType: ''
    returnType: void
    signature: "void sendsuboption(struct Curl_easy *data,\n                          struct
      TELNET *tn, int option)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: startskipping
      Src: /src/curl/lib/telnet.c:1124,1
    - Dst: writebyte
      Src: /src/curl/lib/telnet.c:1127,1
    - Dst: startskipping
      Src: /src/curl/lib/telnet.c:1133,1
    - Dst: writebyte
      Src: /src/curl/lib/telnet.c:1138,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/telnet.c:1143,1
    - Dst: CURL_SB_CLEAR
      Src: /src/curl/lib/telnet.c:1158,1
    - Dst: writebyte
      Src: /src/curl/lib/telnet.c:1163,1
    - Dst: printoption
      Src: /src/curl/lib/telnet.c:1170,1
    - Dst: printoption
      Src: /src/curl/lib/telnet.c:1176,1
    - Dst: rec_will
      Src: /src/curl/lib/telnet.c:1178,1
    - Dst: printoption
      Src: /src/curl/lib/telnet.c:1183,1
    - Dst: rec_wont
      Src: /src/curl/lib/telnet.c:1185,1
    - Dst: printoption
      Src: /src/curl/lib/telnet.c:1190,1
    - Dst: rec_do
      Src: /src/curl/lib/telnet.c:1192,1
    - Dst: printoption
      Src: /src/curl/lib/telnet.c:1197,1
    - Dst: rec_dont
      Src: /src/curl/lib/telnet.c:1199,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1207,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1222,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1223,1
    - Dst: CURL_SB_TERM
      Src: /src/curl/lib/telnet.c:1225,1
    - Dst: printoption
      Src: /src/curl/lib/telnet.c:1227,1
    - Dst: suboption
      Src: /src/curl/lib/telnet.c:1228,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1234,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1238,1
    - Dst: CURL_SB_ACCUM
      Src: /src/curl/lib/telnet.c:1239,1
    - Dst: CURL_SB_TERM
      Src: /src/curl/lib/telnet.c:1241,1
    - Dst: suboption
      Src: /src/curl/lib/telnet.c:1242,1
    - Dst: bufferflush
      Src: /src/curl/lib/telnet.c:1251,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 118
    argCount: 4
    argNames:
    - data
    - tn
    - inbuf
    - count
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - unsigned char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1089
    functionDepth: 7
    functionLinenumber: 1089
    functionLinenumberEnd: 1253
    functionName: telrcv
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - CURL_SB_TERM
    - startskipping
    - rec_wont
    - CURL_SB_CLEAR
    - rec_do
    - suboption
    - printoption
    - CURL_SB_ACCUM
    - rec_dont
    - rec_will
    - bufferflush
    - DEBUGASSERT
    - writebyte
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode telrcv(struct Curl_easy *data,\n                struct TELNET
      *tn,\n                const unsigned char *inbuf, /* Data received from socket
      */\n                ssize_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1110
    functionName: startskipping
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: startskipping()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: writebyte
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writebyte()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1116
    functionName: bufferflush
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bufferflush()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/telnet.c:1267,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/telnet.c:1268,1
    - Dst: memchr
      Src: /src/curl/lib/telnet.c:1272,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/telnet.c:1274,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/telnet.c:1277,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/telnet.c:1280,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/telnet.c:1283,1
    - Dst: curlx_dyn_uptr
      Src: /src/curl/lib/telnet.c:1284,1
    - Dst: Curl_poll
      Src: /src/curl/lib/telnet.c:1295,1
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/telnet.c:1302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - data
    - tn
    - buffer
    - nread
    argTypes:
    - struct Curl_easy*
    - struct TELNET*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1310
    functionName: send_telnet_data
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 1
    functionsReached:
    - Curl_poll
    - Curl_xfer_send
    - curlx_dyn_uptr
    - curlx_dyn_reset
    - curlx_dyn_addn
    - memchr
    - curlx_dyn_len
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_telnet_data(struct Curl_easy *data,\n                                 struct
      TELNET *tn,\n                                 char *buffer, ssize_t nread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_remove
      Src: /src/curl/lib/telnet.c:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1312
    functionDepth: 2
    functionLinenumber: 1312
    functionLinenumberEnd: 1319
    functionName: telnet_done
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - Curl_meta_remove
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode telnet_done(struct Curl_easy *data,\n                            CURLcode
      status, bool premature)"
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: init_telnet
      Src: /src/curl/lib/telnet.c:1350,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/telnet.c:1354,1
    - Dst: check_telnet_options
      Src: /src/curl/lib/telnet.c:1358,1
    - Dst: WSACreateEvent
      Src: /src/curl/lib/telnet.c:1369,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:1371,1
    - Dst: WSAEventSelect
      Src: /src/curl/lib/telnet.c:1376,1
    - Dst: WSACloseEvent
      Src: /src/curl/lib/telnet.c:1377,1
    - Dst: GetStdHandle
      Src: /src/curl/lib/telnet.c:1382,1
    - Dst: GetFileType
      Src: /src/curl/lib/telnet.c:1390,1
    - Dst: WaitForMultipleObjects
      Src: /src/curl/lib/telnet.c:1405,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/curl/lib/telnet.c:1415,1
    - Dst: PeekNamedPipe
      Src: /src/curl/lib/telnet.c:1433,1
    - Dst: ReadFile
      Src: /src/curl/lib/telnet.c:1443,1
    - Dst: send_telnet_data
      Src: /src/curl/lib/telnet.c:1451,1
    - Dst: ReadFile
      Src: /src/curl/lib/telnet.c:1462,1
    - Dst: send_telnet_data
      Src: /src/curl/lib/telnet.c:1469,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/curl/lib/telnet.c:1480,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:1483,1
    - Dst: Curl_xfer_recv
      Src: /src/curl/lib/telnet.c:1492,1
    - Dst: telrcv
      Src: /src/curl/lib/telnet.c:1508,1
    - Dst: telnet_negotiate
      Src: /src/curl/lib/telnet.c:1518,1
    - Dst: curlx_now
      Src: /src/curl/lib/telnet.c:1531,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/telnet.c:1532,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:1533,1
    - Dst: WSACloseEvent
      Src: /src/curl/lib/telnet.c:1541,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:1542,1
    - Dst: fileno
      Src: /src/curl/lib/telnet.c:1554,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:1559,1
    - Dst: DEBUGF
      Src: /src/curl/lib/telnet.c:1566,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:1566,1
    - Dst: Curl_poll
      Src: /src/curl/lib/telnet.c:1567,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/telnet.c:1574,1
    - Dst: Curl_xfer_recv
      Src: /src/curl/lib/telnet.c:1579,1
    - Dst: DEBUGF
      Src: /src/curl/lib/telnet.c:1590,1
    - Dst: infof
      Src: /src/curl/lib/telnet.c:1590,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/telnet.c:1602,1
    - Dst: telrcv
      Src: /src/curl/lib/telnet.c:1604,1
    - Dst: telnet_negotiate
      Src: /src/curl/lib/telnet.c:1614,1
    - Dst: read
      Src: /src/curl/lib/telnet.c:1622,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/curl/lib/telnet.c:1627,1
    - Dst: send_telnet_data
      Src: /src/curl/lib/telnet.c:1638,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/telnet.c:1644,1
    - Dst: curlx_now
      Src: /src/curl/lib/telnet.c:1653,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/telnet.c:1654,1
    - Dst: failf
      Src: /src/curl/lib/telnet.c:1655,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/telnet.c:1661,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/telnet.c:1668,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 229
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1671
    functionName: telnet_do
    functionSourceFile: /src/curl/lib/telnet.c
    functionUses: 0
    functionsReached:
    - telnet_negotiate
    - PeekNamedPipe
    - Curl_pgrsUpdate
    - WSACloseEvent
    - WSAEventSelect
    - WSAEnumNetworkEvents
    - failf
    - init_telnet
    - DEBUGF
    - curlx_now
    - WSACreateEvent
    - curlx_timediff
    - WaitForMultipleObjects
    - send_telnet_data
    - GetFileType
    - Curl_xfer_recv
    - Curl_pgrsSetDownloadCounter
    - telrcv
    - Curl_meta_get
    - struct Curl_easy*::state::fread_func
    - Curl_poll
    - FALLTHROUGH
    - read
    - Curl_xfer_setup_nop
    - ReadFile
    - check_telnet_options
    - GetStdHandle
    - fileno
    - infof
    - Curl_pgrsSetUploadCounter
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode telnet_do(struct Curl_easy *data, bool *done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_init
      Src: /src/curl/lib/md5.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: my_md5_init
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - md5_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_update
      Src: /src/curl/lib/md5.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - input
    - inputLen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: my_md5_update
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - md5_update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *input,\n                          unsigned int inputLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_digest
      Src: /src/curl/lib/md5.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: my_md5_final
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - md5_digest
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Init
      Src: /src/curl/lib/md5.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: my_md5_init
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - MD5_Init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Update
      Src: /src/curl/lib/md5.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - input
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: my_md5_update
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - MD5_Update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *input,\n                          unsigned int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Final
      Src: /src/curl/lib/md5.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: my_md5_final
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - MD5_Final
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_MD5_Init
      Src: /src/curl/lib/md5.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: my_md5_init
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - wolfSSL_MD5_Init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_MD5_Update
      Src: /src/curl/lib/md5.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - input
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: my_md5_update
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - wolfSSL_MD5_Update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *input,\n                          unsigned int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_MD5_Final
      Src: /src/curl/lib/md5.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: my_md5_final
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - wolfSSL_MD5_Final
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_starts
      Src: /src/curl/lib/md5.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: my_md5_init
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - mbedtls_md5_starts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_update
      Src: /src/curl/lib/md5.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: my_md5_update
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - mbedtls_md5_update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *data,\n                          unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md5_finish
      Src: /src/curl/lib/md5.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: my_md5_final
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - mbedtls_md5_finish
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD5_Init
      Src: /src/curl/lib/md5.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: my_md5_init
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CC_MD5_Init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD5_Update
      Src: /src/curl/lib/md5.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - input
    - inputLen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: my_md5_update
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CC_MD5_Update
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *ctx,\n                          const unsigned
      char *input,\n                          unsigned int inputLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_MD5_Final
      Src: /src/curl/lib/md5.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: my_md5_final
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CC_MD5_Final
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/curl/lib/md5.c:219,1
    - Dst: CryptCreateHash
      Src: /src/curl/lib/md5.c:223,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/md5.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: my_md5_init
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CryptCreateHash
    - CryptReleaseContext
    - CryptAcquireContext
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptHashData
      Src: /src/curl/lib/md5.c:238,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/md5.c:238,1
    - Dst: CryptHashData
      Src: /src/curl/lib/md5.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - input
    - inputLen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: my_md5_update
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CryptHashData
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *in,\n                          const unsigned
      char *input,\n                          unsigned int inputLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CryptGetHashParam
      Src: /src/curl/lib/md5.c:248,1
    - Dst: CryptGetHashParam
      Src: /src/curl/lib/md5.c:250,1
    - Dst: CryptDestroyHash
      Src: /src/curl/lib/md5.c:252,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/md5.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - digest
    - in
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: my_md5_final
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - CryptGetHashParam
    - CryptReleaseContext
    - CryptDestroyHash
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *digest, void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: MD5_F
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_F(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: MD5_G
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_G(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: MD5_H
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_H(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: MD5_H2
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_H2(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: MD5_I
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_I(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - x
    - ','
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: MD5_STEP
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_STEP(f, a, b, c, d, x, t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: MD5_SET
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: MD5_GET
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: MD5_SET
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: MD5_GET
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5_GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:373,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:373,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:374,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:374,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:375,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:375,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:376,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:376,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:377,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:377,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:378,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:378,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:379,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:379,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:380,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:380,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:381,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:381,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:382,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:382,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:383,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:383,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:384,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:384,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:385,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:385,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:386,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:386,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:387,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:387,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:388,1
    - Dst: MD5_SET
      Src: /src/curl/lib/md5.c:388,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:391,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:391,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:392,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:392,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:393,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:393,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:394,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:394,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:395,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:395,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:396,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:396,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:397,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:397,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:398,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:398,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:399,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:399,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:400,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:400,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:401,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:401,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:402,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:402,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:403,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:403,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:404,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:404,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:405,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:405,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:406,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:406,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:409,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:409,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:410,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:410,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:411,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:411,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:412,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:412,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:413,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:413,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:414,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:414,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:415,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:415,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:416,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:416,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:417,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:417,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:418,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:418,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:419,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:419,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:420,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:420,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:421,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:421,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:422,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:422,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:423,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:423,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:424,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:424,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:427,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:427,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:428,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:428,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:429,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:429,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:430,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:430,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:431,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:431,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:432,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:432,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:433,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:433,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:434,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:434,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:435,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:435,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:436,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:436,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:437,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:437,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:438,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:438,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:439,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:439,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:440,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:440,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:441,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:441,1
    - Dst: MD5_STEP
      Src: /src/curl/lib/md5.c:442,1
    - Dst: MD5_GET
      Src: /src/curl/lib/md5.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - my_md5_ctx*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 458
    functionName: my_md5_body
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - MD5_SET
    - MD5_GET
    - MD5_STEP
    linkageType: ''
    returnType: void
    signature: "void *my_md5_body(my_md5_ctx *ctx,\n                               const
      void *data, unsigned long size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 472
    functionName: my_md5_init
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_md5_init(void *in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/md5.c:493,1
    - Dst: memcpy
      Src: /src/curl/lib/md5.c:497,1
    - Dst: my_md5_body
      Src: /src/curl/lib/md5.c:500,1
    - Dst: my_md5_body
      Src: /src/curl/lib/md5.c:504,1
    - Dst: memcpy
      Src: /src/curl/lib/md5.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - in
    - data
    - size
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 509
    functionName: my_md5_update
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - memcpy
    - my_md5_body
    linkageType: ''
    returnType: void
    signature: "void my_md5_update(void *in, const unsigned char *data,\n                          unsigned
      int size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/md5.c:523,1
    - Dst: my_md5_body
      Src: /src/curl/lib/md5.c:524,1
    - Dst: memset
      Src: /src/curl/lib/md5.c:529,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:532,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:533,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:534,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:535,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:536,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:537,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:538,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:539,1
    - Dst: my_md5_body
      Src: /src/curl/lib/md5.c:541,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:543,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:544,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:545,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:546,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:547,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:548,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:549,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:550,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:551,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:552,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:553,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:554,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:555,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:556,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:557,1
    - Dst: curlx_ultouc
      Src: /src/curl/lib/md5.c:558,1
    - Dst: memset
      Src: /src/curl/lib/md5.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - result
    - in
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 561
    functionName: my_md5_final
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - my_md5_body
    - curlx_ultouc
    - memset
    linkageType: ''
    returnType: void
    signature: void my_md5_final(unsigned char *result, void *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_md5_init
      Src: /src/curl/lib/md5.c:592,1
    - Dst: my_md5_update
      Src: /src/curl/lib/md5.c:594,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/md5.c:594,1
    - Dst: my_md5_final
      Src: /src/curl/lib/md5.c:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - outbuffer
    - input
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 598
    functionName: Curl_md5it
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 1
    functionsReached:
    - my_md5_final
    - my_md5_update
    - my_md5_init
    - curlx_uztoui
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_md5it(unsigned char *outbuffer, const unsigned char
      *input,\n                    const size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/md5.c:605,1
    - Dst: malloc
      Src: /src/curl/lib/md5.c:610,1
    - Dst: free
      Src: /src/curl/lib/md5.c:613,1
    - Dst: free
      Src: /src/curl/lib/md5.c:620,1
    - Dst: free
      Src: /src/curl/lib/md5.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - md5params
    argTypes:
    - struct MD5_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 626
    functionName: Curl_MD5_init
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: struct MD5_context
    signature: struct MD5_context *Curl_MD5_init(const struct MD5_params *md5params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - data
    - len
    argTypes:
    - struct MD5_context*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 635
    functionName: Curl_MD5_update
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_MD5_update(struct MD5_context *context,\n                         const
      unsigned char *data,\n                         unsigned int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/md5.c:641,1
    - Dst: free
      Src: /src/curl/lib/md5.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - context
    - result
    argTypes:
    - struct MD5_context*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 645
    functionName: Curl_MD5_final
    functionSourceFile: /src/curl/lib/md5.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_MD5_final(struct MD5_context *context, unsigned char
      *result)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/connect.c:87,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/connect.c:89,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/connect.c:91,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/connect.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: Curl_alpn2alpnid
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 2
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: enum alpnid
    signature: enum alpnid Curl_alpn2alpnid(const char *name, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/connect.c:130,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/connect.c:136,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/connect.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - data
    - nowp
    - duringconnect
    argTypes:
    - struct Curl_easy*
    - struct curltime*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 155
    functionName: Curl_timeleft
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 14
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_timeleft(struct Curl_easy *data,\n                         struct
      curltime *nowp,\n                         bool duringconnect)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:163,1
    - Dst: curlx_now
      Src: /src/curl/lib/connect.c:165,1
    - Dst: Curl_expire_ex
      Src: /src/curl/lib/connect.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - data
    - sockindex
    - timeout_ms
    - nowp
    argTypes:
    - struct Curl_easy*
    - int
    - int
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: Curl_shutdown_start
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - curlx_now
    - DEBUGASSERT
    - Curl_expire_ex
    linkageType: ''
    returnType: void
    signature: "void Curl_shutdown_start(struct Curl_easy *data, int sockindex,\n
      \                        int timeout_ms, struct curltime *nowp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/connect.c:190,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/connect.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - sockindex
    - nowp
    argTypes:
    - struct connectdata*
    - int
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 196
    functionName: Curl_shutdown_timeleft
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_shutdown_timeleft(struct connectdata *conn, int sockindex,\n
      \                                 struct curltime *nowp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/connect.c:209,1
    - Dst: Curl_shutdown_timeleft
      Src: /src/curl/lib/connect.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - nowp
    argTypes:
    - struct connectdata*
    - struct curltime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: Curl_conn_shutdown_timeleft
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - curlx_now
    - Curl_shutdown_timeleft
    linkageType: ''
    returnType: timediff_t
    signature: "timediff_t Curl_conn_shutdown_timeleft(struct connectdata *conn,\n
      \                                      struct curltime *nowp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/connect.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: Curl_shutdown_clear
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_shutdown_clear(struct Curl_easy *data, int sockindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - sockindex
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: Curl_shutdown_started
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_shutdown_started(struct Curl_easy *data, int sockindex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_ntop
      Src: /src/curl/lib/connect.c:249,1
    - Dst: ntohs
      Src: /src/curl/lib/connect.c:250,1
    - Dst: curlx_inet_ntop
      Src: /src/curl/lib/connect.c:258,1
    - Dst: ntohs
      Src: /src/curl/lib/connect.c:260,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/connect.c:270,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/connect.c:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - sa
    - salen
    - addr
    - port
    argTypes:
    - struct sockaddr*
    - curl_socklen_t
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 233
    functionDepth: 6
    functionLinenumber: 233
    functionLinenumberEnd: 285
    functionName: Curl_addr2string
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 5
    functionsReached:
    - ntohs
    - CURL_SETERRNO
    - curlx_inet_ntop
    - curl_msnprintf
    linkageType: ''
    returnType: bool
    signature: "bool Curl_addr2string(struct sockaddr *sa, curl_socklen_t salen,\n
      \                     char *addr, int *port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:296,1
    - Dst: Curl_cpool_get_conn
      Src: /src/curl/lib/connect.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - connp
    argTypes:
    - struct Curl_easy*
    - struct connectdata**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 318
    functionName: Curl_getconnectinfo
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 5
    functionsReached:
    - Curl_cpool_get_conn
    - DEBUGASSERT
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t Curl_getconnectinfo(struct Curl_easy *data,\n                                  struct
      connectdata **connp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:334,1
    - Dst: Curl_conn_is_multiplex
      Src: /src/curl/lib/connect.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 347
    functionName: reason
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_conn_is_multiplex
    linkageType: ''
    returnType: char
    signature: char *reason
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/connect.c:384,1
    - Dst: cf_ip_happy_insert_after
      Src: /src/curl/lib/connect.c:390,1
    - Dst: Curl_cf_socks_proxy_insert_after
      Src: /src/curl/lib/connect.c:401,1
    - Dst: IS_HTTPS_PROXY
      Src: /src/curl/lib/connect.c:411,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/connect.c:412,1
    - Dst: Curl_cf_ssl_proxy_insert_after
      Src: /src/curl/lib/connect.c:413,1
    - Dst: Curl_cf_http_proxy_insert_after
      Src: /src/curl/lib/connect.c:421,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/connect.c:435,1
    - Dst: failf
      Src: /src/curl/lib/connect.c:436,1
    - Dst: Curl_cf_haproxy_insert_after
      Src: /src/curl/lib/connect.c:440,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/connect.c:455,1
    - Dst: Curl_cf_ssl_insert_after
      Src: /src/curl/lib/connect.c:456,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 78
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 470
    functionName: cf_setup_connect
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - Curl_cf_haproxy_insert_after
    - failf
    - Curl_cf_ssl_insert_after
    - Curl_conn_is_ssl
    - Curl_conn_cf_connect
    - Curl_cf_ssl_proxy_insert_after
    - IS_HTTPS_PROXY
    - cf_ip_happy_insert_after
    - Curl_cf_http_proxy_insert_after
    - Curl_cf_socks_proxy_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_setup_connect(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/connect.c:477,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/connect.c:482,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/connect.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 485
    functionName: cf_setup_close
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: "void cf_setup_close(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/connect.c:492,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/connect.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: cf_setup_destroy
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: void cf_setup_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/connect.c:525,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/connect.c:534,1
    - Dst: free
      Src: /src/curl/lib/connect.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - pcf
    - data
    - transport
    - ssl_mode
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 545
    functionName: cf_setup_create
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - Curl_cf_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_setup_create(struct Curl_cfilter **pcf,\n                                struct
      Curl_easy *data,\n                                int transport,\n                                int
      ssl_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:556,1
    - Dst: cf_setup_create
      Src: /src/curl/lib/connect.c:557,1
    - Dst: Curl_conn_cf_add
      Src: /src/curl/lib/connect.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - data
    - conn
    - sockindex
    - transport
    - ssl_mode
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 563
    functionName: cf_setup_add
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 0
    functionsReached:
    - cf_setup_create
    - Curl_conn_cf_add
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_setup_add(struct Curl_easy *data,\n                             struct
      connectdata *conn,\n                             int sockindex,\n                             int
      transport,\n                             int ssl_mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:573,1
    - Dst: cf_setup_create
      Src: /src/curl/lib/connect.c:574,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/connect.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cf_at
    - data
    - transport
    - ssl_mode
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 580
    functionName: Curl_cf_setup_insert_after
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 1
    functionsReached:
    - cf_setup_create
    - DEBUGASSERT
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_setup_insert_after(struct Curl_cfilter *cf_at,\n
      \                                   struct Curl_easy *data,\n                                    int
      transport,\n                                    int ssl_mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:590,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:591,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:592,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/connect.c:594,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:600,1
    - Dst: Curl_cf_https_setup
      Src: /src/curl/lib/connect.c:601,1
    - Dst: cf_setup_add
      Src: /src/curl/lib/connect.c:609,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/connect.c:615,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/connect.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - data
    - conn
    - sockindex
    - dns
    - ssl_mode
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - struct Curl_dns_entry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 582
    functionDepth: 6
    functionLinenumber: 582
    functionLinenumberEnd: 620
    functionName: Curl_conn_setup
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 2
    functionsReached:
    - Curl_cf_https_setup
    - Curl_resolv_unlink
    - DEBUGASSERT
    - cf_setup_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_setup(struct Curl_easy *data,\n                         struct
      connectdata *conn,\n                         int sockindex,\n                         struct
      Curl_dns_entry *dns,\n                         int ssl_mode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_connchanged
      Src: /src/curl/lib/connect.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: Curl_conn_set_multiplex
    functionSourceFile: /src/curl/lib/connect.c
    functionUses: 2
    functionsReached:
    - Curl_multi_connchanged
    linkageType: ''
    returnType: void
    signature: void Curl_conn_set_multiplex(struct connectdata *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/pop3.c:286,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/pop3.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 297
    functionName: pop3_is_multiline
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: bool
    signature: bool pop3_is_multiline(const char *cmdline)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:311,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/pop3.c:313,1
    - Dst: memcmp
      Src: /src/curl/lib/pop3.c:318,1
    - Dst: memcmp
      Src: /src/curl/lib/pop3.c:338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - data
    - conn
    - line
    - len
    - resp
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 352
    functionName: pop3_endofresp
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - memcmp
    - DEBUGASSERT
    - Curl_conn_meta_get
    linkageType: ''
    returnType: bool
    signature: "bool pop3_endofresp(struct Curl_easy *data, struct connectdata *conn,\n
      \                          const char *line, size_t len, int *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:363,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/pop3.c:369,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/pop3.c:385,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/pop3.c:389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - data
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 392
    functionName: pop3_get_message
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_set
    - curlx_dyn_ptr
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_get_message(struct Curl_easy *data, struct bufref *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:403,1
    - Dst: infof
      Src: /src/curl/lib/pop3.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - newstate
    argTypes:
    - struct Curl_easy*
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 429
    functionName: pop3_state
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_conn_meta_get
    linkageType: ''
    returnType: void
    signature: void pop3_state(struct Curl_easy *data, pop3state newstate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:441,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:452,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 458
    functionName: pop3_perform_capa
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_capa(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:469,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:476,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 481
    functionName: pop3_perform_starttls
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_starttls(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:494,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/pop3.c:501,1
    - Dst: Curl_ssl_cfilter_add
      Src: /src/curl/lib/pop3.c:502,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/pop3.c:509,1
    - Dst: Curl_conn_connect
      Src: /src/curl/lib/pop3.c:510,1
    - Dst: DEBUGF
      Src: /src/curl/lib/pop3.c:511,1
    - Dst: infof
      Src: /src/curl/lib/pop3.c:511,1
    - Dst: pop3_perform_capa
      Src: /src/curl/lib/pop3.c:516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 489
    functionDepth: 4
    functionLinenumber: 489
    functionLinenumberEnd: 525
    functionName: pop3_perform_upgrade_tls
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - Curl_conn_is_ssl
    - Curl_ssl_cfilter_add
    - pop3_perform_capa
    - Curl_conn_meta_get
    - Curl_conn_connect
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_upgrade_tls(struct Curl_easy *data,\n                                         struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:536,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:545,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:551,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 557
    functionName: pop3_perform_user
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_user(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:569,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:582,1
    - Dst: Curl_MD5_init
      Src: /src/curl/lib/pop3.c:588,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/pop3.c:592,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/pop3.c:593,1
    - Dst: strlen
      Src: /src/curl/lib/pop3.c:593,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/pop3.c:595,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/pop3.c:596,1
    - Dst: strlen
      Src: /src/curl/lib/pop3.c:596,1
    - Dst: Curl_MD5_final
      Src: /src/curl/lib/pop3.c:599,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/pop3.c:603,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:605,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 566
    functionDepth: 6
    functionLinenumber: 566
    functionLinenumberEnd: 611
    functionName: pop3_perform_apop
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - strlen
    - Curl_pp_sendf
    - curl_msnprintf
    - curlx_uztoui
    - Curl_conn_meta_get
    - Curl_MD5_init
    - Curl_MD5_final
    - Curl_MD5_update
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_apop(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:626,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/pop3.c:628,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:635,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - mech
    - initresp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 643
    functionName: pop3_perform_auth
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_ptr
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_auth(struct Curl_easy *data,\n                                  const
      char *mech,\n                                  const struct bufref *initresp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:656,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:662,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/pop3.c:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - mech
    - resp
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: pop3_continue_auth
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_ptr
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_continue_auth(struct Curl_easy *data,\n                                   const
      char *mech,\n                                   const struct bufref *resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:675,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - mech
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 3
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: pop3_cancel_auth
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_cancel_auth(struct Curl_easy *data, const char *mech)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:695,1
    - Dst: Curl_sasl_can_authenticate
      Src: /src/curl/lib/pop3.c:704,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:705,1
    - Dst: Curl_sasl_start
      Src: /src/curl/lib/pop3.c:711,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:715,1
    - Dst: pop3_perform_apop
      Src: /src/curl/lib/pop3.c:722,1
    - Dst: pop3_perform_user
      Src: /src/curl/lib/pop3.c:727,1
    - Dst: Curl_sasl_is_blocked
      Src: /src/curl/lib/pop3.c:729,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 692
    functionDepth: 7
    functionLinenumber: 692
    functionLinenumberEnd: 733
    functionName: pop3_perform_authentication
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_can_authenticate
    - pop3_state
    - Curl_sasl_is_blocked
    - Curl_conn_meta_get
    - Curl_sasl_start
    - pop3_perform_user
    - pop3_perform_apop
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_authentication(struct Curl_easy *data,\n                                            struct
      connectdata *conn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/pop3.c:745,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:746,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:768,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:770,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:773,1
    - Dst: pop3_is_multiline
      Src: /src/curl/lib/pop3.c:774,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 741
    functionDepth: 4
    functionLinenumber: 741
    functionLinenumberEnd: 778
    functionName: pop3_perform_command
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - Curl_pp_sendf
    - pop3_is_multiline
    - Curl_conn_meta_get
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_perform_command(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:789,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:796,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 801
    functionName: pop3_perform_quit
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - Curl_pp_sendf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform_quit(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:810,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/pop3.c:818,1
    - Dst: failf
      Src: /src/curl/lib/pop3.c:822,1
    - Dst: memchr
      Src: /src/curl/lib/pop3.c:831,1
    - Dst: memchr
      Src: /src/curl/lib/pop3.c:834,1
    - Dst: memchr
      Src: /src/curl/lib/pop3.c:838,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/pop3.c:844,1
    - Dst: pop3_perform_capa
      Src: /src/curl/lib/pop3.c:853,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 804
    functionDepth: 4
    functionLinenumber: 804
    functionLinenumberEnd: 857
    functionName: pop3_state_servergreet_resp
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_conn_meta_get
    - memchr
    - Curl_memdup0
    - pop3_perform_capa
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_servergreet_resp(struct Curl_easy *data,\n                                            int
      pop3code,\n                                            pop3state instate)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:865,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/pop3.c:873,1
    - Dst: memcmp
      Src: /src/curl/lib/pop3.c:879,1
    - Dst: memcmp
      Src: /src/curl/lib/pop3.c:883,1
    - Dst: memcmp
      Src: /src/curl/lib/pop3.c:887,1
    - Dst: Curl_sasl_decode_mech
      Src: /src/curl/lib/pop3.c:918,1
    - Dst: Curl_conn_is_ssl
      Src: /src/curl/lib/pop3.c:932,1
    - Dst: pop3_perform_authentication
      Src: /src/curl/lib/pop3.c:933,1
    - Dst: pop3_perform_starttls
      Src: /src/curl/lib/pop3.c:936,1
    - Dst: pop3_perform_authentication
      Src: /src/curl/lib/pop3.c:939,1
    - Dst: failf
      Src: /src/curl/lib/pop3.c:941,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 45
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 860
    functionDepth: 8
    functionLinenumber: 860
    functionLinenumberEnd: 947
    functionName: pop3_state_capa_resp
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_conn_is_ssl
    - Curl_conn_meta_get
    - Curl_sasl_decode_mech
    - memcmp
    - pop3_perform_authentication
    - pop3_perform_starttls
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_capa_resp(struct Curl_easy *data, int pop3code,\n
      \                                    pop3state instate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:955,1
    - Dst: failf
      Src: /src/curl/lib/pop3.c:968,1
    - Dst: pop3_perform_authentication
      Src: /src/curl/lib/pop3.c:972,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:975,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - data
    - conn
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 950
    functionDepth: 8
    functionLinenumber: 950
    functionLinenumberEnd: 978
    functionName: pop3_state_starttls_resp
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_perform_authentication
    - pop3_state
    - failf
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_starttls_resp(struct Curl_easy *data,\n                                         struct
      connectdata *conn,\n                                         int pop3code,\n
      \                                        pop3state instate)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:987,1
    - Dst: Curl_sasl_continue
      Src: /src/curl/lib/pop3.c:994,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:998,1
    - Dst: pop3_perform_apop
      Src: /src/curl/lib/pop3.c:1004,1
    - Dst: pop3_perform_user
      Src: /src/curl/lib/pop3.c:1009,1
    - Dst: failf
      Src: /src/curl/lib/pop3.c:1011,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 981
    functionDepth: 7
    functionLinenumber: 981
    functionLinenumberEnd: 1020
    functionName: pop3_state_auth_resp
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_sasl_continue
    - pop3_state
    - failf
    - Curl_conn_meta_get
    - pop3_perform_user
    - pop3_perform_apop
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_auth_resp(struct Curl_easy *data,\n                                     int
      pop3code,\n                                     pop3state instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/pop3.c:1031,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1024
    functionDepth: 3
    functionLinenumber: 1024
    functionLinenumberEnd: 1039
    functionName: pop3_state_apop_resp
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_apop_resp(struct Curl_easy *data, int pop3code,\n
      \                                    pop3state instate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1048,1
    - Dst: failf
      Src: /src/curl/lib/pop3.c:1055,1
    - Dst: Curl_pp_sendf
      Src: /src/curl/lib/pop3.c:1060,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:1062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1043
    functionDepth: 3
    functionLinenumber: 1043
    functionLinenumberEnd: 1065
    functionName: pop3_state_user_resp
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - failf
    - Curl_conn_meta_get
    - Curl_pp_sendf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_user_resp(struct Curl_easy *data, int pop3code,\n
      \                                    pop3state instate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/pop3.c:1075,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1068
    functionDepth: 3
    functionLinenumber: 1068
    functionLinenumberEnd: 1083
    functionName: pop3_state_pass_resp
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_pass_resp(struct Curl_easy *data, int pop3code,\n
      \                                    pop3state instate)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/pop3.c:1092,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1093,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:1102,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/pop3.c:1118,1
    - Dst: curlx_dyn_tail
      Src: /src/curl/lib/pop3.c:1126,1
    - Dst: pop3_write
      Src: /src/curl/lib/pop3.c:1130,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/pop3.c:1130,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/pop3.c:1131,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/pop3.c:1137,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:1145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - data
    - pop3code
    - instate
    argTypes:
    - struct Curl_easy*
    - int
    - pop3state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1148
    functionName: pop3_state_command_resp
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - curlx_dyn_tail
    - Curl_xfer_setup_recv
    - Curl_conn_meta_get
    - pop3_write
    - curlx_dyn_reset
    - curlx_dyn_len
    - Curl_meta_get
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_state_command_resp(struct Curl_easy *data,\n                                        int
      pop3code,\n                                        pop3state instate)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1153,1
    - Dst: pop3_perform_upgrade_tls
      Src: /src/curl/lib/pop3.c:1167,1
    - Dst: Curl_pp_flushsend
      Src: /src/curl/lib/pop3.c:1174,1
    - Dst: Curl_pp_readresp
      Src: /src/curl/lib/pop3.c:1178,1
    - Dst: pop3_state_servergreet_resp
      Src: /src/curl/lib/pop3.c:1188,1
    - Dst: pop3_state_capa_resp
      Src: /src/curl/lib/pop3.c:1192,1
    - Dst: pop3_state_starttls_resp
      Src: /src/curl/lib/pop3.c:1196,1
    - Dst: pop3_state_auth_resp
      Src: /src/curl/lib/pop3.c:1204,1
    - Dst: pop3_state_apop_resp
      Src: /src/curl/lib/pop3.c:1209,1
    - Dst: pop3_state_user_resp
      Src: /src/curl/lib/pop3.c:1214,1
    - Dst: pop3_state_pass_resp
      Src: /src/curl/lib/pop3.c:1218,1
    - Dst: pop3_state_command_resp
      Src: /src/curl/lib/pop3.c:1222,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:1226,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:1231,1
    - Dst: Curl_pp_moredata
      Src: /src/curl/lib/pop3.c:1234,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1150
    functionDepth: 9
    functionLinenumber: 1150
    functionLinenumberEnd: 1237
    functionName: pop3_statemachine
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_perform_upgrade_tls
    - pop3_state
    - pop3_state_command_resp
    - pop3_state_apop_resp
    - pop3_state_auth_resp
    - Curl_pp_readresp
    - Curl_conn_meta_get
    - pop3_state_starttls_resp
    - pop3_state_servergreet_resp
    - pop3_state_pass_resp
    - Curl_pp_moredata
    - Curl_pp_flushsend
    - pop3_state_capa_resp
    - pop3_state_user_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_statemachine(struct Curl_easy *data,\n                                  struct
      connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1244,1
    - Dst: Curl_pp_statemach
      Src: /src/curl/lib/pop3.c:1248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1240
    functionDepth: 3
    functionLinenumber: 1240
    functionLinenumberEnd: 1252
    functionName: pop3_multi_statemach
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1259,1
    - Dst: Curl_pp_statemach
      Src: /src/curl/lib/pop3.c:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - disconnecting
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1268
    functionName: pop3_block_statemach
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_pp_statemach
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_block_statemach(struct Curl_easy *data,\n                                     struct
      connectdata *conn,\n                                     bool disconnecting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1275,1
    - Dst: Curl_pp_pollset
      Src: /src/curl/lib/pop3.c:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1277
    functionName: pop3_pollset
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_pp_pollset
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_pollset(struct Curl_easy *data,\n                             struct
      easy_pollset *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1293,1
    - Dst: connkeep
      Src: /src/curl/lib/pop3.c:1301,1
    - Dst: PINGPONG_SETUP
      Src: /src/curl/lib/pop3.c:1303,1
    - Dst: Curl_sasl_init
      Src: /src/curl/lib/pop3.c:1307,1
    - Dst: Curl_pp_init
      Src: /src/curl/lib/pop3.c:1310,1
    - Dst: pop3_parse_url_options
      Src: /src/curl/lib/pop3.c:1313,1
    - Dst: pop3_state
      Src: /src/curl/lib/pop3.c:1318,1
    - Dst: pop3_multi_statemach
      Src: /src/curl/lib/pop3.c:1320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1289
    functionDepth: 4
    functionLinenumber: 1289
    functionLinenumberEnd: 1323
    functionName: pop3_connect
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_state
    - Curl_sasl_init
    - pop3_multi_statemach
    - PINGPONG_SETUP
    - connkeep
    - Curl_conn_meta_get
    - pop3_parse_url_options
    - Curl_pp_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_connect(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/pop3.c:1338,1
    - Dst: connclose
      Src: /src/curl/lib/pop3.c:1346,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/pop3.c:1351,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/pop3.c:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1334
    functionDepth: 2
    functionLinenumber: 1334
    functionLinenumberEnd: 1358
    functionName: pop3_done
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - connclose
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/pop3.c:1372,1
    - Dst: DEBUGF
      Src: /src/curl/lib/pop3.c:1377,1
    - Dst: infof
      Src: /src/curl/lib/pop3.c:1377,1
    - Dst: pop3_perform_command
      Src: /src/curl/lib/pop3.c:1380,1
    - Dst: pop3_multi_statemach
      Src: /src/curl/lib/pop3.c:1391,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/pop3.c:1392,1
    - Dst: DEBUGF
      Src: /src/curl/lib/pop3.c:1395,1
    - Dst: infof
      Src: /src/curl/lib/pop3.c:1395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1367
    functionDepth: 5
    functionLinenumber: 1367
    functionLinenumberEnd: 1398
    functionName: pop3_perform
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - pop3_multi_statemach
    - infof
    - Curl_conn_is_connected
    - Curl_meta_get
    - pop3_perform_command
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_perform(struct Curl_easy *data, bool *connected,\n                             bool
      *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pop3_parse_url_path
      Src: /src/curl/lib/pop3.c:1415,1
    - Dst: pop3_parse_custom_request
      Src: /src/curl/lib/pop3.c:1420,1
    - Dst: pop3_regular_transfer
      Src: /src/curl/lib/pop3.c:1424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1427
    functionName: pop3_do
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - pop3_parse_url_path
    - pop3_parse_custom_request
    - pop3_regular_transfer
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_do(struct Curl_easy *data, bool *done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1439,1
    - Dst: Curl_pp_needs_flush
      Src: /src/curl/lib/pop3.c:1450,1
    - Dst: pop3_perform_quit
      Src: /src/curl/lib/pop3.c:1451,1
    - Dst: pop3_block_statemach
      Src: /src/curl/lib/pop3.c:1452,1
    - Dst: Curl_pp_disconnect
      Src: /src/curl/lib/pop3.c:1456,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/pop3.c:1459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1436
    functionDepth: 4
    functionLinenumber: 1436
    functionLinenumberEnd: 1462
    functionName: pop3_disconnect
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - Curl_pp_disconnect
    - pop3_block_statemach
    - Curl_pp_needs_flush
    - Curl_conn_meta_get
    - pop3_perform_quit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn, bool dead_connection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - connected
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1471
    functionName: pop3_dophase_done
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_dophase_done(struct Curl_easy *data, bool connected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pop3_multi_statemach
      Src: /src/curl/lib/pop3.c:1476,1
    - Dst: DEBUGF
      Src: /src/curl/lib/pop3.c:1479,1
    - Dst: infof
      Src: /src/curl/lib/pop3.c:1479,1
    - Dst: pop3_dophase_done
      Src: /src/curl/lib/pop3.c:1481,1
    - Dst: DEBUGF
      Src: /src/curl/lib/pop3.c:1483,1
    - Dst: infof
      Src: /src/curl/lib/pop3.c:1483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1474
    functionDepth: 4
    functionLinenumber: 1474
    functionLinenumberEnd: 1487
    functionName: pop3_doing
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - infof
    - pop3_multi_statemach
    - DEBUGF
    - pop3_dophase_done
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/pop3.c:1508,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/pop3.c:1509,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/pop3.c:1510,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/pop3.c:1511,1
    - Dst: pop3_perform
      Src: /src/curl/lib/pop3.c:1514,1
    - Dst: pop3_dophase_done
      Src: /src/curl/lib/pop3.c:1518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1498
    functionDepth: 6
    functionLinenumber: 1498
    functionLinenumberEnd: 1521
    functionName: pop3_regular_transfer
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - Curl_pgrsSetUploadSize
    - pop3_dophase_done
    - Curl_pgrsSetDownloadSize
    - Curl_pgrsSetDownloadCounter
    - pop3_perform
    - Curl_pgrsSetUploadCounter
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_regular_transfer(struct Curl_easy *data,\n                                      bool
      *dophase_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/pop3.c:1528,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/pop3.c:1530,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/pop3.c:1531,1
    - Dst: free
      Src: /src/curl/lib/pop3.c:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1533
    functionName: pop3_easy_dtor
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void pop3_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/pop3.c:1540,1
    - Dst: Curl_pp_disconnect
      Src: /src/curl/lib/pop3.c:1541,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/pop3.c:1542,1
    - Dst: free
      Src: /src/curl/lib/pop3.c:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1544
    functionName: pop3_conn_dtor
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_pp_disconnect
    - Curl_safefree
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void pop3_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/pop3.c:1550,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/pop3.c:1552,1
    - Dst: calloc
      Src: /src/curl/lib/pop3.c:1555,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/pop3.c:1557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1546
    functionDepth: 2
    functionLinenumber: 1546
    functionLinenumberEnd: 1561
    functionName: pop3_setup_connection
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 0
    functionsReached:
    - Curl_meta_set
    - calloc
    - Curl_conn_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1571,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/pop3.c:1590,1
    - Dst: Curl_sasl_parse_url_auth_option
      Src: /src/curl/lib/pop3.c:1591,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/pop3.c:1594,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1569
    functionDepth: 3
    functionLinenumber: 1569
    functionLinenumberEnd: 1621
    functionName: pop3_parse_url_options
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - curl_strnequal
    - Curl_sasl_parse_url_auth_option
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_parse_url_options(struct connectdata *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/pop3.c:1632,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/pop3.c:1638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1629
    functionDepth: 2
    functionLinenumber: 1629
    functionLinenumberEnd: 1639
    functionName: pop3_parse_url_path
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - Curl_urldecode
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_parse_url_path(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/pop3.c:1650,1
    - Dst: Curl_urldecode
      Src: /src/curl/lib/pop3.c:1657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1647
    functionDepth: 2
    functionLinenumber: 1647
    functionLinenumberEnd: 1660
    functionName: pop3_parse_custom_request
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - Curl_urldecode
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode pop3_parse_custom_request(struct Curl_easy *data)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/pop3.c:1676,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/pop3.c:1700,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/pop3.c:1759,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/pop3.c:1763,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/pop3.c:1783,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/pop3.c:1796,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 4
    argNames:
    - data
    - str
    - nread
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1669
    functionDepth: 2
    functionLinenumber: 1669
    functionLinenumberEnd: 1801
    functionName: pop3_write
    functionSourceFile: /src/curl/lib/pop3.c
    functionUses: 1
    functionsReached:
    - Curl_conn_meta_get
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pop3_write(struct Curl_easy *data, const char *str,\n                           size_t
      nread, bool is_eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - hs
    - index
    - amount
    - e
    - hout
    argTypes:
    - struct Curl_header_store*
    - size_t
    - size_t
    - struct Curl_llist_node*
    - struct curl_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: copy_header_external
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void copy_header_external(struct Curl_header_store *hs,\n                                 size_t
      index,\n                                 size_t amount,\n                                 struct
      Curl_llist_node *e,\n                                 struct curl_header *hout)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/curl/lib/headers.c:79,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/headers.c:87,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/headers.c:87,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/headers.c:88,1
    - Dst: curl_strequal
      Src: /src/curl/lib/headers.c:89,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/headers.c:106,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/headers.c:106,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/headers.c:107,1
    - Dst: curl_strequal
      Src: /src/curl/lib/headers.c:108,1
    - Dst: copy_header_external
      Src: /src/curl/lib/headers.c:120,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 6
    argNames:
    - easy
    - name
    - nameindex
    - type
    - request
    - hout
    argTypes:
    - CURL*
    - char*
    - size_t
    - unsigned int
    - int
    - struct curl_header**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 124
    functionName: curl_easy_header
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 6
    functionsReached:
    - curl_strequal
    - Curl_node_elem
    - Curl_node_next
    - Curl_llist_count
    - copy_header_external
    - Curl_llist_head
    linkageType: ''
    returnType: CURLHcode
    signature: "CURLHcode curl_easy_header(CURL *easy,\n                           const
      char *name,\n                           size_t nameindex,\n                           unsigned
      int type,\n                           int request,\n                           struct
      curl_header **hout)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_node_next
      Src: /src/curl/lib/headers.c:149,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/headers.c:152,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/headers.c:157,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/headers.c:160,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/headers.c:168,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/headers.c:172,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/headers.c:172,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/headers.c:173,1
    - Dst: curl_strequal
      Src: /src/curl/lib/headers.c:174,1
    - Dst: copy_header_external
      Src: /src/curl/lib/headers.c:182,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - easy
    - type
    - request
    - prev
    argTypes:
    - CURL*
    - unsigned int
    - int
    - struct curl_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 185
    functionName: curl_easy_nextheader
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 4
    functionsReached:
    - curl_strequal
    - Curl_node_elem
    - Curl_node_next
    - copy_header_external
    - Curl_llist_head
    linkageType: ''
    returnType: struct curl_header
    signature: "struct curl_header *curl_easy_nextheader(CURL *easy,\n                                         unsigned
      int type,\n                                         int request,\n                                         struct
      curl_header *prev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/headers.c:191,1
    - Dst: ISBLANK
      Src: /src/curl/lib/headers.c:211,1
    - Dst: ISBLANK
      Src: /src/curl/lib/headers.c:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - header
    - hlen
    - type
    - name
    - value
    argTypes:
    - char*
    - size_t
    - unsigned int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 220
    functionName: namevalue
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode namevalue(char *header, size_t hlen, unsigned int type,\n
      \                         char **name, char **value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/headers.c:230,1
    - Dst: strlen
      Src: /src/curl/lib/headers.c:232,1
    - Dst: ISBLANK
      Src: /src/curl/lib/headers.c:237,1
    - Dst: ISBLANK
      Src: /src/curl/lib/headers.c:241,1
    - Dst: ISBLANK
      Src: /src/curl/lib/headers.c:241,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/headers.c:249,1
    - Dst: Curl_saferealloc
      Src: /src/curl/lib/headers.c:252,1
    - Dst: memcpy
      Src: /src/curl/lib/headers.c:262,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/headers.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - data
    - value
    - vlen
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 269
    functionName: unfold_value
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 0
    functionsReached:
    - strlen
    - Curl_saferealloc
    - memcpy
    - Curl_llist_append
    - DEBUGASSERT
    - Curl_node_remove
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode unfold_value(struct Curl_easy *data, const char *value,\n
      \                            size_t vlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/lib/headers.c:290,1
    - Dst: strchr
      Src: /src/curl/lib/headers.c:292,1
    - Dst: unfold_value
      Src: /src/curl/lib/headers.c:302,1
    - Dst: ISBLANK
      Src: /src/curl/lib/headers.c:306,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/headers.c:314,1
    - Dst: failf
      Src: /src/curl/lib/headers.c:315,1
    - Dst: calloc
      Src: /src/curl/lib/headers.c:320,1
    - Dst: memcpy
      Src: /src/curl/lib/headers.c:323,1
    - Dst: namevalue
      Src: /src/curl/lib/headers.c:326,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/headers.c:334,1
    - Dst: failf
      Src: /src/curl/lib/headers.c:338,1
    - Dst: free
      Src: /src/curl/lib/headers.c:339,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - data
    - header
    - type
    argTypes:
    - struct Curl_easy*
    - char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 342
    functionName: Curl_headers_push
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 1
    functionsReached:
    - calloc
    - unfold_value
    - failf
    - strchr
    - memcpy
    - free
    - Curl_llist_append
    - namevalue
    - Curl_llist_count
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_headers_push(struct Curl_easy *data, const char *header,\n
      \                          unsigned char type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_init
      Src: /src/curl/lib/headers.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: headers_reset
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 0
    functionsReached:
    - Curl_llist_init
    linkageType: ''
    returnType: void
    signature: void headers_reset(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_headers_push
      Src: /src/curl/lib/headers.c:367,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/headers.c:368,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/headers.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 374
    functionName: hds_cw_collect_write
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - CURL_TRC_WRITE
    - Curl_headers_push
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode hds_cw_collect_write(struct Curl_easy *data,\n                                     struct
      Curl_cwriter *writer, int type,\n                                     const
      char *buf, size_t blen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_name
      Src: /src/curl/lib/headers.c:392,1
    - Dst: Curl_cwriter_create
      Src: /src/curl/lib/headers.c:395,1
    - Dst: Curl_cwriter_add
      Src: /src/curl/lib/headers.c:400,1
    - Dst: Curl_cwriter_free
      Src: /src/curl/lib/headers.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: Curl_headers_init
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 2
    functionsReached:
    - Curl_cwriter_add
    - Curl_cwriter_get_by_name
    - Curl_cwriter_free
    - Curl_cwriter_create
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_headers_init(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/headers.c:417,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/headers.c:418,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/headers.c:419,1
    - Dst: free
      Src: /src/curl/lib/headers.c:420,1
    - Dst: headers_reset
      Src: /src/curl/lib/headers.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: Curl_headers_cleanup
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 2
    functionsReached:
    - Curl_node_elem
    - free
    - Curl_node_next
    - headers_reset
    - Curl_llist_head
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_headers_cleanup(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - easy
    - name
    - index
    - origin
    - request
    - hout
    argTypes:
    - CURL*
    - char*
    - size_t
    - unsigned int
    - int
    - struct curl_header**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 442
    functionName: curl_easy_header
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CURLHcode
    signature: "CURLHcode curl_easy_header(CURL *easy,\n                           const
      char *name,\n                           size_t index,\n                           unsigned
      int origin,\n                           int request,\n                           struct
      curl_header **hout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - easy
    - type
    - request
    - prev
    argTypes:
    - CURL*
    - unsigned int
    - int
    - struct curl_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 454
    functionName: curl_easy_nextheader
    functionSourceFile: /src/curl/lib/headers.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct curl_header
    signature: "struct curl_header *curl_easy_nextheader(CURL *easy,\n                                         unsigned
      int type,\n                                         int request,\n                                         struct
      curl_header *prev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/hsts.c:59,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/hsts.c:63,1
    - Dst: time
      Src: /src/curl/lib/hsts.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: hsts_debugtime
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - curlx_str_number
    - getenv
    - time
    linkageType: ''
    returnType: time_t
    signature: time_t hsts_debugtime(void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: time
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: time(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/hsts.c:75,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/hsts.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: Curl_hsts_init
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 5
    functionsReached:
    - calloc
    - Curl_llist_init
    linkageType: ''
    returnType: struct hsts
    signature: struct hsts *Curl_hsts_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/hsts.c:84,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/hsts.c:84,1
    - Dst: free
      Src: /src/curl/lib/hsts.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct stsentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: hsts_free
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - free
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void hsts_free(struct stsentry *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/hsts.c:94,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/hsts.c:95,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/hsts.c:96,1
    - Dst: hsts_free
      Src: /src/curl/lib/hsts.c:97,1
    - Dst: free
      Src: /src/curl/lib/hsts.c:99,1
    - Dst: free
      Src: /src/curl/lib/hsts.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct hsts**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: Curl_hsts_cleanup
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 8
    functionsReached:
    - Curl_llist_head
    - Curl_node_elem
    - free
    - Curl_node_next
    - hsts_free
    linkageType: ''
    returnType: void
    signature: void Curl_hsts_cleanup(struct hsts **hp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hsts.c:111,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hsts.c:112,1
    - Dst: calloc
      Src: /src/curl/lib/hsts.c:119,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/hsts.c:123,1
    - Dst: free
      Src: /src/curl/lib/hsts.c:125,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/hsts.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - h
    - hostname
    - hlen
    - subdomains
    - expires
    argTypes:
    - struct hsts*
    - char*
    - size_t
    - bool
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 135
    functionName: hsts_create
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - calloc
    - free
    - Curl_llist_append
    - Curl_memdup0
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode hsts_create(struct hsts *h,\n                            const
      char *hostname,\n                            size_t hlen,\n                            bool
      subdomains,\n                            curl_off_t expires)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/curl/lib/hsts.c:146,1
    - Dst: strlen
      Src: /src/curl/lib/hsts.c:147,1
    - Dst: Curl_host_is_ipnum
      Src: /src/curl/lib/hsts.c:149,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/hsts.c:155,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/hsts.c:156,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/hsts.c:164,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hsts.c:165,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/hsts.c:167,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/hsts.c:169,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/hsts.c:172,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/hsts.c:186,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/hsts.c:199,1
    - Dst: Curl_hsts
      Src: /src/curl/lib/hsts.c:210,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/hsts.c:212,1
    - Dst: hsts_free
      Src: /src/curl/lib/hsts.c:213,1
    - Dst: Curl_hsts
      Src: /src/curl/lib/hsts.c:225,1
    - Dst: hsts_create
      Src: /src/curl/lib/hsts.c:232,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 3
    argNames:
    - h
    - hostname
    - header
    argTypes:
    - struct hsts*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 235
    functionName: Curl_hsts_parse
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 2
    functionsReached:
    - Curl_host_is_ipnum
    - strlen
    - curl_strnequal
    - curlx_str_passblanks
    - hsts_create
    - hsts_free
    - curlx_str_number
    - curlx_str_single
    - Curl_node_remove
    - Curl_hsts
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_hsts_parse(struct hsts *h, const char *hostname,\n                         const
      char *header)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/curl/lib/hsts.c:248,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/hsts.c:259,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/hsts.c:260,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/hsts.c:262,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/hsts.c:265,1
    - Dst: hsts_free
      Src: /src/curl/lib/hsts.c:266,1
    - Dst: strlen
      Src: /src/curl/lib/hsts.c:269,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/hsts.c:273,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/hsts.c:281,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 4
    argNames:
    - h
    - hostname
    - hlen
    - subdomain
    argTypes:
    - struct hsts*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 286
    functionName: Curl_hsts
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 3
    functionsReached:
    - strlen
    - curl_strnequal
    - Curl_llist_head
    - Curl_node_elem
    - hsts_free
    - Curl_node_next
    - Curl_node_remove
    - time
    linkageType: ''
    returnType: struct stsentry
    signature: "struct stsentry *Curl_hsts(struct hsts *h, const char *hostname,\n
      \                          size_t hlen, bool subdomain)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/hsts.c:301,1
    - Dst: strlen
      Src: /src/curl/lib/hsts.c:302,1
    - Dst: Curl_gmtime
      Src: /src/curl/lib/hsts.c:306,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/hsts.c:310,1
    - Dst: strcpy
      Src: /src/curl/lib/hsts.c:315,1
    - Dst: struct Curl_easy*::set::hsts_write
      Src: /src/curl/lib/hsts.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - data
    - i
    - sts
    - stop
    argTypes:
    - struct Curl_easy*
    - struct curl_index*
    - struct stsentry*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 291
    functionDepth: 6
    functionLinenumber: 291
    functionLinenumberEnd: 321
    functionName: hsts_push
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_msnprintf
    - struct Curl_easy*::set::hsts_write
    - CURL_UNCONST
    - Curl_gmtime
    - strcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode hsts_push(struct Curl_easy *data,\n                          struct
      curl_index *i,\n                          struct stsentry *sts,\n                          bool
      *stop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gmtime
      Src: /src/curl/lib/hsts.c:330,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/hsts.c:333,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/hsts.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sts
    - fp
    argTypes:
    - struct stsentry*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 342
    functionName: hsts_out
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - Curl_gmtime
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode hsts_out(struct stsentry *sts, FILE *fp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_fopen
      Src: /src/curl/lib/hsts.c:369,1
    - Dst: fputs
      Src: /src/curl/lib/hsts.c:371,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/hsts.c:374,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/hsts.c:375,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/hsts.c:376,1
    - Dst: hsts_out
      Src: /src/curl/lib/hsts.c:377,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/hsts.c:381,1
    - Dst: Curl_rename
      Src: /src/curl/lib/hsts.c:382,1
    - Dst: unlink
      Src: /src/curl/lib/hsts.c:386,1
    - Dst: free
      Src: /src/curl/lib/hsts.c:388,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/hsts.c:393,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/hsts.c:395,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/hsts.c:396,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/hsts.c:398,1
    - Dst: hsts_push
      Src: /src/curl/lib/hsts.c:399,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 3
    argNames:
    - data
    - h
    - file
    argTypes:
    - struct Curl_easy*
    - struct hsts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 348
    functionDepth: 7
    functionLinenumber: 348
    functionLinenumberEnd: 406
    functionName: Curl_hsts_save
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 2
    functionsReached:
    - unlink
    - hsts_push
    - hsts_out
    - Curl_node_elem
    - fputs
    - free
    - Curl_fopen
    - Curl_node_next
    - Curl_llist_count
    - Curl_rename
    - Curl_llist_head
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_hsts_save(struct Curl_easy *data, struct hsts *h,\n
      \                       const char *file)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_word
      Src: /src/curl/lib/hsts.c:418,1
    - Dst: curlx_str_singlespace
      Src: /src/curl/lib/hsts.c:419,1
    - Dst: curlx_str_quotedword
      Src: /src/curl/lib/hsts.c:420,1
    - Dst: curlx_str_newline
      Src: /src/curl/lib/hsts.c:421,1
    - Dst: curlx_str
      Src: /src/curl/lib/hsts.c:429,1
    - Dst: memcpy
      Src: /src/curl/lib/hsts.c:433,1
    - Dst: curlx_str
      Src: /src/curl/lib/hsts.c:433,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hsts.c:433,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hsts.c:434,1
    - Dst: strcmp
      Src: /src/curl/lib/hsts.c:436,1
    - Dst: Curl_getdate_capped
      Src: /src/curl/lib/hsts.c:439,1
    - Dst: curlx_str_nudge
      Src: /src/curl/lib/hsts.c:442,1
    - Dst: Curl_hsts
      Src: /src/curl/lib/hsts.c:446,1
    - Dst: curlx_str
      Src: /src/curl/lib/hsts.c:446,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hsts.c:446,1
    - Dst: hsts_create
      Src: /src/curl/lib/hsts.c:448,1
    - Dst: curlx_str
      Src: /src/curl/lib/hsts.c:448,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/hsts.c:448,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/hsts.c:450,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - h
    - line
    argTypes:
    - struct hsts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 460
    functionName: hsts_add
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - curlx_str_casecompare
    - curlx_str_newline
    - curlx_str_nudge
    - hsts_create
    - curlx_str_word
    - memcpy
    - curlx_strlen
    - strcmp
    - curlx_str
    - Curl_getdate_capped
    - Curl_hsts
    - curlx_str_singlespace
    - curlx_str_quotedword
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode hsts_add(struct hsts *h, const char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hsts.c:471,1
    - Dst: struct Curl_easy*::set::hsts_read
      Src: /src/curl/lib/hsts.c:480,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hsts.c:484,1
    - Dst: Curl_getdate_capped
      Src: /src/curl/lib/hsts.c:489,1
    - Dst: hsts_create
      Src: /src/curl/lib/hsts.c:492,1
    - Dst: strlen
      Src: /src/curl/lib/hsts.c:492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - data
    - h
    argTypes:
    - struct Curl_easy*
    - struct hsts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 466
    functionDepth: 5
    functionLinenumber: 466
    functionLinenumberEnd: 504
    functionName: hsts_pull
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - strlen
    - hsts_create
    - struct Curl_easy*::set::hsts_read
    - Curl_getdate_capped
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode hsts_pull(struct Curl_easy *data, struct hsts *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/hsts.c:521,1
    - Dst: strdup
      Src: /src/curl/lib/hsts.c:522,1
    - Dst: curlx_fopen
      Src: /src/curl/lib/hsts.c:526,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/hsts.c:529,1
    - Dst: Curl_get_line
      Src: /src/curl/lib/hsts.c:530,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/hsts.c:531,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/hsts.c:532,1
    - Dst: strlen
      Src: /src/curl/lib/hsts.c:538,1
    - Dst: hsts_add
      Src: /src/curl/lib/hsts.c:541,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/hsts.c:543,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/hsts.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - h
    - file
    argTypes:
    - struct hsts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 514
    functionDepth: 6
    functionLinenumber: 514
    functionLinenumberEnd: 547
    functionName: hsts_load
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 0
    functionsReached:
    - curlx_str_passblanks
    - strlen
    - strdup
    - curlx_fopen
    - free
    - curlx_dyn_free
    - curlx_dyn_init
    - hsts_add
    - curlx_dyn_ptr
    - Curl_get_line
    - curlx_fclose
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode hsts_load(struct hsts *h, const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/hsts.c:555,1
    - Dst: hsts_load
      Src: /src/curl/lib/hsts.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - h
    - file
    argTypes:
    - struct Curl_easy*
    - struct hsts*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 7
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: Curl_hsts_loadfile
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 2
    functionsReached:
    - hsts_load
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_hsts_loadfile(struct Curl_easy *data,\n                            struct
      hsts *h, const char *file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hsts_pull
      Src: /src/curl/lib/hsts.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - h
    argTypes:
    - struct Curl_easy*
    - struct hsts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: Curl_hsts_loadcb
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 2
    functionsReached:
    - hsts_pull
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_hsts_loadcb(struct Curl_easy *data, struct hsts *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_share_lock
      Src: /src/curl/lib/hsts.c:574,1
    - Dst: Curl_hsts_loadfile
      Src: /src/curl/lib/hsts.c:577,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/hsts.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 570
    functionDepth: 8
    functionLinenumber: 570
    functionLinenumberEnd: 582
    functionName: Curl_hsts_loadfiles
    functionSourceFile: /src/curl/lib/hsts.c
    functionUses: 1
    functionsReached:
    - Curl_share_lock
    - Curl_hsts_loadfile
    - Curl_share_unlock
    linkageType: ''
    returnType: void
    signature: void Curl_hsts_loadfiles(struct Curl_easy *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_alpn2alpnid
      Src: /src/curl/lib/httpsrr.c:59,1
    - Dst: memchr
      Src: /src/curl/lib/httpsrr.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - cp
    - len
    - alpns
    argTypes:
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 75
    functionName: httpsrr_decode_alpn
    functionSourceFile: /src/curl/lib/httpsrr.c
    functionUses: 0
    functionsReached:
    - memchr
    - Curl_alpn2alpnid
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode httpsrr_decode_alpn(const char *cp, size_t len,\n                                    unsigned
      char *alpns)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:84,1
    - Dst: httpsrr_decode_alpn
      Src: /src/curl/lib/httpsrr.c:87,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:88,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:95,1
    - Dst: free
      Src: /src/curl/lib/httpsrr.c:100,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/httpsrr.c:101,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:105,1
    - Dst: free
      Src: /src/curl/lib/httpsrr.c:110,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/httpsrr.c:111,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:115,1
    - Dst: free
      Src: /src/curl/lib/httpsrr.c:120,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/httpsrr.c:121,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:125,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:131,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:134,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 5
    argNames:
    - data
    - hi
    - rrkey
    - val
    - vlen
    argTypes:
    - struct Curl_easy*
    - struct Curl_https_rrinfo*
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 138
    functionName: Curl_httpsrr_set
    functionSourceFile: /src/curl/lib/httpsrr.c
    functionUses: 1
    functionsReached:
    - httpsrr_decode_alpn
    - free
    - Curl_memdup
    - CURL_TRC_DNS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_httpsrr_set(struct Curl_easy *data,\n                          struct
      Curl_https_rrinfo *hi,\n                          uint16_t rrkey, const uint8_t
      *val, size_t vlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_memdup
      Src: /src/curl/lib/httpsrr.c:143,1
    - Dst: memset
      Src: /src/curl/lib/httpsrr.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rrinfo
    argTypes:
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: Curl_httpsrr_dup_move
    functionSourceFile: /src/curl/lib/httpsrr.c
    functionUses: 1
    functionsReached:
    - Curl_memdup
    - memset
    linkageType: ''
    returnType: struct Curl_https_rrinfo
    signature: 'struct Curl_https_rrinfo *

      Curl_httpsrr_dup_move(struct Curl_https_rrinfo *rrinfo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/httpsrr.c:151,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/httpsrr.c:152,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/httpsrr.c:153,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/httpsrr.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rrinfo
    argTypes:
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: Curl_httpsrr_cleanup
    functionSourceFile: /src/curl/lib/httpsrr.c
    functionUses: 4
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_httpsrr_cleanup(struct Curl_https_rrinfo *rrinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ares_dns_rr_get_opt
      Src: /src/curl/lib/httpsrr.c:169,1
    - Dst: Curl_httpsrr_set
      Src: /src/curl/lib/httpsrr.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - data
    - rr
    - key
    - idx
    - hinfo
    argTypes:
    - struct Curl_easy*
    - ares_dns_rr_t*
    - ares_dns_rr_key_t
    - size_t
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 6
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: httpsrr_opt
    functionSourceFile: /src/curl/lib/httpsrr.c
    functionUses: 0
    functionsReached:
    - ares_dns_rr_get_opt
    - Curl_httpsrr_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode httpsrr_opt(struct Curl_easy *data,\n                            const
      ares_dns_rr_t *rr,\n                            ares_dns_rr_key_t key, size_t
      idx,\n                            struct Curl_https_rrinfo *hinfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ares_dns_record_rr_cnt
      Src: /src/curl/lib/httpsrr.c:180,1
    - Dst: ares_dns_record_rr_get_const
      Src: /src/curl/lib/httpsrr.c:184,1
    - Dst: ares_dns_rr_get_type
      Src: /src/curl/lib/httpsrr.c:185,1
    - Dst: ares_dns_rr_get_str
      Src: /src/curl/lib/httpsrr.c:189,1
    - Dst: free
      Src: /src/curl/lib/httpsrr.c:191,1
    - Dst: strdup
      Src: /src/curl/lib/httpsrr.c:192,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:197,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/httpsrr.c:199,1
    - Dst: ares_dns_rr_get_u16
      Src: /src/curl/lib/httpsrr.c:200,1
    - Dst: ares_dns_rr_get_opt_cnt
      Src: /src/curl/lib/httpsrr.c:201,1
    - Dst: httpsrr_opt
      Src: /src/curl/lib/httpsrr.c:203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - data
    - dnsrec
    - hinfo
    argTypes:
    - struct Curl_easy*
    - ares_dns_record_t*
    - struct Curl_https_rrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 173
    functionDepth: 7
    functionLinenumber: 173
    functionLinenumberEnd: 210
    functionName: Curl_httpsrr_from_ares
    functionSourceFile: /src/curl/lib/httpsrr.c
    functionUses: 1
    functionsReached:
    - ares_dns_rr_get_type
    - ares_dns_rr_get_opt_cnt
    - strdup
    - CURL_TRC_DNS
    - httpsrr_opt
    - free
    - ares_dns_record_rr_get_const
    - ares_dns_record_rr_cnt
    - ares_dns_rr_get_str
    - ares_dns_rr_get_u16
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_httpsrr_from_ares(struct Curl_easy *data,\n                                const
      ares_dns_record_t *dnsrec,\n                                struct Curl_https_rrinfo
      *hinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/cw-pause.c:55,1
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/cw-pause.c:59,1
    - Dst: Curl_bufq_init
      Src: /src/curl/lib/cw-pause.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - type
    - buflen
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: cw_pause_buf_create
    functionSourceFile: /src/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_init
    - calloc
    - Curl_bufq_init2
    linkageType: ''
    returnType: struct cw_pause_buf
    signature: struct cw_pause_buf *cw_pause_buf_create(int type, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/cw-pause.c:70,1
    - Dst: free
      Src: /src/curl/lib/cw-pause.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cwbuf
    argTypes:
    - struct cw_pause_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: cw_pause_buf_free
    functionSourceFile: /src/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void cw_pause_buf_free(struct cw_pause_buf *cwbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: cw_pause_init
    functionSourceFile: /src/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_pause_init(struct Curl_easy *data,\n                              struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cw_pause_buf_free
      Src: /src/curl/lib/cw-pause.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cw_pause_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: cw_pause_bufs_free
    functionSourceFile: /src/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - cw_pause_buf_free
    linkageType: ''
    returnType: void
    signature: void cw_pause_bufs_free(struct cw_pause_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cw_pause_bufs_free
      Src: /src/curl/lib/cw-pause.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: cw_pause_close
    functionSourceFile: /src/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - cw_pause_bufs_free
    linkageType: ''
    returnType: void
    signature: void cw_pause_close(struct Curl_easy *data, struct Curl_cwriter *writer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_is_content_decoding
      Src: /src/curl/lib/cw-pause.c:128,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/curl/lib/cw-pause.c:132,1
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/cw-pause.c:139,1
    - Dst: CURLMIN
      Src: /src/curl/lib/cw-pause.c:141,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/cw-pause.c:142,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/cw-pause.c:144,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/cw-pause.c:146,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cw-pause.c:147,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/cw-pause.c:153,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/cw-pause.c:155,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/cw-pause.c:159,1
    - Dst: cw_pause_buf_free
      Src: /src/curl/lib/cw-pause.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - data
    - cw_pause
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 165
    functionName: cw_pause_flush
    functionSourceFile: /src/curl/lib/cw-pause.c
    functionUses: 2
    functionsReached:
    - Curl_cwriter_write
    - CURLMIN
    - Curl_bufq_is_empty
    - CURL_TRC_WRITE
    - Curl_bufq_skip
    - Curl_cwriter_is_content_decoding
    - cw_pause_buf_free
    - Curl_cwriter_is_paused
    - Curl_bufq_peek
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_pause_flush(struct Curl_easy *data,\n                               struct
      Curl_cwriter *cw_pause)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_is_content_decoding
      Src: /src/curl/lib/cw-pause.c:174,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/curl/lib/cw-pause.c:176,1
    - Dst: cw_pause_flush
      Src: /src/curl/lib/cw-pause.c:177,1
    - Dst: Curl_cwriter_is_paused
      Src: /src/curl/lib/cw-pause.c:182,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cw-pause.c:184,1
    - Dst: CURLMIN
      Src: /src/curl/lib/cw-pause.c:188,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/cw-pause.c:191,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/cw-pause.c:192,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/cw-pause.c:207,1
    - Dst: cw_pause_buf_create
      Src: /src/curl/lib/cw-pause.c:211,1
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/cw-pause.c:216,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/cw-pause.c:218,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 167
    functionDepth: 6
    functionLinenumber: 167
    functionLinenumberEnd: 229
    functionName: cw_pause_write
    functionSourceFile: /src/curl/lib/cw-pause.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - Curl_bufq_cwrite
    - cw_pause_buf_create
    - CURLMIN
    - CURL_TRC_WRITE
    - cw_pause_flush
    - Curl_cwriter_is_content_decoding
    - Curl_cwriter_is_paused
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cw_pause_write(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer, int type,\n                               const char *buf,
      size_t blen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_get_by_type
      Src: /src/curl/lib/cw-pause.c:236,1
    - Dst: cw_pause_flush
      Src: /src/curl/lib/cw-pause.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: Curl_cw_pause_flush
    functionSourceFile: /src/curl/lib/cw-pause.c
    functionUses: 2
    functionsReached:
    - cw_pause_flush
    - Curl_cwriter_get_by_type
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_cw_pause_flush(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: RTP_PKT_LENGTH
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTP_PKT_LENGTH(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_add_out
      Src: /src/curl/lib/rtsp.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: rtsp_do_pollset
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_add_out
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_do_pollset(struct Curl_easy *data,\n                                struct
      easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/rtsp.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: rtsp_easy_dtor
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rtsp_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/rtsp.c:173,1
    - Dst: free
      Src: /src/curl/lib/rtsp.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: rtsp_conn_dtor
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - free
    linkageType: ''
    returnType: void
    signature: void rtsp_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/rtsp.c:183,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/rtsp.c:186,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/rtsp.c:187,1
    - Dst: calloc
      Src: /src/curl/lib/rtsp.c:190,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/rtsp.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: rtsp_setup_connection
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    - Curl_meta_set
    - Curl_conn_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_setup_connection(struct Curl_easy *data,\n                                      struct
      connectdata *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_is_alive
      Src: /src/curl/lib/rtsp.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - checks_to_perform
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 216
    functionName: rtsp_conncheck
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - Curl_conn_is_alive
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int rtsp_conncheck(struct Curl_easy *data,\n                                   struct
      connectdata *conn,\n                                   unsigned int checks_to_perform)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/rtsp.c:222,1
    - Dst: Curl_http_connect
      Src: /src/curl/lib/rtsp.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: rtsp_connect
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - Curl_http_connect
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtsp_connect(struct Curl_easy *data, bool *done)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/rtsp.c:245,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/rtsp.c:246,1
    - Dst: Curl_http_done
      Src: /src/curl/lib/rtsp.c:256,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:263,1
    - Dst: infof
      Src: /src/curl/lib/rtsp.c:269,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 279
    functionName: rtsp_done
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_http_done
    - Curl_conn_meta_get
    - infof
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_done(struct Curl_easy *data,\n                          CURLcode
      status, bool premature)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Curl_creader_set_fread
      Src: /src/curl/lib/rtsp.c:295,1
    - Dst: strlen
      Src: /src/curl/lib/rtsp.c:301,1
    - Dst: Curl_creader_set_buf
      Src: /src/curl/lib/rtsp.c:303,1
    - Dst: Curl_creader_set_fread
      Src: /src/curl/lib/rtsp.c:307,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/rtsp.c:311,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:320,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:320,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/rtsp.c:321,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:329,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:329,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/rtsp.c:330,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:331,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:339,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:339,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/rtsp.c:340,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:341,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/rtsp.c:355,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - data
    - rtspreq
    - reqp
    argTypes:
    - struct Curl_easy*
    - Curl_RtspReq
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 357
    functionName: rtsp_setup_body
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - strlen
    - Curl_creader_set_fread
    - Curl_creader_set_buf
    - Curl_checkheaders
    - curlx_dyn_addn
    - Curl_creader_set_null
    - STRCONST
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_setup_body(struct Curl_easy *data,\n                                Curl_RtspReq
      rtspreq,\n                                struct dynbuf *reqp)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/rtsp.c:364,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/rtsp.c:385,1
    - Dst: strdup
      Src: /src/curl/lib/rtsp.c:394,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:409,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:450,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/rtsp.c:455,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:464,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:479,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:479,1
    - Dst: free
      Src: /src/curl/lib/rtsp.c:483,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/rtsp.c:485,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:491,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:503,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:503,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:507,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:507,1
    - Dst: free
      Src: /src/curl/lib/rtsp.c:509,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/rtsp.c:511,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:526,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:526,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/rtsp.c:528,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:530,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:530,1
    - Dst: Curl_http_output_auth
      Src: /src/curl/lib/rtsp.c:536,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/rtsp.c:547,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:548,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:548,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/rtsp.c:549,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:564,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:564,1
    - Dst: free
      Src: /src/curl/lib/rtsp.c:565,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/rtsp.c:566,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:575,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:575,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:576,1
    - Dst: Curl_checkheaders
      Src: /src/curl/lib/rtsp.c:580,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:580,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:581,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/rtsp.c:587,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/rtsp.c:599,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/rtsp.c:607,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/rtsp.c:630,1
    - Dst: Curl_add_timecondition
      Src: /src/curl/lib/rtsp.c:636,1
    - Dst: Curl_add_custom_headers
      Src: /src/curl/lib/rtsp.c:641,1
    - Dst: rtsp_setup_body
      Src: /src/curl/lib/rtsp.c:645,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/rtsp.c:650,1
    - Dst: STRCONST
      Src: /src/curl/lib/rtsp.c:650,1
    - Dst: Curl_xfer_setup_sendrecv
      Src: /src/curl/lib/rtsp.c:654,1
    - Dst: Curl_req_send
      Src: /src/curl/lib/rtsp.c:657,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:659,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/rtsp.c:669,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/rtsp.c:670,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/rtsp.c:674,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 189
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 359
    functionDepth: 6
    functionLinenumber: 359
    functionLinenumberEnd: 676
    functionName: rtsp_do
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsUpdate
    - Curl_add_timecondition
    - STRCONST
    - failf
    - strdup
    - curlx_dyn_addn
    - curl_maprintf
    - Curl_add_custom_headers
    - Curl_checkheaders
    - rtsp_setup_body
    - Curl_xfer_setup_recv
    - free
    - curlx_dyn_free
    - curlx_dyn_init
    - Curl_meta_get
    - Curl_xfer_setup_sendrecv
    - Curl_safefree
    - Curl_http_output_auth
    - Curl_pgrsSetUploadCounter
    - curlx_dyn_addf
    - Curl_req_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtsp_do(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rtsp.c:693,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/rtsp.c:697,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - data
    - rtspc
    - buf
    - blen
    argTypes:
    - struct Curl_easy*
    - struct rtsp_conn*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 700
    functionName: rtp_write_body_junk
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_client_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtp_write_body_junk(struct Curl_easy *data,\n                                    struct
      rtsp_conn *rtspc,\n                                    const char *buf,\n                                    size_t
      blen)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rtsp.c:719,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/rtsp.c:719,1
    - Dst: strncmp
      Src: /src/curl/lib/rtsp.c:723,1
    - Dst: DEBUGF
      Src: /src/curl/lib/rtsp.c:726,1
    - Dst: infof
      Src: /src/curl/lib/rtsp.c:726,1
    - Dst: rtp_write_body_junk
      Src: /src/curl/lib/rtsp.c:744,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/rtsp.c:749,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rtsp.c:764,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/rtsp.c:764,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rtsp.c:768,1
    - Dst: DEBUGF
      Src: /src/curl/lib/rtsp.c:770,1
    - Dst: infof
      Src: /src/curl/lib/rtsp.c:770,1
    - Dst: rtp_write_body_junk
      Src: /src/curl/lib/rtsp.c:775,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/rtsp.c:776,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/rtsp.c:784,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/rtsp.c:789,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/rtsp.c:801,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rtsp.c:803,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/rtsp.c:804,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/rtsp.c:813,1
    - Dst: RTP_PKT_LENGTH
      Src: /src/curl/lib/rtsp.c:814,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/rtsp.c:820,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rtsp.c:822,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/rtsp.c:825,1
    - Dst: DEBUGF
      Src: /src/curl/lib/rtsp.c:833,1
    - Dst: infof
      Src: /src/curl/lib/rtsp.c:833,1
    - Dst: rtp_client_write
      Src: /src/curl/lib/rtsp.c:835,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/rtsp.c:835,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/rtsp.c:837,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/rtsp.c:843,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/rtsp.c:855,1
    - Dst: rtp_write_body_junk
      Src: /src/curl/lib/rtsp.c:861,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 130
    argCount: 5
    argNames:
    - data
    - rtspc
    - buf
    - blen
    - pconsumed
    argTypes:
    - struct Curl_easy*
    - struct rtsp_conn*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 863
    functionName: rtsp_filter_rtp
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - curlx_dyn_addn
    - curlx_dyn_free
    - RTP_PKT_LENGTH
    - rtp_client_write
    - rtp_write_body_junk
    - curlx_dyn_len
    - infof
    - strncmp
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_filter_rtp(struct Curl_easy *data,\n                                struct
      rtsp_conn *rtspc,\n                                const char *buf,\n                                size_t
      blen,\n                                size_t *pconsumed)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/rtsp.c:871,1
    - Dst: DEBUGF
      Src: /src/curl/lib/rtsp.c:884,1
    - Dst: infof
      Src: /src/curl/lib/rtsp.c:884,1
    - Dst: rtsp_filter_rtp
      Src: /src/curl/lib/rtsp.c:889,1
    - Dst: DEBUGF
      Src: /src/curl/lib/rtsp.c:896,1
    - Dst: infof
      Src: /src/curl/lib/rtsp.c:896,1
    - Dst: Curl_http_write_resp_hds
      Src: /src/curl/lib/rtsp.c:903,1
    - Dst: rtsp_filter_rtp
      Src: /src/curl/lib/rtsp.c:921,1
    - Dst: DEBUGF
      Src: /src/curl/lib/rtsp.c:933,1
    - Dst: infof
      Src: /src/curl/lib/rtsp.c:933,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/rtsp.c:938,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 865
    functionDepth: 8
    functionLinenumber: 865
    functionLinenumberEnd: 951
    functionName: rtsp_rtp_write_resp
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - DEBUGF
    - Curl_client_write
    - Curl_conn_meta_get
    - Curl_http_write_resp_hds
    - infof
    - rtsp_filter_rtp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_rtp_write_resp(struct Curl_easy *data,\n                                    const
      char *buf,\n                                    size_t blen,\n                                    bool
      is_eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtsp_rtp_write_resp
      Src: /src/curl/lib/rtsp.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - is_eos
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 953
    functionDepth: 9
    functionLinenumber: 953
    functionLinenumberEnd: 959
    functionName: rtsp_rtp_write_resp_hd
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 0
    functionsReached:
    - rtsp_rtp_write_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode rtsp_rtp_write_resp_hd(struct Curl_easy *data,\n                                       const
      char *buf,\n                                       size_t blen,\n                                       bool
      is_eos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:969,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/rtsp.c:986,1
    - Dst: writeit
      Src: /src/curl/lib/rtsp.c:987,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/rtsp.c:987,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/rtsp.c:988,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:991,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - data
    - ptr
    - len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 1001
    functionName: rtp_client_write
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 1
    functionsReached:
    - failf
    - CURL_UNCONST
    - Curl_set_in_callback
    - writeit
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtp_client_write(struct Curl_easy *data, const char *ptr,
      size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/curl/lib/rtsp.c:1005,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/rtsp.c:1007,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/rtsp.c:1011,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/rtsp.c:1012,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:1013,1
    - Dst: checkprefix
      Src: /src/curl/lib/rtsp.c:1019,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/rtsp.c:1025,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:1028,1
    - Dst: strlen
      Src: /src/curl/lib/rtsp.c:1046,1
    - Dst: strncmp
      Src: /src/curl/lib/rtsp.c:1047,1
    - Dst: failf
      Src: /src/curl/lib/rtsp.c:1048,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/rtsp.c:1059,1
    - Dst: checkprefix
      Src: /src/curl/lib/rtsp.c:1064,1
    - Dst: rtsp_parse_transport
      Src: /src/curl/lib/rtsp.c:1066,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - data
    - header
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1003
    functionDepth: 2
    functionLinenumber: 1003
    functionLinenumberEnd: 1071
    functionName: Curl_rtsp_parseheader
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 1
    functionsReached:
    - curlx_str_passblanks
    - failf
    - strlen
    - curlx_str_number
    - rtsp_parse_transport
    - Curl_memdup0
    - strncmp
    - Curl_meta_get
    - checkprefix
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_rtsp_parseheader(struct Curl_easy *data, const char *header)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/rtsp.c:1083,1
    - Dst: strchr
      Src: /src/curl/lib/rtsp.c:1084,1
    - Dst: checkprefix
      Src: /src/curl/lib/rtsp.c:1085,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/rtsp.c:1088,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/rtsp.c:1091,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/rtsp.c:1092,1
    - Dst: infof
      Src: /src/curl/lib/rtsp.c:1093,1
    - Dst: infof
      Src: /src/curl/lib/rtsp.c:1105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - data
    - transport
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1114
    functionName: rtsp_parse_transport
    functionSourceFile: /src/curl/lib/rtsp.c
    functionUses: 1
    functionsReached:
    - curlx_str_passblanks
    - strchr
    - curlx_str_number
    - curlx_str_single
    - infof
    - checkprefix
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rtsp_parse_transport(struct Curl_easy *data, const char *transport)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ares_library_init
      Src: /src/curl/lib/asyn-ares.c:127,1
    - Dst: ares_version
      Src: /src/curl/lib/asyn-ares.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: Curl_async_global_init
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - ares_library_init
    - ares_version
    linkageType: ''
    returnType: int
    signature: int Curl_async_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ares_library_cleanup
      Src: /src/curl/lib/asyn-ares.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: Curl_async_global_cleanup
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - ares_library_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_async_global_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-ares.c:154,1
    - Dst: Curl_multi_will_close
      Src: /src/curl/lib/asyn-ares.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - data
    - socket_fd
    - readable
    - writable
    argTypes:
    - void*
    - ares_socket_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: sock_state_cb
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_multi_will_close
    linkageType: ''
    returnType: void
    signature: "void sock_state_cb(void *data, ares_socket_t socket_fd,\n                          int
      readable, int writable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-ares.c:170,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-ares.c:180,1
    - Dst: ares_init_options
      Src: /src/curl/lib/asyn-ares.c:186,1
    - Dst: async_ares_set_dns_servers
      Src: /src/curl/lib/asyn-ares.c:194,1
    - Dst: Curl_async_ares_set_dns_interface
      Src: /src/curl/lib/asyn-ares.c:198,1
    - Dst: Curl_async_ares_set_dns_local_ip4
      Src: /src/curl/lib/asyn-ares.c:202,1
    - Dst: Curl_async_ares_set_dns_local_ip6
      Src: /src/curl/lib/asyn-ares.c:206,1
    - Dst: ares_destroy
      Src: /src/curl/lib/asyn-ares.c:214,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 218
    functionName: async_ares_init
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - Curl_async_ares_set_dns_local_ip4
    - async_ares_set_dns_servers
    - ares_init_options
    - ares_destroy
    - Curl_async_ares_set_dns_local_ip6
    - Curl_async_ares_set_dns_interface
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode async_ares_init(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_init
      Src: /src/curl/lib/asyn-ares.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: async_ares_init_lazy
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - async_ares_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode async_ares_init_lazy(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_init
      Src: /src/curl/lib/asyn-ares.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - impl
    argTypes:
    - struct Curl_easy*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: Curl_async_get_impl
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - async_ares_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_get_impl(struct Curl_easy *data, void **impl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/asyn-ares.c:246,1
    - Dst: Curl_httpsrr_cleanup
      Src: /src/curl/lib/asyn-ares.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: async_ares_cleanup
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - Curl_httpsrr_cleanup
    - Curl_freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void async_ares_cleanup(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_async_ares_destroy
      Src: /src/curl/lib/asyn-ares.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: Curl_async_ares_shutdown
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - Curl_async_ares_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_async_ares_shutdown(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ares_destroy
      Src: /src/curl/lib/asyn-ares.c:268,1
    - Dst: async_ares_cleanup
      Src: /src/curl/lib/asyn-ares.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: Curl_async_ares_destroy
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - async_ares_cleanup
    - ares_destroy
    linkageType: ''
    returnType: void
    signature: void Curl_async_ares_destroy(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ares_pollset
      Src: /src/curl/lib/asyn-ares.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 8
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: Curl_async_pollset
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - Curl_ares_pollset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_pollset(struct Curl_easy *data, struct easy_pollset
      *ps)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-ares.c:300,1
    - Dst: Curl_ares_perform
      Src: /src/curl/lib/asyn-ares.c:308,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/asyn-ares.c:321,1
    - Dst: curlx_now
      Src: /src/curl/lib/asyn-ares.c:321,1
    - Dst: memset
      Src: /src/curl/lib/asyn-ares.c:325,1
    - Dst: ares_cancel
      Src: /src/curl/lib/asyn-ares.c:332,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-ares.c:333,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/asyn-ares.c:339,1
    - Dst: Curl_dnscache_mk_entry
      Src: /src/curl/lib/asyn-ares.c:344,1
    - Dst: Curl_httpsrr_dup_move
      Src: /src/curl/lib/asyn-ares.c:350,1
    - Dst: Curl_dnscache_add
      Src: /src/curl/lib/asyn-ares.c:358,1
    - Dst: ares_strerror
      Src: /src/curl/lib/asyn-ares.c:365,1
    - Dst: Curl_resolver_error
      Src: /src/curl/lib/asyn-ares.c:366,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/asyn-ares.c:370,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:372,1
    - Dst: async_ares_cleanup
      Src: /src/curl/lib/asyn-ares.c:374,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 2
    argNames:
    - data
    - dns
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 380
    functionName: Curl_async_is_resolved
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - async_ares_cleanup
    - Curl_dnscache_mk_entry
    - CURL_TRC_DNS
    - Curl_resolver_error
    - curlx_now
    - ares_cancel
    - curlx_timediff
    - Curl_dnscache_add
    - ares_strerror
    - memset
    - Curl_httpsrr_dup_move
    - Curl_resolv_unlink
    - DEBUGASSERT
    - Curl_ares_perform
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_async_is_resolved(struct Curl_easy *data,\n                                struct
      Curl_dns_entry **dns)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/asyn-ares.c:399,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-ares.c:401,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/asyn-ares.c:404,1
    - Dst: connclose
      Src: /src/curl/lib/asyn-ares.c:407,1
    - Dst: ares_timeout
      Src: /src/curl/lib/asyn-ares.c:428,1
    - Dst: Curl_ares_perform
      Src: /src/curl/lib/asyn-ares.c:438,1
    - Dst: Curl_async_is_resolved
      Src: /src/curl/lib/asyn-ares.c:441,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/asyn-ares.c:445,1
    - Dst: curlx_now
      Src: /src/curl/lib/asyn-ares.c:448,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/asyn-ares.c:449,1
    - Dst: ares_cancel
      Src: /src/curl/lib/asyn-ares.c:468,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - data
    - entry
    argTypes:
    - struct Curl_easy*
    - struct Curl_dns_entry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 470
    functionName: Curl_async_await
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - Curl_timeleft
    - curlx_now
    - ares_cancel
    - Curl_pgrsUpdate
    - curlx_timediff
    - connclose
    - Curl_async_is_resolved
    - ares_timeout
    - DEBUGASSERT
    - Curl_ares_perform
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_async_await(struct Curl_easy *data,\n                          struct
      Curl_dns_entry **entry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pbase
    - ai
    argTypes:
    - struct Curl_addrinfo**
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 501
    functionName: async_addr_concat
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void async_addr_concat(struct Curl_addrinfo **pbase,\n                              struct
      Curl_addrinfo *ai)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: async_addr_concat
      Src: /src/curl/lib/asyn-ares.c:524,1
    - Dst: Curl_he2ai
      Src: /src/curl/lib/asyn-ares.c:525,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:534,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/asyn-ares.c:553,1
    - Dst: curlx_now
      Src: /src/curl/lib/asyn-ares.c:592,1
    - Dst: Curl_expire
      Src: /src/curl/lib/asyn-ares.c:593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - user_data
    - status
    - timeouts
    - hostent
    argTypes:
    - void*
    - int
    - int
    - struct hostent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 509
    functionDepth: 7
    functionLinenumber: 509
    functionLinenumberEnd: 596
    functionName: async_ares_hostbyname_cb
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - Curl_he2ai
    - CURL_TRC_DNS
    - curlx_now
    - async_addr_concat
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void async_ares_hostbyname_cb(void *user_data,\n                                     int
      status,\n                                     int timeouts,\n                                     struct
      hostent *hostent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/asyn-ares.c:636,1
    - Dst: memcpy
      Src: /src/curl/lib/asyn-ares.c:655,1
    - Dst: Curl_freeaddrinfo
      Src: /src/curl/lib/asyn-ares.c:669,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct ares_addrinfo_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 674
    functionName: async_ares_node2addr
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - Curl_freeaddrinfo
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: 'struct Curl_addrinfo *

      async_ares_node2addr(struct ares_addrinfo_node *node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_node2addr
      Src: /src/curl/lib/asyn-ares.c:685,1
    - Dst: ares_freeaddrinfo
      Src: /src/curl/lib/asyn-ares.c:686,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - user_data
    - status
    - timeouts
    - ares_ai
    argTypes:
    - void*
    - int
    - int
    - struct ares_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 693
    functionName: async_ares_addrinfo_cb
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - ares_freeaddrinfo
    - async_ares_node2addr
    - CURL_TRC_DNS
    linkageType: ''
    returnType: void
    signature: "void async_ares_addrinfo_cb(void *user_data, int status, int timeouts,\n
      \                                  struct ares_addrinfo *ares_ai)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:707,1
    - Dst: ares_dns_record_rr_cnt
      Src: /src/curl/lib/asyn-ares.c:711,1
    - Dst: Curl_httpsrr_from_ares
      Src: /src/curl/lib/asyn-ares.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - user_data
    - status
    - timeouts
    - dnsrec
    argTypes:
    - void*
    - ares_status_t
    - size_t
    - ares_dns_record_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 698
    functionDepth: 8
    functionLinenumber: 698
    functionLinenumberEnd: 716
    functionName: async_ares_rr_done
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 0
    functionsReached:
    - Curl_httpsrr_from_ares
    - ares_dns_record_rr_cnt
    - CURL_TRC_DNS
    linkageType: ''
    returnType: void
    signature: "void async_ares_rr_done(void *user_data, ares_status_t status,\n                               size_t
      timeouts,\n                               const ares_dns_record_t *dnsrec)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_init_lazy
      Src: /src/curl/lib/asyn-ares.c:736,1
    - Dst: strdup
      Src: /src/curl/lib/asyn-ares.c:743,1
    - Dst: CURL_TRC_DNS_is_verbose
      Src: /src/curl/lib/asyn-ares.c:753,1
    - Dst: ares_get_servers_csv
      Src: /src/curl/lib/asyn-ares.c:754,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:755,1
    - Dst: ares_free_string
      Src: /src/curl/lib/asyn-ares.c:756,1
    - Dst: memset
      Src: /src/curl/lib/asyn-ares.c:765,1
    - Dst: Curl_ipv6works
      Src: /src/curl/lib/asyn-ares.c:768,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:776,1
    - Dst: Curl_conn_get_transport
      Src: /src/curl/lib/asyn-ares.c:781,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/asyn-ares.c:787,1
    - Dst: ares_getaddrinfo
      Src: /src/curl/lib/asyn-ares.c:789,1
    - Dst: Curl_ipv6works
      Src: /src/curl/lib/asyn-ares.c:795,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:798,1
    - Dst: ares_gethostbyname
      Src: /src/curl/lib/asyn-ares.c:799,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:801,1
    - Dst: ares_gethostbyname
      Src: /src/curl/lib/asyn-ares.c:803,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:810,1
    - Dst: ares_gethostbyname
      Src: /src/curl/lib/asyn-ares.c:812,1
    - Dst: CURL_TRC_DNS
      Src: /src/curl/lib/asyn-ares.c:818,1
    - Dst: memset
      Src: /src/curl/lib/asyn-ares.c:819,1
    - Dst: ares_query_dnsrec
      Src: /src/curl/lib/asyn-ares.c:822,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 5
    argNames:
    - data
    - hostname
    - port
    - ip_version
    - waitp
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 727
    functionDepth: 6
    functionLinenumber: 727
    functionLinenumberEnd: 830
    functionName: Curl_async_getaddrinfo
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - ares_gethostbyname
    - ares_get_servers_csv
    - curl_msnprintf
    - CURL_TRC_DNS
    - strdup
    - ares_free_string
    - ares_getaddrinfo
    - memset
    - Curl_conn_get_transport
    - Curl_ipv6works
    - CURL_TRC_DNS_is_verbose
    - async_ares_init_lazy
    - ares_query_dnsrec
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: "struct Curl_addrinfo *Curl_async_getaddrinfo(struct Curl_easy *data,\n
      \                                            const char *hostname,\n                                             int
      port,\n                                             int ip_version,\n                                             int
      *waitp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/asyn-ares.c:847,1
    - Dst: getenv
      Src: /src/curl/lib/asyn-ares.c:848,1
    - Dst: Curl_async_destroy
      Src: /src/curl/lib/asyn-ares.c:853,1
    - Dst: ares_set_servers_ports_csv
      Src: /src/curl/lib/asyn-ares.c:862,1
    - Dst: ares_set_servers_csv
      Src: /src/curl/lib/asyn-ares.c:864,1
    - Dst: DEBUGF
      Src: /src/curl/lib/asyn-ares.c:877,1
    - Dst: infof
      Src: /src/curl/lib/asyn-ares.c:877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - data
    - reset_on_null
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 886
    functionName: async_ares_set_dns_servers
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - DEBUGF
    - getenv
    - ares_set_servers_ports_csv
    - Curl_async_destroy
    - ares_set_servers_csv
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode async_ares_set_dns_servers(struct Curl_easy *data,\n                                           bool
      reset_on_null)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_ares_set_dns_servers
      Src: /src/curl/lib/asyn-ares.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 891
    functionName: Curl_async_ares_set_dns_servers
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 1
    functionsReached:
    - async_ares_set_dns_servers
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_ares_set_dns_servers(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ares_set_local_dev
      Src: /src/curl/lib/asyn-ares.c:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 912
    functionName: Curl_async_ares_set_dns_interface
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - ares_set_local_dev
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_ares_set_dns_interface(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/asyn-ares.c:925,1
    - Dst: DEBUGF
      Src: /src/curl/lib/asyn-ares.c:926,1
    - Dst: infof
      Src: /src/curl/lib/asyn-ares.c:926,1
    - Dst: ares_set_local_ip4
      Src: /src/curl/lib/asyn-ares.c:933,1
    - Dst: ntohl
      Src: /src/curl/lib/asyn-ares.c:933,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 941
    functionName: Curl_async_ares_set_dns_local_ip4
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - ntohl
    - DEBUGF
    - curlx_inet_pton
    - infof
    - ares_set_local_ip4
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_ares_set_dns_local_ip4(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/asyn-ares.c:952,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/asyn-ares.c:955,1
    - Dst: DEBUGF
      Src: /src/curl/lib/asyn-ares.c:956,1
    - Dst: infof
      Src: /src/curl/lib/asyn-ares.c:956,1
    - Dst: ares_set_local_ip6
      Src: /src/curl/lib/asyn-ares.c:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 970
    functionName: Curl_async_ares_set_dns_local_ip6
    functionSourceFile: /src/curl/lib/asyn-ares.c
    functionUses: 2
    functionsReached:
    - DEBUGF
    - curlx_inet_pton
    - ares_set_local_ip6
    - memset
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_async_ares_set_dns_local_ip6(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/curl/lib/curl_sha512_256.c:116,1
    - Dst: EVP_DigestInit_ex
      Src: /src/curl/lib/curl_sha512_256.c:120,1
    - Dst: EVP_sha512_256
      Src: /src/curl/lib/curl_sha512_256.c:120,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_sha512_256.c:122,1
    - Dst: EVP_MD_CTX_size
      Src: /src/curl/lib/curl_sha512_256.c:122,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_sha512_256.c:124,1
    - Dst: EVP_MD_CTX_block_size
      Src: /src/curl/lib/curl_sha512_256.c:124,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/curl/lib/curl_sha512_256.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: Curl_sha512_256_init
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_destroy
    - EVP_sha512_256
    - EVP_MD_CTX_create
    - EVP_MD_CTX_size
    - EVP_DigestInit_ex
    - EVP_MD_CTX_block_size
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_init(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/curl/lib/curl_sha512_256.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - context
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: Curl_sha512_256_update
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256_update(void *context,\n                                       const
      unsigned char *data,\n                                       size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/curl/lib/curl_sha512_256.c:174,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_sha512_256.c:177,1
    - Dst: explicit_memset
      Src: /src/curl/lib/curl_sha512_256.c:178,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/curl/lib/curl_sha512_256.c:180,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/curl/lib/curl_sha512_256.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 187
    functionName: Curl_sha512_256_finish
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - memcpy
    - explicit_memset
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_destroy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_finish(unsigned char *digest, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_sha512_256.c:210,1
    - Dst: sha512_256_init
      Src: /src/curl/lib/curl_sha512_256.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: Curl_sha512_256_init
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - sha512_256_init
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_init(void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_sha512_256.c:232,1
    - Dst: sha512_256_update
      Src: /src/curl/lib/curl_sha512_256.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - context
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: Curl_sha512_256_update
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - sha512_256_update
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256_update(void *context,\n                                       const
      unsigned char *data,\n                                       size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_256_digest
      Src: /src/curl/lib/curl_sha512_256.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: Curl_sha512_256_finish
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - sha512_256_digest
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256_finish(unsigned char *digest,\n                                       void
      *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: CURL_GET_64BIT_BE
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_GET_64BIT_BE(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: CURL_PUT_64BIT_BE
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_PUT_64BIT_BE(ptr,val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - bits
    argTypes:
    - curl_uint64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: curl_uint64_t::Curl_rotr64
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURL_FORCEINLINE
    signature: "CURL_FORCEINLINE curl_uint64_t Curl_rotr64(curl_uint64_t value,\n
      \                                                 unsigned int bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_sha512_256.c:416,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_sha512_256.c:418,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:423,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:424,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:425,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:426,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:427,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:428,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:429,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:430,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:433,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 437
    functionName: Curl_sha512_256_init
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - CURL_UINT64_C
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_init(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:486,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:486,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:487,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:487,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:488,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:488,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:489,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:489,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:490,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:490,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:491,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:491,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:492,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:492,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:493,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:493,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:494,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:494,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:495,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:495,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:496,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:496,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:497,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:497,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:498,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:498,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:499,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:499,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:500,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:500,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:501,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:501,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:502,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:502,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:503,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:503,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:504,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:504,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:505,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:505,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:506,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:506,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:507,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:507,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:508,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:508,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:509,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:509,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:510,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:510,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:511,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:511,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:512,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:512,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:513,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:513,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:514,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:514,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:515,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:515,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:516,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:516,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:517,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:517,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:518,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:518,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:519,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:519,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:520,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:520,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:521,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:521,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:522,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:522,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:523,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:523,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:524,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:524,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:525,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:525,1
    - Dst: SHA2STEP64RV
      Src: /src/curl/lib/curl_sha512_256.c:569,1
    - Dst: SHA512_GET_W_FROM_DATA
      Src: /src/curl/lib/curl_sha512_256.c:570,1
    - Dst: SHA2STEP64RV
      Src: /src/curl/lib/curl_sha512_256.c:586,1
    - Dst: Wgen
      Src: /src/curl/lib/curl_sha512_256.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - H
    - data
    argTypes:
    - curl_uint64_t[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 601
    functionName: Curl_sha512_256_transform
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - SHA2STEP64RV
    - CURL_UINT64_C
    - Wgen
    - SHA512_GET_W_FROM_DATA
    linkageType: ''
    returnType: void
    signature: "void Curl_sha512_256_transform(curl_uint64_t H[SHA512_256_HASH_SIZE_WORDS],\n
      \                              const void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: Sha512_Ch
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha512_Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: Sha512_Maj
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha512_Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: SIG0
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIG0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionName: SIG1
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIG1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: sig0
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sig0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: sig1
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sig1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - vA
    - ','
    - vB
    - ','
    - vC
    - ','
    - vD
    - ','
    - vE
    - ','
    - vF
    - ','
    - vG
    - ','
    - vH
    - ','
    - kt
    - ','
    - wt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: SHA2STEP64
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA2STEP64(vA,vB,vC,vD,vE,vF,vG,vH,kt,wt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - vA
    - ','
    - vB
    - ','
    - vC
    - ','
    - vD
    - ','
    - vE
    - ','
    - vF
    - ','
    - vG
    - ','
    - vH
    - ','
    - kt
    - ','
    - wt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: SHA2STEP64RV
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA2STEP64RV(vA,vB,vC,vD,vE,vF,vG,vH,kt,wt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: SHA512_GET_W_FROM_DATA
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA512_GET_W_FROM_DATA(buf,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: Wgen
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Wgen(w,t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curl_sha512_256.c:621,1
    - Dst: CURL_UINT64_C
      Src: /src/curl/lib/curl_sha512_256.c:633,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_sha512_256.c:640,1
    - Dst: Curl_sha512_256_transform
      Src: /src/curl/lib/curl_sha512_256.c:645,1
    - Dst: Curl_sha512_256_transform
      Src: /src/curl/lib/curl_sha512_256.c:653,1
    - Dst: memcpy
      Src: /src/curl/lib/curl_sha512_256.c:661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - context
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 665
    functionName: Curl_sha512_256_update
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CURL_UINT64_C
    - DEBUGASSERT
    - Curl_sha512_256_transform
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256_update(void *context,\n                                       const
      unsigned char *data,\n                                       size_t length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/curl_sha512_256.c:720,1
    - Dst: Curl_sha512_256_transform
      Src: /src/curl/lib/curl_sha512_256.c:723,1
    - Dst: memset
      Src: /src/curl/lib/curl_sha512_256.c:729,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/curl/lib/curl_sha512_256.c:735,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/curl/lib/curl_sha512_256.c:739,1
    - Dst: Curl_sha512_256_transform
      Src: /src/curl/lib/curl_sha512_256.c:745,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/curl/lib/curl_sha512_256.c:750,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/curl/lib/curl_sha512_256.c:751,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/curl/lib/curl_sha512_256.c:752,1
    - Dst: CURL_PUT_64BIT_BE
      Src: /src/curl/lib/curl_sha512_256.c:753,1
    - Dst: memset
      Src: /src/curl/lib/curl_sha512_256.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 759
    functionName: Curl_sha512_256_finish
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - CURL_PUT_64BIT_BE
    - Curl_sha512_256_transform
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_sha512_256_finish(unsigned char *digest, void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha512_256_init
      Src: /src/curl/lib/curl_sha512_256.c:777,1
    - Dst: Curl_sha512_256_update
      Src: /src/curl/lib/curl_sha512_256.c:781,1
    - Dst: Curl_sha512_256_finish
      Src: /src/curl/lib/curl_sha512_256.c:784,1
    - Dst: Curl_sha512_256_finish
      Src: /src/curl/lib/curl_sha512_256.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - output
    - input
    - input_size
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 789
    functionName: Curl_sha512_256it
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 1
    functionsReached:
    - Curl_sha512_256_init
    - Curl_sha512_256_update
    - Curl_sha512_256_finish
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha512_256it(unsigned char *output, const unsigned char
      *input,\n                           size_t input_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha512_256_update
      Src: /src/curl/lib/curl_sha512_256.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionName: Curl_sha512_256_update_i
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - Curl_sha512_256_update
    linkageType: ''
    returnType: void
    signature: "void Curl_sha512_256_update_i(void *context,\n                                     const
      unsigned char *data,\n                                     unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sha512_256_finish
      Src: /src/curl/lib/curl_sha512_256.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - context
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 805
    functionName: Curl_sha512_256_finish_v
    functionSourceFile: /src/curl/lib/curl_sha512_256.c
    functionUses: 0
    functionsReached:
    - Curl_sha512_256_finish
    linkageType: ''
    returnType: void
    signature: void Curl_sha512_256_finish_v(unsigned char *result, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_fileinfo_cleanup
      Src: /src/curl/lib/ftplistparser.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - user
    - element
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: fileinfo_dtor
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - Curl_fileinfo_cleanup
    linkageType: ''
    returnType: void
    signature: void fileinfo_dtor(void *user, void *element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_init
      Src: /src/curl/lib/ftplistparser.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wc
    argTypes:
    - struct WildcardData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: Curl_wildcard_init
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 1
    functionsReached:
    - Curl_llist_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_wildcard_init(struct WildcardData *wc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct WildcardData*::dtor
      Src: /src/curl/lib/ftplistparser.c:203,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/ftplistparser.c:207,1
    - Dst: Curl_llist_destroy
      Src: /src/curl/lib/ftplistparser.c:209,1
    - Dst: free
      Src: /src/curl/lib/ftplistparser.c:210,1
    - Dst: free
      Src: /src/curl/lib/ftplistparser.c:212,1
    - Dst: free
      Src: /src/curl/lib/ftplistparser.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - wcp
    argTypes:
    - struct WildcardData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: Curl_wildcard_dtor
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 2
    functionsReached:
    - free
    - Curl_llist_destroy
    - struct WildcardData*::dtor
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_wildcard_dtor(struct WildcardData **wcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/ftplistparser.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: Curl_ftp_parselist_data_alloc
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 1
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct ftp_parselist_data
    signature: struct ftp_parselist_data *Curl_ftp_parselist_data_alloc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_fileinfo_cleanup
      Src: /src/curl/lib/ftplistparser.c:229,1
    - Dst: free
      Src: /src/curl/lib/ftplistparser.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parserp
    argTypes:
    - struct ftp_parselist_data**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: Curl_ftp_parselist_data_free
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 2
    functionsReached:
    - free
    - Curl_fileinfo_cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_ftp_parselist_data_free(struct ftp_parselist_data **parserp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl_data
    argTypes:
    - struct ftp_parselist_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: Curl_ftp_parselist_geterror
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ftp_parselist_geterror(struct ftp_parselist_data *pl_data)
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 306
    functionName: ftp_pl_get_permission
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ftp_pl_get_permission(const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:320,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftplistparser.c:338,1
    - Dst: compare
      Src: /src/curl/lib/ftplistparser.c:339,1
    - Dst: strstr
      Src: /src/curl/lib/ftplistparser.c:343,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/ftplistparser.c:350,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/ftplistparser.c:353,1
    - Dst: Curl_fileinfo_cleanup
      Src: /src/curl/lib/ftplistparser.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - data
    - infop
    argTypes:
    - struct Curl_easy*
    - struct fileinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 361
    functionName: ftp_pl_insert_finfo
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - strstr
    - Curl_llist_append
    - compare
    - Curl_fileinfo_cleanup
    - curlx_dyn_ptr
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ftp_pl_insert_finfo(struct Curl_easy *data,\n                                    struct
      fileinfo *infop)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - c
    - t
    argTypes:
    - char
    - curlfiletype*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 396
    functionName: unix_filetype
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode unix_filetype(const char c, curlfiletype *t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftplistparser.c:402,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:403,1
    - Dst: curlx_dyn_setlen
      Src: /src/curl/lib/ftplistparser.c:420,1
    - Dst: strncmp
      Src: /src/curl/lib/ftplistparser.c:424,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/ftplistparser.c:428,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/ftplistparser.c:429,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/ftplistparser.c:435,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 444
    functionName: parse_unix_totalsize
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - curlx_str_passblanks
    - curlx_dyn_setlen
    - curlx_dyn_reset
    - curlx_dyn_len
    - ISDIGIT
    - strncmp
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_totalsize(struct ftp_parselist_data *parser,\n
      \                                    struct fileinfo *infop,\n                                     const
      char c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:450,1
    - Dst: strchr
      Src: /src/curl/lib/ftplistparser.c:452,1
    - Dst: ftp_pl_get_permission
      Src: /src/curl/lib/ftplistparser.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 474
    functionName: parse_unix_permission
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ftp_pl_get_permission
    - strchr
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_permission(struct ftp_parselist_data *parser,\n
      \                                     struct fileinfo *infop,\n                                      const
      char c)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftplistparser.c:480,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:481,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/ftplistparser.c:486,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/ftplistparser.c:502,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/ftplistparser.c:511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 517
    functionName: parse_unix_hlinks
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curlx_str_number
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_hlinks(struct ftp_parselist_data *parser,\n                                  struct
      fileinfo *infop,\n                                  const char c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftplistparser.c:523,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 546
    functionName: parse_unix_user
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_user(struct ftp_parselist_data *parser,\n                                struct
      fileinfo *infop,\n                                const char c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftplistparser.c:552,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 575
    functionName: parse_unix_group
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_group(struct ftp_parselist_data *parser,\n                                 struct
      fileinfo *infop,\n                                 const char c)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftplistparser.c:581,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:582,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/ftplistparser.c:586,1
    - Dst: curlx_str_numblanks
      Src: /src/curl/lib/ftplistparser.c:601,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/ftplistparser.c:612,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 618
    functionName: parse_unix_size
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ISDIGIT
    - curlx_str_numblanks
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_size(struct ftp_parselist_data *parser,\n                                struct
      fileinfo *infop,\n                                const char c)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftplistparser.c:624,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:625,1
    - Dst: ISALNUM
      Src: /src/curl/lib/ftplistparser.c:631,1
    - Dst: ISALNUM
      Src: /src/curl/lib/ftplistparser.c:645,1
    - Dst: ISALNUM
      Src: /src/curl/lib/ftplistparser.c:652,1
    - Dst: ISALNUM
      Src: /src/curl/lib/ftplistparser.c:662,1
    - Dst: ISALNUM
      Src: /src/curl/lib/ftplistparser.c:668,1
    - Dst: ISALNUM
      Src: /src/curl/lib/ftplistparser.c:688,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 3
    argNames:
    - parser
    - infop
    - c
    argTypes:
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 693
    functionName: parse_unix_time
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ISALNUM
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_time(struct ftp_parselist_data *parser,\n                                struct
      fileinfo *infop,\n                                const char c)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftplistparser.c:700,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:701,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/curl/lib/ftplistparser.c:721,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/curl/lib/ftplistparser.c:729,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - data
    - parser
    - infop
    - c
    argTypes:
    - struct Curl_easy*
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 695
    functionDepth: 4
    functionLinenumber: 695
    functionLinenumberEnd: 736
    functionName: parse_unix_filename
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ftp_pl_insert_finfo
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_filename(struct Curl_easy *data,\n                                    struct
      ftp_parselist_data *parser,\n                                    struct fileinfo
      *infop,\n                                    const char c)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftplistparser.c:743,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:744,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/curl/lib/ftplistparser.c:817,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/curl/lib/ftplistparser.c:828,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 4
    argNames:
    - data
    - parser
    - infop
    - c
    argTypes:
    - struct Curl_easy*
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 840
    functionName: parse_unix_symlink
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ftp_pl_insert_finfo
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix_symlink(struct Curl_easy *data,\n                                   struct
      ftp_parselist_data *parser,\n                                   struct fileinfo
      *infop,\n                                   const char c)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: parse_unix_totalsize
      Src: /src/curl/lib/ftplistparser.c:852,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/ftplistparser.c:857,1
    - Dst: unix_filetype
      Src: /src/curl/lib/ftplistparser.c:859,1
    - Dst: parse_unix_permission
      Src: /src/curl/lib/ftplistparser.c:867,1
    - Dst: parse_unix_hlinks
      Src: /src/curl/lib/ftplistparser.c:870,1
    - Dst: parse_unix_user
      Src: /src/curl/lib/ftplistparser.c:873,1
    - Dst: parse_unix_group
      Src: /src/curl/lib/ftplistparser.c:876,1
    - Dst: parse_unix_size
      Src: /src/curl/lib/ftplistparser.c:879,1
    - Dst: parse_unix_time
      Src: /src/curl/lib/ftplistparser.c:882,1
    - Dst: parse_unix_filename
      Src: /src/curl/lib/ftplistparser.c:885,1
    - Dst: parse_unix_symlink
      Src: /src/curl/lib/ftplistparser.c:888,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 4
    argNames:
    - data
    - parser
    - infop
    - c
    argTypes:
    - struct Curl_easy*
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 842
    functionDepth: 5
    functionLinenumber: 842
    functionLinenumberEnd: 892
    functionName: parse_unix
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - parse_unix_symlink
    - parse_unix_user
    - parse_unix_filename
    - parse_unix_group
    - parse_unix_hlinks
    - parse_unix_permission
    - parse_unix_totalsize
    - parse_unix_size
    - parse_unix_time
    - unix_filetype
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_unix(struct Curl_easy *data,\n                           struct
      ftp_parselist_data *parser,\n                           struct fileinfo *infop,\n
      \                          const char c)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/ftplistparser.c:900,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/ftplistparser.c:901,1
    - Dst: strchr
      Src: /src/curl/lib/ftplistparser.c:908,1
    - Dst: ISBLANK
      Src: /src/curl/lib/ftplistparser.c:927,1
    - Dst: strchr
      Src: /src/curl/lib/ftplistparser.c:938,1
    - Dst: strcmp
      Src: /src/curl/lib/ftplistparser.c:956,1
    - Dst: curlx_str_numblanks
      Src: /src/curl/lib/ftplistparser.c:962,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/curl/lib/ftplistparser.c:997,1
    - Dst: ftp_pl_insert_finfo
      Src: /src/curl/lib/ftplistparser.c:1008,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 4
    argNames:
    - data
    - parser
    - infop
    - c
    argTypes:
    - struct Curl_easy*
    - struct ftp_parselist_data*
    - struct fileinfo*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 1024
    functionName: parse_winnt
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - ftp_pl_insert_finfo
    - strchr
    - strcmp
    - curlx_dyn_len
    - curlx_str_numblanks
    - curlx_dyn_ptr
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode parse_winnt(struct Curl_easy *data,\n                            struct
      ftp_parselist_data *parser,\n                            struct fileinfo *infop,\n
      \                           const char c)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/curl/lib/ftplistparser.c:1049,1
    - Dst: Curl_fileinfo_alloc
      Src: /src/curl/lib/ftplistparser.c:1056,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/ftplistparser.c:1063,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/ftplistparser.c:1068,1
    - Dst: parse_unix
      Src: /src/curl/lib/ftplistparser.c:1075,1
    - Dst: parse_winnt
      Src: /src/curl/lib/ftplistparser.c:1078,1
    - Dst: Curl_fileinfo_cleanup
      Src: /src/curl/lib/ftplistparser.c:1097,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 4
    argNames:
    - buffer
    - size
    - nmemb
    - connptr
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1026
    functionDepth: 6
    functionLinenumber: 1026
    functionLinenumberEnd: 1102
    functionName: Curl_ftp_parselist
    functionSourceFile: /src/curl/lib/ftplistparser.c
    functionUses: 0
    functionsReached:
    - Curl_fileinfo_cleanup
    - parse_winnt
    - parse_unix
    - curlx_dyn_addn
    - curlx_dyn_init
    - ISDIGIT
    - Curl_fileinfo_alloc
    linkageType: ''
    returnType: size_t
    signature: "size_t Curl_ftp_parselist(char *buffer, size_t size, size_t nmemb,\n
      \                         void *connptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: Curl_ipv6_scope
    functionSourceFile: /src/curl/lib/if2ip.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ipv6_scope(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: Curl_data_priority_add_child
    functionSourceFile: /src/curl/lib/url.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_data_priority_add_child(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: CURL_UNCONST
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UNCONST(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: CURL_UNCONST
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UNCONST(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: CURL_UNCONST
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_UNCONST(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: sread
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sread(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: sread
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sread(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: swrite
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swrite(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: swrite
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swrite(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: CURL_SCLOSE
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: CURL_SCLOSE
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: CURL_SCLOSE
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: CURL_SCLOSE
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: CURL_SCLOSE
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURL_SCLOSE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: BIT
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: BIT
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: DEBUGF
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: DEBUGF
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: DEBUGASSERT
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 449
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: DEBUGASSERT
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 449
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: SET_SOCKERRNO
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SOCKERRNO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: SET_SOCKERRNO
    functionSourceFile: /src/curl/lib/curl_setup_once.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SOCKERRNO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Curl_read16_le
    functionSourceFile: /src/curl/lib/curl_endian.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short Curl_read16_le(const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: Curl_read32_le
    functionSourceFile: /src/curl/lib/curl_endian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Curl_read32_le(const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: Curl_read16_be
    functionSourceFile: /src/curl/lib/curl_endian.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short Curl_read16_be(const unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: tunnel_is_established
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tunnel_is_established(struct h1_tunnel_state *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: tunnel_is_failed
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tunnel_is_failed(struct h1_tunnel_state *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h1-proxy.c:98,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/cf-h1-proxy.c:99,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/cf-h1-proxy.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: tunnel_reinit
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - curlx_dyn_reset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tunnel_reinit(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              struct h1_tunnel_state *ts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/cf-h1-proxy.c:115,1
    - Dst: calloc
      Src: /src/curl/lib/cf-h1-proxy.c:119,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:123,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/cf-h1-proxy.c:125,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/cf-h1-proxy.c:126,1
    - Dst: Curl_httpchunk_init
      Src: /src/curl/lib/cf-h1-proxy.c:127,1
    - Dst: connkeep
      Src: /src/curl/lib/cf-h1-proxy.c:130,1
    - Dst: tunnel_reinit
      Src: /src/curl/lib/cf-h1-proxy.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cf
    - data
    - pts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 132
    functionName: tunnel_init
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - calloc
    - failf
    - connkeep
    - curlx_dyn_init
    - Curl_httpchunk_init
    - infof
    - tunnel_reinit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode tunnel_init(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            struct h1_tunnel_state **pts)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:144,1
    - Dst: tunnel_reinit
      Src: /src/curl/lib/cf-h1-proxy.c:145,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:149,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/cf-h1-proxy.c:152,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:156,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:161,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:166,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:167,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-h1-proxy.c:170,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:173,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/cf-h1-proxy.c:175,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/cf-h1-proxy.c:176,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-h1-proxy.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - cf
    - ts
    - new_state
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct h1_tunnel_state*
    - h1_tunnel_state
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 186
    functionName: h1_tunnel_go_state
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - Curl_safefree
    - CURL_TRC_CF
    - curlx_dyn_reset
    - tunnel_reinit
    - infof
    linkageType: ''
    returnType: void
    signature: "void h1_tunnel_go_state(struct Curl_cfilter *cf,\n                               struct
      h1_tunnel_state *ts,\n                               h1_tunnel_state new_state,\n
      \                              struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h1_tunnel_go_state
      Src: /src/curl/lib/cf-h1-proxy.c:194,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/cf-h1-proxy.c:195,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/cf-h1-proxy.c:196,1
    - Dst: Curl_httpchunk_free
      Src: /src/curl/lib/cf-h1-proxy.c:197,1
    - Dst: free
      Src: /src/curl/lib/cf-h1-proxy.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: tunnel_free
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - h1_tunnel_go_state
    - free
    - Curl_httpchunk_free
    linkageType: ''
    returnType: void
    signature: "void tunnel_free(struct Curl_cfilter *cf,\n                        struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: tunnel_want_send
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tunnel_want_send(struct h1_tunnel_state *ts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-h1-proxy.c:220,1
    - Dst: Curl_http_proxy_create_CONNECT
      Src: /src/curl/lib/cf-h1-proxy.c:222,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:226,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/cf-h1-proxy.c:228,1
    - Dst: Curl_h1_req_write_head
      Src: /src/curl/lib/cf-h1-proxy.c:233,1
    - Dst: Curl_creader_set_null
      Src: /src/curl/lib/cf-h1-proxy.c:235,1
    - Dst: failf
      Src: /src/curl/lib/cf-h1-proxy.c:239,1
    - Dst: Curl_http_req_free
      Src: /src/curl/lib/cf-h1-proxy.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 209
    functionDepth: 7
    functionLinenumber: 209
    functionLinenumberEnd: 243
    functionName: start_CONNECT
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - failf
    - Curl_http_proxy_create_CONNECT
    - curlx_dyn_reset
    - Curl_h1_req_write_head
    - Curl_http_req_free
    - infof
    - Curl_creader_set_null
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode start_CONNECT(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              struct h1_tunnel_state *ts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/cf-h1-proxy.c:250,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cf-h1-proxy.c:251,1
    - Dst: struct Curl_cfilter*::next::cft::do_send
      Src: /src/curl/lib/cf-h1-proxy.c:262,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h1-proxy.c:269,1
    - Dst: Curl_debug
      Src: /src/curl/lib/cf-h1-proxy.c:271,1
    - Dst: failf
      Src: /src/curl/lib/cf-h1-proxy.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - cf
    - data
    - ts
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 8
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: send_CONNECT
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - failf
    - curlx_dyn_len
    - struct Curl_cfilter*::next::cft::do_send
    - DEBUGASSERT
    - curlx_dyn_ptr
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_CONNECT(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             struct h1_tunnel_state *ts,\n
      \                            bool *done)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: checkprefix
      Src: /src/curl/lib/cf-h1-proxy.c:289,1
    - Dst: checkprefix
      Src: /src/curl/lib/cf-h1-proxy.c:291,1
    - Dst: Curl_copy_header_value
      Src: /src/curl/lib/cf-h1-proxy.c:295,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:299,1
    - Dst: Curl_http_input_auth
      Src: /src/curl/lib/cf-h1-proxy.c:300,1
    - Dst: free
      Src: /src/curl/lib/cf-h1-proxy.c:302,1
    - Dst: checkprefix
      Src: /src/curl/lib/cf-h1-proxy.c:307,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:312,1
    - Dst: strlen
      Src: /src/curl/lib/cf-h1-proxy.c:316,1
    - Dst: curlx_str_numblanks
      Src: /src/curl/lib/cf-h1-proxy.c:317,1
    - Dst: failf
      Src: /src/curl/lib/cf-h1-proxy.c:318,1
    - Dst: Curl_compareheader
      Src: /src/curl/lib/cf-h1-proxy.c:323,1
    - Dst: STRCONST
      Src: /src/curl/lib/cf-h1-proxy.c:324,1
    - Dst: STRCONST
      Src: /src/curl/lib/cf-h1-proxy.c:324,1
    - Dst: checkprefix
      Src: /src/curl/lib/cf-h1-proxy.c:326,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:331,1
    - Dst: Curl_compareheader
      Src: /src/curl/lib/cf-h1-proxy.c:334,1
    - Dst: STRCONST
      Src: /src/curl/lib/cf-h1-proxy.c:335,1
    - Dst: STRCONST
      Src: /src/curl/lib/cf-h1-proxy.c:336,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:337,1
    - Dst: Curl_httpchunk_reset
      Src: /src/curl/lib/cf-h1-proxy.c:340,1
    - Dst: Curl_compareheader
      Src: /src/curl/lib/cf-h1-proxy.c:343,1
    - Dst: STRCONST
      Src: /src/curl/lib/cf-h1-proxy.c:344,1
    - Dst: STRCONST
      Src: /src/curl/lib/cf-h1-proxy.c:345,1
    - Dst: strncmp
      Src: /src/curl/lib/cf-h1-proxy.c:347,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/cf-h1-proxy.c:350,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/cf-h1-proxy.c:350,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/cf-h1-proxy.c:350,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/cf-h1-proxy.c:351,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 4
    argNames:
    - cf
    - data
    - ts
    - header
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 357
    functionName: on_resp_header
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_httpchunk_reset
    - Curl_copy_header_value
    - strlen
    - CURL_TRC_CF
    - Curl_http_input_auth
    - failf
    - strncmp
    - free
    - Curl_compareheader
    - infof
    - ISDIGIT
    - curlx_str_numblanks
    - STRCONST
    - checkprefix
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode on_resp_header(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h1_tunnel_state *ts,\n
      \                              const char *header)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_recv
      Src: /src/curl/lib/cf-h1-proxy.c:382,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/cf-h1-proxy.c:387,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:401,1
    - Dst: failf
      Src: /src/curl/lib/cf-h1-proxy.c:405,1
    - Dst: Curl_httpchunk_read
      Src: /src/curl/lib/cf-h1-proxy.c:430,1
    - Dst: Curl_httpchunk_is_done
      Src: /src/curl/lib/cf-h1-proxy.c:433,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:435,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/cf-h1-proxy.c:442,1
    - Dst: failf
      Src: /src/curl/lib/cf-h1-proxy.c:443,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/cf-h1-proxy.c:452,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/cf-h1-proxy.c:453,1
    - Dst: Curl_debug
      Src: /src/curl/lib/cf-h1-proxy.c:456,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/cf-h1-proxy.c:461,1
    - Dst: Curl_bump_headersize
      Src: /src/curl/lib/cf-h1-proxy.c:465,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:484,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:487,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:493,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h1-proxy.c:501,1
    - Dst: on_resp_header
      Src: /src/curl/lib/cf-h1-proxy.c:506,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/cf-h1-proxy.c:510,1
    - Dst: Curl_http_auth_act
      Src: /src/curl/lib/cf-h1-proxy.c:519,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 4
    argNames:
    - cf
    - data
    - ts
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 359
    functionDepth: 8
    functionLinenumber: 359
    functionLinenumberEnd: 522
    functionName: recv_CONNECT_resp
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - failf
    - Curl_bump_headersize
    - CURL_TRC_CF
    - Curl_client_write
    - Curl_httpchunk_read
    - curlx_dyn_reset
    - curlx_dyn_addn
    - Curl_pgrsUpdate
    - Curl_http_auth_act
    - Curl_conn_recv
    - curlx_dyn_len
    - infof
    - on_resp_header
    - Curl_httpchunk_is_done
    - DEBUGASSERT
    - curlx_dyn_ptr
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_CONNECT_resp(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct h1_tunnel_state *ts,\n
      \                                 bool *done)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tunnel_is_established
      Src: /src/curl/lib/cf-h1-proxy.c:532,1
    - Dst: tunnel_is_failed
      Src: /src/curl/lib/cf-h1-proxy.c:534,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/cf-h1-proxy.c:540,1
    - Dst: failf
      Src: /src/curl/lib/cf-h1-proxy.c:542,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:550,1
    - Dst: start_CONNECT
      Src: /src/curl/lib/cf-h1-proxy.c:551,1
    - Dst: h1_tunnel_go_state
      Src: /src/curl/lib/cf-h1-proxy.c:554,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-h1-proxy.c:555,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:559,1
    - Dst: send_CONNECT
      Src: /src/curl/lib/cf-h1-proxy.c:560,1
    - Dst: h1_tunnel_go_state
      Src: /src/curl/lib/cf-h1-proxy.c:563,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-h1-proxy.c:564,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:568,1
    - Dst: recv_CONNECT_resp
      Src: /src/curl/lib/cf-h1-proxy.c:569,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/cf-h1-proxy.c:570,1
    - Dst: h1_tunnel_go_state
      Src: /src/curl/lib/cf-h1-proxy.c:578,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-h1-proxy.c:579,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:582,1
    - Dst: Curl_req_soft_reset
      Src: /src/curl/lib/cf-h1-proxy.c:588,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:595,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:596,1
    - Dst: Curl_conn_cf_close
      Src: /src/curl/lib/cf-h1-proxy.c:597,1
    - Dst: connkeep
      Src: /src/curl/lib/cf-h1-proxy.c:598,1
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/cf-h1-proxy.c:599,1
    - Dst: h1_tunnel_go_state
      Src: /src/curl/lib/cf-h1-proxy.c:604,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-h1-proxy.c:615,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-h1-proxy.c:618,1
    - Dst: streamclose
      Src: /src/curl/lib/cf-h1-proxy.c:620,1
    - Dst: h1_tunnel_go_state
      Src: /src/curl/lib/cf-h1-proxy.c:621,1
    - Dst: failf
      Src: /src/curl/lib/cf-h1-proxy.c:622,1
    - Dst: h1_tunnel_go_state
      Src: /src/curl/lib/cf-h1-proxy.c:626,1
    - Dst: infof
      Src: /src/curl/lib/cf-h1-proxy.c:627,1
    - Dst: h1_tunnel_go_state
      Src: /src/curl/lib/cf-h1-proxy.c:633,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 3
    argNames:
    - cf
    - data
    - ts
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h1_tunnel_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 524
    functionDepth: 9
    functionLinenumber: 524
    functionLinenumberEnd: 635
    functionName: H1_CONNECT
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - recv_CONNECT_resp
    - send_CONNECT
    - Curl_pgrsUpdate
    - start_CONNECT
    - failf
    - Curl_req_soft_reset
    - tunnel_is_established
    - connkeep
    - tunnel_is_failed
    - streamclose
    - h1_tunnel_go_state
    - CURL_TRC_CF
    - Curl_conn_cf_close
    - DEBUGASSERT
    - FALLTHROUGH
    - Curl_safefree
    - Curl_timeleft
    - Curl_conn_cf_connect
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode H1_CONNECT(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct h1_tunnel_state *ts)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:649,1
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/curl/lib/cf-h1-proxy.c:650,1
    - Dst: tunnel_init
      Src: /src/curl/lib/cf-h1-proxy.c:656,1
    - Dst: H1_CONNECT
      Src: /src/curl/lib/cf-h1-proxy.c:664,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-h1-proxy.c:667,1
    - Dst: tunnel_is_established
      Src: /src/curl/lib/cf-h1-proxy.c:670,1
    - Dst: Curl_req_soft_reset
      Src: /src/curl/lib/cf-h1-proxy.c:674,1
    - Dst: Curl_client_reset
      Src: /src/curl/lib/cf-h1-proxy.c:675,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/cf-h1-proxy.c:676,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/cf-h1-proxy.c:677,1
    - Dst: tunnel_free
      Src: /src/curl/lib/cf-h1-proxy.c:679,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 637
    functionDepth: 10
    functionLinenumber: 637
    functionLinenumberEnd: 682
    functionName: cf_h1_proxy_connect
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - CURL_TRC_CF
    - Curl_req_soft_reset
    - Curl_pgrsSetDownloadCounter
    - tunnel_is_established
    - tunnel_init
    - struct Curl_cfilter*::next::cft::do_connect
    - tunnel_free
    - Curl_client_reset
    - Curl_pgrsSetUploadCounter
    - H1_CONNECT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h1_proxy_connect(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/cf-h1-proxy.c:694,1
    - Dst: tunnel_want_send
      Src: /src/curl/lib/cf-h1-proxy.c:700,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/curl/lib/cf-h1-proxy.c:701,1
    - Dst: Curl_pollset_set_in_only
      Src: /src/curl/lib/cf-h1-proxy.c:703,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/curl/lib/cf-h1-proxy.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 709
    functionName: cf_h1_proxy_adjust_pollset
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    - Curl_pollset_set_in_only
    - tunnel_want_send
    - Curl_pollset_set_out_only
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_h1_proxy_adjust_pollset(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           struct easy_pollset
      *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:714,1
    - Dst: tunnel_free
      Src: /src/curl/lib/cf-h1-proxy.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 711
    functionDepth: 4
    functionLinenumber: 711
    functionLinenumberEnd: 716
    functionName: cf_h1_proxy_destroy
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - tunnel_free
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_h1_proxy_destroy(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-h1-proxy.c:721,1
    - Dst: h1_tunnel_go_state
      Src: /src/curl/lib/cf-h1-proxy.c:725,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/cf-h1-proxy.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 730
    functionName: cf_h1_proxy_close
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 0
    functionsReached:
    - h1_tunnel_go_state
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: "void cf_h1_proxy_close(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cf_create
      Src: /src/curl/lib/cf-h1-proxy.c:758,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/cf-h1-proxy.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 762
    functionName: Curl_cf_h1_proxy_insert_after
    functionSourceFile: /src/curl/lib/cf-h1-proxy.c
    functionUses: 1
    functionsReached:
    - Curl_cf_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_h1_proxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: checkprefix
    functionSourceFile: /src/curl/lib/strcase.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkprefix(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BrotliDecoderVersion
      Src: /src/curl/lib/version.c:87,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: brotli_version
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - BrotliDecoderVersion
    linkageType: ''
    returnType: void
    signature: void brotli_version(char *buf, size_t bufsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_versionNumber
      Src: /src/curl/lib/version.c:98,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: zstd_version
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - ZSTD_versionNumber
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void zstd_version(char *buf, size_t bufsz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ldap_get_option
      Src: /src/curl/lib/version.c:112,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:118,1
    - Dst: ldap_memfree
      Src: /src/curl/lib/version.c:120,1
    - Dst: ber_memvfree
      Src: /src/curl/lib/version.c:121,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: oldap_version
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - ldap_get_option
    - ldap_memfree
    - ber_memvfree
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void oldap_version(char *buf, size_t bufsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psl_check_version_number
      Src: /src/curl/lib/version.c:133,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:134,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:137,1
    - Dst: psl_get_version
      Src: /src/curl/lib/version.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 6
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: psl_version
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - psl_check_version_number
    - curl_msnprintf
    - psl_get_version
    linkageType: ''
    returnType: void
    signature: void psl_version(char *buf, size_t bufsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:150,1
    - Dst: idn2_check_version
      Src: /src/curl/lib/version.c:150,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:152,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - bufsz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 6
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: idn_version
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - idn2_check_version
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void idn_version(char *buf, size_t bufsz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/curl/lib/version.c:219,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:221,1
    - Dst: Curl_ssl_version
      Src: /src/curl/lib/version.c:228,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:232,1
    - Dst: zlibVersion
      Src: /src/curl/lib/version.c:232,1
    - Dst: brotli_version
      Src: /src/curl/lib/version.c:236,1
    - Dst: zstd_version
      Src: /src/curl/lib/version.c:240,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:244,1
    - Dst: ares_version
      Src: /src/curl/lib/version.c:245,1
    - Dst: idn_version
      Src: /src/curl/lib/version.c:249,1
    - Dst: psl_version
      Src: /src/curl/lib/version.c:253,1
    - Dst: Curl_ssh_version
      Src: /src/curl/lib/version.c:257,1
    - Dst: Curl_http2_ver
      Src: /src/curl/lib/version.c:261,1
    - Dst: Curl_quic_ver
      Src: /src/curl/lib/version.c:265,1
    - Dst: Curl_rtmp_version
      Src: /src/curl/lib/version.c:269,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/version.c:273,1
    - Dst: gsasl_check_version
      Src: /src/curl/lib/version.c:274,1
    - Dst: oldap_version
      Src: /src/curl/lib/version.c:278,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/version.c:282,1
    - Dst: strlen
      Src: /src/curl/lib/version.c:287,1
    - Dst: memcpy
      Src: /src/curl/lib/version.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 169
    functionDepth: 7
    functionLinenumber: 169
    functionLinenumberEnd: 303
    functionName: curl_version
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 7
    functionsReached:
    - zlibVersion
    - psl_version
    - Curl_ssh_version
    - gsasl_check_version
    - curl_msnprintf
    - getenv
    - brotli_version
    - zstd_version
    - strlen
    - Curl_quic_ver
    - memcpy
    - Curl_rtmp_version
    - oldap_version
    - ares_version
    - Curl_http2_ver
    - idn_version
    - DEBUGASSERT
    - Curl_ssl_version
    linkageType: ''
    returnType: char
    signature: char *curl_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - curl_version_info_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: idn_present
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int idn_present(curl_version_info_data *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/version.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - curl_version_info_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: https_proxy_present
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_supports
    linkageType: ''
    returnType: int
    signature: int https_proxy_present(curl_version_info_data *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_supports
      Src: /src/curl/lib/version.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - curl_version_info_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: ech_present
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_supports
    linkageType: ''
    returnType: int
    signature: int ech_present(curl_version_info_data *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - present
    - ','
    - bitmask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: FEATURE
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FEATURE(name, present, bitmask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_version
      Src: /src/curl/lib/version.c:630,1
    - Dst: zlibVersion
      Src: /src/curl/lib/version.c:635,1
    - Dst: ares_version
      Src: /src/curl/lib/version.c:641,1
    - Dst: idn2_check_version
      Src: /src/curl/lib/version.c:648,1
    - Dst: Curl_ssh_version
      Src: /src/curl/lib/version.c:652,1
    - Dst: BrotliDecoderVersion
      Src: /src/curl/lib/version.c:657,1
    - Dst: brotli_version
      Src: /src/curl/lib/version.c:658,1
    - Dst: ZSTD_versionNumber
      Src: /src/curl/lib/version.c:663,1
    - Dst: zstd_version
      Src: /src/curl/lib/version.c:664,1
    - Dst: nghttp2_version
      Src: /src/curl/lib/version.c:670,1
    - Dst: Curl_quic_ver
      Src: /src/curl/lib/version.c:679,1
    - Dst: gsasl_check_version
      Src: /src/curl/lib/version.c:686,1
    - Dst: struct feat*::present
      Src: /src/curl/lib/version.c:693,1
    - Dst: Curl_rtmp_version
      Src: /src/curl/lib/version.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - stamp
    argTypes:
    - CURLversion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 604
    functionDepth: 7
    functionLinenumber: 604
    functionLinenumberEnd: 710
    functionName: curl_version_info
    functionSourceFile: /src/curl/lib/version.c
    functionUses: 9
    functionsReached:
    - Curl_ssh_version
    - zlibVersion
    - gsasl_check_version
    - zstd_version
    - brotli_version
    - nghttp2_version
    - Curl_quic_ver
    - BrotliDecoderVersion
    - ZSTD_versionNumber
    - struct feat*::present
    - Curl_rtmp_version
    - ares_version
    - idn2_check_version
    - Curl_ssl_version
    linkageType: ''
    returnType: curl_version_info_data
    signature: curl_version_info_data *curl_version_info(CURLversion stamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/curl/lib/select.c:80,1
    - Dst: curlx_mstotv
      Src: /src/curl/lib/select.c:84,1
    - Dst: select
      Src: /src/curl/lib/select.c:99,1
    - Dst: select
      Src: /src/curl/lib/select.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 5
    argNames:
    - maxfd
    - fds_read
    - fds_write
    - fds_err
    - timeout_ms
    argTypes:
    - curl_socket_t
    - fd_set*
    - fd_set*
    - fd_set*
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 106
    functionName: our_select
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - select
    - curlx_wait_ms
    - curlx_mstotv
    linkageType: ''
    returnType: int
    signature: "int our_select(curl_socket_t maxfd,   /* highest socket number */\n
      \                     fd_set *fds_read,      /* sockets ready for reading */\n
      \                     fd_set *fds_write,     /* sockets ready for writing */\n
      \                     fd_set *fds_err,       /* sockets with errors */\n                      timediff_t
      timeout_ms)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/curl/lib/select.c:142,1
    - Dst: Curl_poll
      Src: /src/curl/lib/select.c:170,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 4
    argNames:
    - readfd0
    - readfd1
    - writefd
    - timeout_ms
    argTypes:
    - curl_socket_t
    - curl_socket_t
    - curl_socket_t
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 198
    functionName: Curl_socket_check
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 5
    functionsReached:
    - Curl_poll
    - curlx_wait_ms
    linkageType: ''
    returnType: int
    signature: "int Curl_socket_check(curl_socket_t readfd0, /* two sockets to read
      from */\n                      curl_socket_t readfd1,\n                      curl_socket_t
      writefd, /* socket to write to */\n                      timediff_t timeout_ms)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: curlx_wait_ms
      Src: /src/curl/lib/select.c:237,1
    - Dst: poll
      Src: /src/curl/lib/select.c:258,1
    - Dst: FD_ZERO
      Src: /src/curl/lib/select.c:277,1
    - Dst: FD_ZERO
      Src: /src/curl/lib/select.c:278,1
    - Dst: FD_ZERO
      Src: /src/curl/lib/select.c:279,1
    - Dst: VERIFY_SOCK
      Src: /src/curl/lib/select.c:286,1
    - Dst: FD_SET
      Src: /src/curl/lib/select.c:292,1
    - Dst: FD_SET
      Src: /src/curl/lib/select.c:294,1
    - Dst: FD_SET
      Src: /src/curl/lib/select.c:296,1
    - Dst: our_select
      Src: /src/curl/lib/select.c:306,1
    - Dst: FD_ISSET
      Src: /src/curl/lib/select.c:319,1
    - Dst: FD_ISSET
      Src: /src/curl/lib/select.c:325,1
    - Dst: FD_ISSET
      Src: /src/curl/lib/select.c:331,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 86
    argCount: 3
    argNames:
    - ufds
    - nfds
    - timeout_ms
    argTypes:
    - struct pollfd[]
    - unsigned int
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 344
    functionName: Curl_poll
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 8
    functionsReached:
    - curlx_wait_ms
    - poll
    - FD_ZERO
    - VERIFY_SOCK
    - FD_SET
    - FD_ISSET
    - our_select
    linkageType: ''
    returnType: int
    signature: int Curl_poll(struct pollfd ufds[], unsigned int nfds, timediff_t timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:350,1
    - Dst: memset
      Src: /src/curl/lib/select.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cpfds
    - static_pfds
    - static_count
    argTypes:
    - struct curl_pollfds*
    - struct pollfd*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: Curl_pollfds_init
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: "void Curl_pollfds_init(struct curl_pollfds *cpfds,\n                       struct
      pollfd *static_pfds,\n                       unsigned int static_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpfds
    argTypes:
    - struct curl_pollfds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: Curl_pollfds_reset
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_pollfds_reset(struct curl_pollfds *cpfds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:365,1
    - Dst: free
      Src: /src/curl/lib/select.c:367,1
    - Dst: memset
      Src: /src/curl/lib/select.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cpfds
    argTypes:
    - struct curl_pollfds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: Curl_pollfds_cleanup
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 3
    functionsReached:
    - free
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_pollfds_cleanup(struct curl_pollfds *cpfds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/select.c:377,1
    - Dst: memcpy
      Src: /src/curl/lib/select.c:381,1
    - Dst: free
      Src: /src/curl/lib/select.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cpfds
    - inc
    argTypes:
    - struct curl_pollfds*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 388
    functionName: cpfds_increase
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - free
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cpfds_increase(struct curl_pollfds *cpfds, unsigned int inc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cpfds_increase
      Src: /src/curl/lib/select.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - cpfds
    - sock
    - events
    - fold
    argTypes:
    - struct curl_pollfds*
    - curl_socket_t
    - short
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 412
    functionName: cpfds_add_sock
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - cpfds_increase
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cpfds_add_sock(struct curl_pollfds *cpfds,\n                               curl_socket_t
      sock, short events, bool fold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpfds_add_sock
      Src: /src/curl/lib/select.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cpfds
    - sock
    - events
    argTypes:
    - struct curl_pollfds*
    - curl_socket_t
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: Curl_pollfds_add_sock
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - cpfds_add_sock
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pollfds_add_sock(struct curl_pollfds *cpfds,\n                               curl_socket_t
      sock, short events)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:425,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:426,1
    - Dst: cpfds_add_sock
      Src: /src/curl/lib/select.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - cpfds
    - ps
    argTypes:
    - struct curl_pollfds*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 439
    functionName: Curl_pollfds_add_ps
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - cpfds_add_sock
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pollfds_add_ps(struct curl_pollfds *cpfds,\n                             struct
      easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:445,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:446,1
    - Dst: memset
      Src: /src/curl/lib/select.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cwfds
    - static_wfds
    - static_count
    argTypes:
    - struct Curl_waitfds*
    - struct curl_waitfd*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: Curl_waitfds_init
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: "void Curl_waitfds_init(struct Curl_waitfds *cwfds,\n                       struct
      curl_waitfd *static_wfds,\n                       unsigned int static_count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - cwfds
    - sock
    - events
    argTypes:
    - struct Curl_waitfds*
    - curl_socket_t
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 475
    functionName: cwfds_add_sock
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int cwfds_add_sock(struct Curl_waitfds *cwfds,\n                                   curl_socket_t
      sock, short events)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:483,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:484,1
    - Dst: cwfds_add_sock
      Src: /src/curl/lib/select.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cwfds
    - ps
    argTypes:
    - struct Curl_waitfds*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 495
    functionName: Curl_waitfds_add_ps
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - cwfds_add_sock
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int Curl_waitfds_add_ps(struct Curl_waitfds *cwfds,\n                                 struct
      easy_pollset *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:502,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:504,1
    - Dst: memset
      Src: /src/curl/lib/select.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ps
    argTypes:
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: Curl_pollset_reset
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 5
    functionsReached:
    - DEBUGASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_pollset_reset(struct easy_pollset *ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/select.c:517,1
    - Dst: Curl_pollset_reset
      Src: /src/curl/lib/select.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ps
    argTypes:
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: Curl_pollset_init
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 8
    functionsReached:
    - Curl_pollset_reset
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void Curl_pollset_init(struct easy_pollset *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/select.c:524,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/select.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: Curl_pollset_create
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - calloc
    - Curl_pollset_init
    linkageType: ''
    returnType: struct easy_pollset
    signature: struct easy_pollset *Curl_pollset_create(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:533,1
    - Dst: free
      Src: /src/curl/lib/select.c:536,1
    - Dst: free
      Src: /src/curl/lib/select.c:540,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/select.c:543,1
    - Dst: Curl_pollset_reset
      Src: /src/curl/lib/select.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ps
    argTypes:
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 545
    functionName: Curl_pollset_cleanup
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 9
    functionsReached:
    - free
    - Curl_pollset_reset
    - DEBUGASSERT
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: void Curl_pollset_cleanup(struct easy_pollset *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_cleanup
      Src: /src/curl/lib/select.c:549,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:551,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/select.c:556,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:559,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:560,1
    - Dst: memcpy
      Src: /src/curl/lib/select.c:561,1
    - Dst: memcpy
      Src: /src/curl/lib/select.c:562,1
    - Dst: Curl_pollset_init
      Src: /src/curl/lib/select.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - struct easy_pollset*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 566
    functionName: Curl_pollset_move
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 1
    functionsReached:
    - Curl_pollset_cleanup
    - DEBUGASSERT
    - Curl_pollset_init
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Curl_pollset_move(struct easy_pollset *to, struct easy_pollset
      *from)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:578,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:582,1
    - Dst: VALID_SOCK
      Src: /src/curl/lib/select.c:582,1
    - Dst: VALID_SOCK
      Src: /src/curl/lib/select.c:583,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:586,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:587,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:588,1
    - Dst: memmove
      Src: /src/curl/lib/select.c:596,1
    - Dst: memmove
      Src: /src/curl/lib/select.c:598,1
    - Dst: CURLMAX
      Src: /src/curl/lib/select.c:609,1
    - Dst: CURL_TRC_M
      Src: /src/curl/lib/select.c:613,1
    - Dst: calloc
      Src: /src/curl/lib/select.c:617,1
    - Dst: calloc
      Src: /src/curl/lib/select.c:620,1
    - Dst: free
      Src: /src/curl/lib/select.c:622,1
    - Dst: memcpy
      Src: /src/curl/lib/select.c:625,1
    - Dst: memcpy
      Src: /src/curl/lib/select.c:626,1
    - Dst: free
      Src: /src/curl/lib/select.c:628,1
    - Dst: free
      Src: /src/curl/lib/select.c:631,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:635,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 5
    argNames:
    - data
    - ps
    - sock
    - add_flags
    - remove_flags
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - curl_socket_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 643
    functionName: Curl_pollset_change
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 4
    functionsReached:
    - memmove
    - calloc
    - CURL_TRC_M
    - free
    - memcpy
    - CURLMAX
    - VALID_SOCK
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pollset_change(struct Curl_easy *data,\n                             struct
      easy_pollset *ps, curl_socket_t sock,\n                             int add_flags,
      int remove_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_change
      Src: /src/curl/lib/select.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - ps
    - sock
    - do_in
    - do_out
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - curl_socket_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: Curl_pollset_set
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 3
    functionsReached:
    - Curl_pollset_change
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pollset_set(struct Curl_easy *data,\n                          struct
      easy_pollset *ps, curl_socket_t sock,\n                          bool do_in,
      bool do_out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:665,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:666,1
    - Dst: curlx_wait_ms
      Src: /src/curl/lib/select.c:669,1
    - Dst: calloc
      Src: /src/curl/lib/select.c:671,1
    - Dst: Curl_poll
      Src: /src/curl/lib/select.c:691,1
    - Dst: free
      Src: /src/curl/lib/select.c:692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - data
    - ps
    - timeout_ms
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 694
    functionName: Curl_pollset_poll
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 1
    functionsReached:
    - Curl_poll
    - calloc
    - curlx_wait_ms
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int Curl_pollset_poll(struct Curl_easy *data,\n                      struct
      easy_pollset *ps,\n                      timediff_t timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/select.c:703,1
    - Dst: VALID_SOCK
      Src: /src/curl/lib/select.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - data
    - ps
    - sock
    - pwant_read
    - pwant_write
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - curl_socket_t
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: Curl_pollset_check
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 2
    functionsReached:
    - VALID_SOCK
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void Curl_pollset_check(struct Curl_easy *data,\n                        struct
      easy_pollset *ps, curl_socket_t sock,\n                        bool *pwant_read,
      bool *pwant_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - data
    - ps
    - sock
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    - curl_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 725
    functionName: Curl_pollset_want_read
    functionSourceFile: /src/curl/lib/select.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_pollset_want_read(struct Curl_easy *data,\n                            struct
      easy_pollset *ps,\n                            curl_socket_t sock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-ip-happy.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - transport
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: get_cf_create
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: cf_ip_connect_create
    signature: cf_ip_connect_create *get_cf_create(int transport)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/cf-ip-happy.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - transport
    - cf_create
    argTypes:
    - int
    - cf_ip_connect_create*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: Curl_debug_set_transport_provider
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 1
    functionsReached:
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: "void Curl_debug_set_transport_provider(int transport,\n                                       cf_ip_connect_create
      *cf_create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iter
    - list
    - ai_family
    argTypes:
    - struct cf_ai_iter*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: cf_ai_iter_init
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cf_ai_iter_init(struct cf_ai_iter *iter,\n                            const
      struct Curl_addrinfo *list,\n                            int ai_family)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct cf_ai_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: cf_ai_iter_next
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct Curl_addrinfo
    signature: struct Curl_addrinfo *cf_ai_iter_next(struct cf_ai_iter *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct cf_ai_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: cf_ai_iter_has_more
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_ai_iter_has_more(struct cf_ai_iter *iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/cf-ip-happy.c:188,1
    - Dst: free
      Src: /src/curl/lib/cf-ip-happy.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - data
    argTypes:
    - struct cf_ip_attempt*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: cf_ip_attempt_free
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - free
    linkageType: ''
    returnType: void
    signature: "void cf_ip_attempt_free(struct cf_ip_attempt *a,\n                               struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/cf-ip-happy.c:206,1
    - Dst: struct cf_ip_attempt*::cf_create
      Src: /src/curl/lib/cf-ip-happy.c:217,1
    - Dst: cf_ip_attempt_free
      Src: /src/curl/lib/cf-ip-happy.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 7
    argNames:
    - pa
    - cf
    - data
    - addr
    - ai_family
    - transport
    - cf_create
    argTypes:
    - struct cf_ip_attempt**
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct Curl_addrinfo*
    - int
    - int
    - cf_ip_connect_create*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 233
    functionName: cf_ip_attempt_new
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - calloc
    - cf_ip_attempt_free
    - struct cf_ip_attempt*::cf_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_attempt_new(struct cf_ip_attempt **pa,\n                                  struct
      Curl_cfilter *cf,\n                                  struct Curl_easy *data,\n
      \                                 const struct Curl_addrinfo *addr,\n                                  int
      ai_family,\n                                  int transport,\n                                  cf_ip_connect_create
      *cf_create)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/cf-ip-happy.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - a
    - data
    - connected
    argTypes:
    - struct cf_ip_attempt*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: cf_ip_attempt_connect
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_attempt_connect(struct cf_ip_attempt *a,\n                                      struct
      Curl_easy *data,\n                                      bool *connected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_ip_attempt*::cf_create
      Src: /src/curl/lib/cf-ip-happy.c:286,1
    - Dst: cf_ip_attempt_connect
      Src: /src/curl/lib/cf-ip-happy.c:294,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/cf-ip-happy.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - a
    - cf
    - data
    argTypes:
    - struct cf_ip_attempt*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 270
    functionDepth: 4
    functionLinenumber: 270
    functionLinenumberEnd: 299
    functionName: cf_ip_attempt_restart
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - cf_ip_attempt_connect
    - struct cf_ip_attempt*::cf_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_attempt_restart(struct cf_ip_attempt *a,\n                                      struct
      Curl_cfilter *cf,\n                                      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_attempt_free
      Src: /src/curl/lib/cf-ip-happy.c:309,1
    - Dst: cf_ip_attempt_free
      Src: /src/curl/lib/cf-ip-happy.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cf
    - data
    - bs
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_ip_ballers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: cf_ip_ballers_clear
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_attempt_free
    linkageType: ''
    returnType: void
    signature: "void cf_ip_ballers_clear(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                struct cf_ip_ballers *bs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/cf-ip-happy.c:321,1
    - Dst: cf_ai_iter_init
      Src: /src/curl/lib/cf-ip-happy.c:329,1
    - Dst: cf_ai_iter_init
      Src: /src/curl/lib/cf-ip-happy.c:337,1
    - Dst: cf_ai_iter_init
      Src: /src/curl/lib/cf-ip-happy.c:339,1
    - Dst: cf_ai_iter_init
      Src: /src/curl/lib/cf-ip-happy.c:342,1
    - Dst: cf_ai_iter_init
      Src: /src/curl/lib/cf-ip-happy.c:344,1
    - Dst: cf_ai_iter_init
      Src: /src/curl/lib/cf-ip-happy.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - bs
    - ip_version
    - addr_list
    - cf_create
    - transport
    - attempt_delay_ms
    argTypes:
    - struct cf_ip_ballers*
    - int
    - struct Curl_addrinfo*
    - cf_ip_connect_create*
    - int
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 351
    functionName: cf_ip_ballers_init
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ai_iter_init
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_ballers_init(struct cf_ip_ballers *bs, int ip_version,\n
      \                                  const struct Curl_addrinfo *addr_list,\n
      \                                  cf_ip_connect_create *cf_create,\n                                   int
      transport,\n                                   timediff_t attempt_delay_ms)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/cf-ip-happy.c:369,1
    - Dst: cf_ip_attempt_connect
      Src: /src/curl/lib/cf-ip-happy.c:377,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:382,1
    - Dst: cf_ip_attempt_free
      Src: /src/curl/lib/cf-ip-happy.c:389,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:400,1
    - Dst: cf_ai_iter_has_more
      Src: /src/curl/lib/cf-ip-happy.c:410,1
    - Dst: cf_ai_iter_has_more
      Src: /src/curl/lib/cf-ip-happy.c:413,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-ip-happy.c:416,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:419,1
    - Dst: cf_ai_iter_has_more
      Src: /src/curl/lib/cf-ip-happy.c:430,1
    - Dst: cf_ai_iter_next
      Src: /src/curl/lib/cf-ip-happy.c:431,1
    - Dst: cf_ai_iter_next
      Src: /src/curl/lib/cf-ip-happy.c:436,1
    - Dst: cf_ip_attempt_new
      Src: /src/curl/lib/cf-ip-happy.c:441,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:443,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:448,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-ip-happy.c:463,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:466,1
    - Dst: cf_ip_attempt_restart
      Src: /src/curl/lib/cf-ip-happy.c:472,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:473,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:479,1
    - Dst: infof
      Src: /src/curl/lib/cf-ip-happy.c:483,1
    - Dst: Curl_expire
      Src: /src/curl/lib/cf-ip-happy.c:485,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:492,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:496,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/cf-ip-happy.c:508,1
    - Dst: failf
      Src: /src/curl/lib/cf-ip-happy.c:510,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-ip-happy.c:511,1
    - Dst: cf_ai_iter_has_more
      Src: /src/curl/lib/cf-ip-happy.c:515,1
    - Dst: cf_ai_iter_has_more
      Src: /src/curl/lib/cf-ip-happy.c:518,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-ip-happy.c:522,1
    - Dst: CURLMAX
      Src: /src/curl/lib/cf-ip-happy.c:523,1
    - Dst: CURLMIN
      Src: /src/curl/lib/cf-ip-happy.c:524,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:526,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:529,1
    - Dst: Curl_expire
      Src: /src/curl/lib/cf-ip-happy.c:531,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 129
    argCount: 4
    argNames:
    - bs
    - cf
    - data
    - connected
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 353
    functionDepth: 7
    functionLinenumber: 353
    functionLinenumberEnd: 535
    functionName: cf_ip_ballers_run
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - infof
    - Curl_timeleft
    - CURL_TRC_CF
    - failf
    - cf_ai_iter_next
    - cf_ip_attempt_restart
    - CURLMIN
    - cf_ip_attempt_free
    - curlx_now
    - curlx_timediff
    - CURLMAX
    - cf_ai_iter_has_more
    - cf_ip_attempt_connect
    - cf_ip_attempt_new
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_ballers_run(struct cf_ip_ballers *bs,\n                                  struct
      Curl_cfilter *cf,\n                                  struct Curl_easy *data,\n
      \                                 bool *connected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_ip_attempt*::cf::cft::do_shutdown
      Src: /src/curl/lib/cf-ip-happy.c:550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - bs
    - data
    - done
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 557
    functionName: cf_ip_ballers_shutdown
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct cf_ip_attempt*::cf::cft::do_shutdown
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_ballers_shutdown(struct cf_ip_ballers *bs,\n                                       struct
      Curl_easy *data,\n                                       bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_adjust_pollset
      Src: /src/curl/lib/cf-ip-happy.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - bs
    - data
    - ps
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: cf_ip_ballers_pollset
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_adjust_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_ballers_pollset(struct cf_ip_ballers *bs,\n                                      struct
      Curl_easy *data,\n                                      struct easy_pollset
      *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_ip_attempt*::cf::cft::has_data_pending
      Src: /src/curl/lib/cf-ip-happy.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - data
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 585
    functionName: cf_ip_ballers_pending
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct cf_ip_attempt*::cf::cft::has_data_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_ip_ballers_pending(struct cf_ip_ballers *bs,\n                                  const
      struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/cf-ip-happy.c:594,1
    - Dst: memset
      Src: /src/curl/lib/cf-ip-happy.c:596,1
    - Dst: struct cf_ip_attempt*::cf::cft::query
      Src: /src/curl/lib/cf-ip-happy.c:597,1
    - Dst: curlx_timediff_us
      Src: /src/curl/lib/cf-ip-happy.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - bs
    - data
    - query
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 603
    functionName: cf_ip_ballers_max_time
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct cf_ip_attempt*::cf::cft::query
    - curlx_timediff_us
    - memset
    linkageType: ''
    returnType: struct curltime
    signature: "struct curltime cf_ip_ballers_max_time(struct cf_ip_ballers *bs,\n
      \                                             struct Curl_easy *data,\n                                              int
      query)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct cf_ip_attempt*::cf::cft::query
      Src: /src/curl/lib/cf-ip-happy.c:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - bs
    - data
    argTypes:
    - struct cf_ip_ballers*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 619
    functionName: cf_ip_ballers_min_reply_ms
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct cf_ip_attempt*::cf::cft::query
    linkageType: ''
    returnType: int
    signature: "int cf_ip_ballers_min_reply_ms(struct cf_ip_ballers *bs,\n                                      struct
      Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_ballers_run
      Src: /src/curl/lib/cf-ip-happy.c:645,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-ip-happy.c:664,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/cf-ip-happy.c:676,1
    - Dst: failf
      Src: /src/curl/lib/cf-ip-happy.c:679,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/cf-ip-happy.c:685,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-ip-happy.c:685,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/cf-ip-happy.c:686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - cf
    - data
    - connected
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 637
    functionDepth: 8
    functionLinenumber: 637
    functionLinenumberEnd: 695
    functionName: is_connected
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 8
    functionsReached:
    - failf
    - curl_easy_strerror
    - curl_msnprintf
    - curlx_now
    - curlx_timediff
    - cf_ip_ballers_run
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode is_connected(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             bool *connected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_timeleft
      Src: /src/curl/lib/cf-ip-happy.c:710,1
    - Dst: failf
      Src: /src/curl/lib/cf-ip-happy.c:712,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:716,1
    - Dst: curlx_now
      Src: /src/curl/lib/cf-ip-happy.c:717,1
    - Dst: cf_ip_ballers_init
      Src: /src/curl/lib/cf-ip-happy.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 721
    functionName: start_connect
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_timeleft
    - CURL_TRC_CF
    - failf
    - curlx_now
    - cf_ip_ballers_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode start_connect(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:728,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:729,1
    - Dst: cf_ip_ballers_clear
      Src: /src/curl/lib/cf-ip-happy.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 723
    functionDepth: 3
    functionLinenumber: 723
    functionLinenumberEnd: 731
    functionName: cf_ip_happy_ctx_clear
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_ballers_clear
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void cf_ip_happy_ctx_clear(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:740,1
    - Dst: cf_ip_ballers_shutdown
      Src: /src/curl/lib/cf-ip-happy.c:746,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 749
    functionName: cf_ip_happy_shutdown
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - CURL_TRC_CF
    - cf_ip_ballers_shutdown
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_shutdown(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_ballers_pollset
      Src: /src/curl/lib/cf-ip-happy.c:759,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 763
    functionName: cf_ip_happy_adjust_pollset
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_ballers_pollset
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_adjust_pollset(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           struct easy_pollset
      *ps)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:777,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:782,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/cf-ip-happy.c:782,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:783,1
    - Dst: start_connect
      Src: /src/curl/lib/cf-ip-happy.c:784,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/cf-ip-happy.c:788,1
    - Dst: is_connected
      Src: /src/curl/lib/cf-ip-happy.c:790,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:792,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:793,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:794,1
    - Dst: cf_ip_happy_ctx_clear
      Src: /src/curl/lib/cf-ip-happy.c:801,1
    - Dst: Curl_expire_done
      Src: /src/curl/lib/cf-ip-happy.c:802,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/cf-ip-happy.c:805,1
    - Dst: Curl_trc_cf_is_verbose
      Src: /src/curl/lib/cf-ip-happy.c:807,1
    - Dst: Curl_conn_cf_get_ip_info
      Src: /src/curl/lib/cf-ip-happy.c:810,1
    - Dst: Curl_conn_get_current_host
      Src: /src/curl/lib/cf-ip-happy.c:813,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:814,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 765
    functionDepth: 9
    functionLinenumber: 765
    functionLinenumberEnd: 827
    functionName: cf_ip_happy_connect
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_ip_info
    - Curl_conn_cf_get_socket
    - FALLTHROUGH
    - CURL_TRC_CF
    - Curl_pgrsTime
    - Curl_conn_get_current_host
    - Curl_trc_cf_is_verbose
    - cf_ip_happy_ctx_clear
    - is_connected
    - DEBUGASSERT
    - start_connect
    - Curl_expire_done
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_connect(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:834,1
    - Dst: cf_ip_happy_ctx_clear
      Src: /src/curl/lib/cf-ip-happy.c:835,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/cf-ip-happy.c:840,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/cf-ip-happy.c:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 829
    functionDepth: 4
    functionLinenumber: 829
    functionLinenumberEnd: 843
    functionName: cf_ip_happy_close
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_discard_chain
    - cf_ip_happy_ctx_clear
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: "void cf_ip_happy_close(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_ballers_pending
      Src: /src/curl/lib/cf-ip-happy.c:851,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/curl/lib/cf-ip-happy.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: cf_ip_happy_data_pending
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::has_data_pending
    - cf_ip_ballers_pending
    linkageType: ''
    returnType: bool
    signature: "bool cf_ip_happy_data_pending(struct Curl_cfilter *cf,\n                                     const
      struct Curl_easy *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_ip_ballers_min_reply_ms
      Src: /src/curl/lib/cf-ip-happy.c:865,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:866,1
    - Dst: cf_ip_ballers_max_time
      Src: /src/curl/lib/cf-ip-happy.c:871,1
    - Dst: cf_ip_ballers_max_time
      Src: /src/curl/lib/cf-ip-happy.c:877,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/cf-ip-happy.c:887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 889
    functionName: cf_ip_happy_query
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - cf_ip_ballers_min_reply_ms
    - struct Curl_cfilter*::next::cft::query
    - CURL_TRC_CF
    - cf_ip_ballers_max_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_query(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  int query, int *pres1, void
      *pres2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:896,1
    - Dst: cf_ip_happy_ctx_clear
      Src: /src/curl/lib/cf-ip-happy.c:898,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-ip-happy.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 902
    functionName: cf_ip_happy_destroy
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - cf_ip_happy_ctx_clear
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_ip_happy_destroy(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/cf-ip-happy.c:944,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/cf-ip-happy.c:952,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/cf-ip-happy.c:956,1
    - Dst: free
      Src: /src/curl/lib/cf-ip-happy.c:957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - cf_create
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - cf_ip_connect_create*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 960
    functionName: cf_ip_happy_create
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    - calloc
    - Curl_cf_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_create(struct Curl_cfilter **pcf,\n                                   struct
      Curl_easy *data,\n                                   struct connectdata *conn,\n
      \                                  cf_ip_connect_create *cf_create,\n                                   int
      transport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/cf-ip-happy.c:971,1
    - Dst: get_cf_create
      Src: /src/curl/lib/cf-ip-happy.c:972,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/cf-ip-happy.c:974,1
    - Dst: cf_ip_happy_create
      Src: /src/curl/lib/cf-ip-happy.c:977,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/cf-ip-happy.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cf_at
    - data
    - transport
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 983
    functionName: cf_ip_happy_insert_after
    functionSourceFile: /src/curl/lib/cf-ip-happy.c
    functionUses: 1
    functionsReached:
    - cf_ip_happy_create
    - CURL_TRC_CF
    - get_cf_create
    - DEBUGASSERT
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ip_happy_insert_after(struct Curl_cfilter *cf_at,\n                                  struct
      Curl_easy *data,\n                                  int transport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/curl/lib/sha256.c:81,1
    - Dst: EVP_DigestInit_ex
      Src: /src/curl/lib/sha256.c:85,1
    - Dst: EVP_sha256
      Src: /src/curl/lib/sha256.c:85,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/curl/lib/sha256.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: my_sha256_init
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_destroy
    - EVP_MD_CTX_create
    - EVP_DigestInit_ex
    - EVP_sha256
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/curl/lib/sha256.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: my_sha256_update
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *in,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/curl/lib/sha256.c:103,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/curl/lib/sha256.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - digest
    - in
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: my_sha256_final
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_destroy
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/curl/lib/sha256.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: my_sha256_init
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/curl/lib/sha256.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: my_sha256_update
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_update
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *ctx,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_digest
      Src: /src/curl/lib/sha256.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: my_sha256_final
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - sha256_digest
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_starts
      Src: /src/curl/lib/sha256.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: my_sha256_init
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256_starts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_update
      Src: /src/curl/lib/sha256.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: my_sha256_update
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256_update
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *ctx,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256_finish
      Src: /src/curl/lib/sha256.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: my_sha256_final
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256_finish
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_SHA256_Init
      Src: /src/curl/lib/sha256.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: my_sha256_init
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CC_SHA256_Init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_SHA256_Update
      Src: /src/curl/lib/sha256.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: my_sha256_update
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CC_SHA256_Update
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *ctx,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_SHA256_Final
      Src: /src/curl/lib/sha256.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: my_sha256_final
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CC_SHA256_Final
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/curl/lib/sha256.c:188,1
    - Dst: CryptCreateHash
      Src: /src/curl/lib/sha256.c:192,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/sha256.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: my_sha256_init
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CryptCreateHash
    - CryptReleaseContext
    - CryptAcquireContext
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CryptHashData
      Src: /src/curl/lib/sha256.c:207,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/sha256.c:207,1
    - Dst: CryptHashData
      Src: /src/curl/lib/sha256.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - data
    - length
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: my_sha256_update
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CryptHashData
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *in,\n                             const
      unsigned char *data,\n                             unsigned int length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CryptGetHashParam
      Src: /src/curl/lib/sha256.c:218,1
    - Dst: CryptGetHashParam
      Src: /src/curl/lib/sha256.c:220,1
    - Dst: CryptDestroyHash
      Src: /src/curl/lib/sha256.c:223,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/sha256.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - digest
    - in
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: my_sha256_final
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - CryptGetHashParam
    - CryptReleaseContext
    - CryptDestroyHash
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *digest, void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: WPA_GET_BE32
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_GET_BE32(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: WPA_PUT_BE32
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_PUT_BE32(a, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: WPA_PUT_BE64
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_PUT_BE64(a, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: WPA_PUT_BE64
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPA_PUT_BE64(a, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: RORc
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RORc(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: Sha256_Ch
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha256_Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: Sha256_Maj
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha256_Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: Sha256_S
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha256_S(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: Sha256_R
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sha256_R(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: Sigma0
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: Sigma1
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: Gamma0
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Gamma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: Gamma1
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Gamma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPA_GET_BE32
      Src: /src/curl/lib/sha256.c:328,1
    - Dst: Gamma1
      Src: /src/curl/lib/sha256.c:331,1
    - Dst: Gamma0
      Src: /src/curl/lib/sha256.c:331,1
    - Dst: RND
      Src: /src/curl/lib/sha256.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - md
    - buf
    argTypes:
    - struct sha256_state*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 357
    functionName: sha256_compress
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - RND
    - Gamma1
    - Gamma0
    - WPA_GET_BE32
    linkageType: ''
    returnType: int
    signature: "int sha256_compress(struct sha256_state *md,\n                           const
      unsigned char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: RND
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RND(a,b,c,d,e,f,g,h,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 375
    functionName: my_sha256_init
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode my_sha256_init(void *in)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sha256_compress
      Src: /src/curl/lib/sha256.c:395,1
    - Dst: CURLMIN
      Src: /src/curl/lib/sha256.c:402,1
    - Dst: memcpy
      Src: /src/curl/lib/sha256.c:403,1
    - Dst: sha256_compress
      Src: /src/curl/lib/sha256.c:408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - in
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 415
    functionName: my_sha256_update
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sha256_compress
    - CURLMIN
    linkageType: ''
    returnType: void
    signature: "void my_sha256_update(void *ctx,\n                             const
      unsigned char *in,\n                             unsigned int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sha256_compress
      Src: /src/curl/lib/sha256.c:445,1
    - Dst: WPA_PUT_BE64
      Src: /src/curl/lib/sha256.c:455,1
    - Dst: sha256_compress
      Src: /src/curl/lib/sha256.c:456,1
    - Dst: WPA_PUT_BE32
      Src: /src/curl/lib/sha256.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - out
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 461
    functionName: my_sha256_final
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 0
    functionsReached:
    - WPA_PUT_BE32
    - sha256_compress
    - WPA_PUT_BE64
    linkageType: ''
    returnType: void
    signature: void my_sha256_final(unsigned char *out, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: my_sha256_init
      Src: /src/curl/lib/sha256.c:484,1
    - Dst: my_sha256_update
      Src: /src/curl/lib/sha256.c:486,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/sha256.c:486,1
    - Dst: my_sha256_final
      Src: /src/curl/lib/sha256.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - output
    - input
    - length
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 490
    functionName: Curl_sha256it
    functionSourceFile: /src/curl/lib/sha256.c
    functionUses: 3
    functionsReached:
    - my_sha256_update
    - my_sha256_final
    - my_sha256_init
    - curlx_uztoui
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_sha256it(unsigned char *output, const unsigned char
      *input,\n                       const size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/content_encoding.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: zalloc_cb
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf zalloc_cb(voidpf opaque, unsigned int items, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/content_encoding.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: zfree_cb
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void zfree_cb(voidpf opaque, voidpf ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/content_encoding.c:114,1
    - Dst: failf
      Src: /src/curl/lib/content_encoding.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - z
    argTypes:
    - struct Curl_easy*
    - z_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: process_zlib_error
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode process_zlib_error(struct Curl_easy *data, z_stream *z)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/curl/lib/content_encoding.c:128,1
    - Dst: process_zlib_error
      Src: /src/curl/lib/content_encoding.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - data
    - z
    - zlib_init
    - result
    argTypes:
    - struct Curl_easy*
    - z_stream*
    - zlibInitState*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: exit_zlib
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - process_zlib_error
    - inflateEnd
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode exit_zlib(struct Curl_easy *data,\n          z_stream *z,
      zlibInitState *zlib_init, CURLcode result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit_zlib
      Src: /src/curl/lib/content_encoding.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - zp
    argTypes:
    - struct Curl_easy*
    - struct zlib_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: process_trailer
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - exit_zlib
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode process_trailer(struct Curl_easy *data,\n                                struct
      zlib_writer *zp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: exit_zlib
      Src: /src/curl/lib/content_encoding.c:175,1
    - Dst: inflate
      Src: /src/curl/lib/content_encoding.c:187,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/content_encoding.c:193,1
    - Dst: exit_zlib
      Src: /src/curl/lib/content_encoding.c:196,1
    - Dst: process_trailer
      Src: /src/curl/lib/content_encoding.c:212,1
    - Dst: inflateReset2
      Src: /src/curl/lib/content_encoding.c:218,1
    - Dst: exit_zlib
      Src: /src/curl/lib/content_encoding.c:228,1
    - Dst: process_zlib_error
      Src: /src/curl/lib/content_encoding.c:228,1
    - Dst: exit_zlib
      Src: /src/curl/lib/content_encoding.c:231,1
    - Dst: process_zlib_error
      Src: /src/curl/lib/content_encoding.c:231,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - data
    - writer
    - type
    - started
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - zlibInitState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 243
    functionName: inflate_stream
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - process_zlib_error
    - inflateReset2
    - process_trailer
    - inflate
    - exit_zlib
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode inflate_stream(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer, int type,\n                               zlibInitState
      started)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/curl/lib/content_encoding.c:257,1
    - Dst: process_zlib_error
      Src: /src/curl/lib/content_encoding.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: deflate_do_init
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - inflateInit
    - process_zlib_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode deflate_do_init(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/content_encoding.c:271,1
    - Dst: process_trailer
      Src: /src/curl/lib/content_encoding.c:278,1
    - Dst: inflate_stream
      Src: /src/curl/lib/content_encoding.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 282
    functionName: deflate_do_write
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - process_trailer
    - inflate_stream
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode deflate_do_write(struct Curl_easy *data,\n                                 struct
      Curl_cwriter *writer, int type,\n                                 const char
      *buf, size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit_zlib
      Src: /src/curl/lib/content_encoding.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: deflate_do_close
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - exit_zlib
    linkageType: ''
    returnType: void
    signature: "void deflate_do_close(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/curl/lib/content_encoding.c:314,1
    - Dst: process_zlib_error
      Src: /src/curl/lib/content_encoding.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: gzip_do_init
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - inflateInit2
    - process_zlib_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gzip_do_init(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/content_encoding.c:329,1
    - Dst: inflate_stream
      Src: /src/curl/lib/content_encoding.c:336,1
    - Dst: exit_zlib
      Src: /src/curl/lib/content_encoding.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: gzip_do_write
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - inflate_stream
    - exit_zlib
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gzip_do_write(struct Curl_easy *data,\n                              struct
      Curl_cwriter *writer, int type,\n                              const char *buf,
      size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit_zlib
      Src: /src/curl/lib/content_encoding.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: gzip_do_close
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - exit_zlib
    linkageType: ''
    returnType: void
    signature: "void gzip_do_close(struct Curl_easy *data,\n                          struct
      Curl_cwriter *writer)"
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - be
    argTypes:
    - BrotliDecoderErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 407
    functionName: brotli_map_error
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode brotli_map_error(BrotliDecoderErrorCode be)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BrotliDecoderCreateInstance
      Src: /src/curl/lib/content_encoding.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: brotli_do_init
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderCreateInstance
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode brotli_do_init(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/content_encoding.c:431,1
    - Dst: BrotliDecoderDecompressStream
      Src: /src/curl/lib/content_encoding.c:440,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/content_encoding.c:442,1
    - Dst: BrotliDecoderDestroyInstance
      Src: /src/curl/lib/content_encoding.c:451,1
    - Dst: brotli_map_error
      Src: /src/curl/lib/content_encoding.c:457,1
    - Dst: BrotliDecoderGetErrorCode
      Src: /src/curl/lib/content_encoding.c:457,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 462
    functionName: brotli_do_write
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - BrotliDecoderDecompressStream
    - BrotliDecoderDestroyInstance
    - brotli_map_error
    - BrotliDecoderGetErrorCode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode brotli_do_write(struct Curl_easy *data,\n                                struct
      Curl_cwriter *writer, int type,\n                                const char
      *buf, size_t nbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BrotliDecoderDestroyInstance
      Src: /src/curl/lib/content_encoding.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: brotli_do_close
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderDestroyInstance
    linkageType: ''
    returnType: void
    signature: "void brotli_do_close(struct Curl_easy *data,\n                            struct
      Curl_cwriter *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cmalloc
      Src: /src/curl/lib/content_encoding.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: Curl_zstd_alloc
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cmalloc
    linkageType: ''
    returnType: void
    signature: void *Curl_zstd_alloc(void *opaque, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cfree
      Src: /src/curl/lib/content_encoding.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - address
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: Curl_zstd_free
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cfree
    linkageType: ''
    returnType: void
    signature: void Curl_zstd_free(void *opaque, void *address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_createDStream_advanced
      Src: /src/curl/lib/content_encoding.c:516,1
    - Dst: ZSTD_createDStream
      Src: /src/curl/lib/content_encoding.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 526
    functionName: zstd_do_init
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - ZSTD_createDStream
    - ZSTD_createDStream_advanced
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode zstd_do_init(struct Curl_easy *data,\n                             struct
      Curl_cwriter *writer)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/content_encoding.c:539,1
    - Dst: ZSTD_decompressStream
      Src: /src/curl/lib/content_encoding.c:550,1
    - Dst: ZSTD_isError
      Src: /src/curl/lib/content_encoding.c:551,1
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/content_encoding.c:555,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 565
    functionName: zstd_do_write
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - ZSTD_decompressStream
    - ZSTD_isError
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode zstd_do_write(struct Curl_easy *data,\n                              struct
      Curl_cwriter *writer, int type,\n                              const char *buf,
      size_t nbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_freeDStream
      Src: /src/curl/lib/content_encoding.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 577
    functionName: zstd_do_close
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - ZSTD_freeDStream
    linkageType: ''
    returnType: void
    signature: "void zstd_do_close(struct Curl_easy *data,\n                          struct
      Curl_cwriter *writer)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/content_encoding.c:631,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/content_encoding.c:632,1
    - Dst: curl_strequal
      Src: /src/curl/lib/content_encoding.c:637,1
    - Dst: strlen
      Src: /src/curl/lib/content_encoding.c:638,1
    - Dst: strcpy
      Src: /src/curl/lib/content_encoding.c:643,1
    - Dst: curl_strequal
      Src: /src/curl/lib/content_encoding.c:649,1
    - Dst: strcpy
      Src: /src/curl/lib/content_encoding.c:650,1
    - Dst: strlen
      Src: /src/curl/lib/content_encoding.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - blen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 658
    functionName: Curl_all_content_encodings
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 1
    functionsReached:
    - strlen
    - DEBUGASSERT
    - strcpy
    - curl_strequal
    linkageType: ''
    returnType: void
    signature: void Curl_all_content_encodings(char *buf, size_t blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 667
    functionName: error_do_init
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode error_do_init(struct Curl_easy *data,\n                              struct
      Curl_cwriter *writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cwriter_write
      Src: /src/curl/lib/content_encoding.c:678,1
    - Dst: Curl_all_content_encodings
      Src: /src/curl/lib/content_encoding.c:681,1
    - Dst: failf
      Src: /src/curl/lib/content_encoding.c:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - data
    - writer
    - type
    - buf
    - nbytes
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 686
    functionName: error_do_write
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - Curl_cwriter_write
    - Curl_all_content_encodings
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode error_do_write(struct Curl_easy *data,\n                               struct
      Curl_cwriter *writer, int type,\n                               const char *buf,
      size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - writer
    argTypes:
    - struct Curl_easy*
    - struct Curl_cwriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: error_do_close
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void error_do_close(struct Curl_easy *data,\n                           struct
      Curl_cwriter *writer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/content_encoding.c:714,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/content_encoding.c:715,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/content_encoding.c:723,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/content_encoding.c:724,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - name
    - len
    - phase
    argTypes:
    - char*
    - size_t
    - Curl_cwriter_phase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 705
    functionDepth: 3
    functionLinenumber: 705
    functionLinenumberEnd: 728
    functionName: find_unencode_writer
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: struct Curl_cwtype
    signature: "struct Curl_cwtype *find_unencode_writer(const char *name,\n                                                      size_t
      len,\n                                                      Curl_cwriter_phase
      phase)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/curl/lib/content_encoding.c:746,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/content_encoding.c:759,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/content_encoding.c:762,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/content_encoding.c:767,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/content_encoding.c:769,1
    - Dst: failf
      Src: /src/curl/lib/content_encoding.c:773,1
    - Dst: failf
      Src: /src/curl/lib/content_encoding.c:778,1
    - Dst: Curl_cwriter_count
      Src: /src/curl/lib/content_encoding.c:785,1
    - Dst: failf
      Src: /src/curl/lib/content_encoding.c:786,1
    - Dst: find_unencode_writer
      Src: /src/curl/lib/content_encoding.c:791,1
    - Dst: Curl_cwriter_get_by_type
      Src: /src/curl/lib/content_encoding.c:792,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/content_encoding.c:799,1
    - Dst: Curl_cwriter_get_by_name
      Src: /src/curl/lib/content_encoding.c:804,1
    - Dst: failf
      Src: /src/curl/lib/content_encoding.c:813,1
    - Dst: Curl_cwriter_create
      Src: /src/curl/lib/content_encoding.c:821,1
    - Dst: CURL_TRC_WRITE
      Src: /src/curl/lib/content_encoding.c:822,1
    - Dst: Curl_cwriter_add
      Src: /src/curl/lib/content_encoding.c:827,1
    - Dst: Curl_cwriter_free
      Src: /src/curl/lib/content_encoding.c:829,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 52
    argCount: 3
    argNames:
    - data
    - enclist
    - is_transfer
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 732
    functionDepth: 4
    functionLinenumber: 732
    functionLinenumberEnd: 838
    functionName: Curl_build_unencoding_stack
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 2
    functionsReached:
    - Curl_cwriter_get_by_name
    - curl_strnequal
    - failf
    - Curl_cwriter_free
    - CURL_TRC_WRITE
    - Curl_cwriter_count
    - find_unencode_writer
    - Curl_cwriter_add
    - Curl_cwriter_get_by_type
    - Curl_cwriter_create
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_build_unencoding_stack(struct Curl_easy *data,\n                                     const
      char *enclist, int is_transfer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - enclist
    - is_transfer
    argTypes:
    - struct Curl_easy*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 849
    functionName: Curl_build_unencoding_stack
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_build_unencoding_stack(struct Curl_easy *data,\n                                     const
      char *enclist, int is_transfer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/content_encoding.c:853,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/content_encoding.c:854,1
    - Dst: strcpy
      Src: /src/curl/lib/content_encoding.c:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - blen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 859
    functionName: Curl_all_content_encodings
    functionSourceFile: /src/curl/lib/content_encoding.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    - strcpy
    linkageType: ''
    returnType: void
    signature: void Curl_all_content_encodings(char *buf, size_t blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: compare
    functionSourceFile: /src/curl/lib/splay.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare(i,j)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/curl/lib/splay.c:54,1
    - Dst: compare
      Src: /src/curl/lib/splay.c:58,1
    - Dst: compare
      Src: /src/curl/lib/splay.c:73,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - i
    - t
    argTypes:
    - struct curltime
    - struct Curl_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 95
    functionName: Curl_splay
    functionSourceFile: /src/curl/lib/splay.c
    functionUses: 1
    functionsReached:
    - compare
    linkageType: ''
    returnType: struct Curl_tree
    signature: "struct Curl_tree *Curl_splay(struct curltime i,\n                             struct
      Curl_tree *t)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:110,1
    - Dst: Curl_splay
      Src: /src/curl/lib/splay.c:113,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:114,1
    - Dst: compare
      Src: /src/curl/lib/splay.c:115,1
    - Dst: compare
      Src: /src/curl/lib/splay.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - i
    - t
    - node
    argTypes:
    - struct curltime
    - struct Curl_tree*
    - struct Curl_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 150
    functionName: Curl_splayinsert
    functionSourceFile: /src/curl/lib/splay.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    - Curl_splay
    - compare
    linkageType: ''
    returnType: struct Curl_tree
    signature: "struct Curl_tree *Curl_splayinsert(struct curltime i,\n                                   struct
      Curl_tree *t,\n                                   struct Curl_tree *node)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_splay
      Src: /src/curl/lib/splay.c:168,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:169,1
    - Dst: compare
      Src: /src/curl/lib/splay.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - i
    - t
    - removed
    argTypes:
    - struct curltime
    - struct Curl_tree*
    - struct Curl_tree**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: Curl_splaygetbest
    functionSourceFile: /src/curl/lib/splay.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    - Curl_splay
    - compare
    linkageType: ''
    returnType: struct Curl_tree
    signature: "struct Curl_tree *Curl_splaygetbest(struct curltime i,\n                                    struct
      Curl_tree *t,\n                                    struct Curl_tree **removed)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:221,1
    - Dst: compare
      Src: /src/curl/lib/splay.c:223,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:226,1
    - Dst: Curl_splay
      Src: /src/curl/lib/splay.c:241,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:242,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:251,1
    - Dst: Curl_splay
      Src: /src/curl/lib/splay.c:273,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - t
    - removenode
    - newroot
    argTypes:
    - struct Curl_tree*
    - struct Curl_tree*
    - struct Curl_tree**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 282
    functionName: Curl_splayremove
    functionSourceFile: /src/curl/lib/splay.c
    functionUses: 3
    functionsReached:
    - Curl_splay
    - DEBUGASSERT
    - compare
    linkageType: ''
    returnType: int
    signature: "int Curl_splayremove(struct Curl_tree *t,\n                     struct
      Curl_tree *removenode,\n                     struct Curl_tree **newroot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - payload
    argTypes:
    - struct Curl_tree*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: Curl_splayset
    functionSourceFile: /src/curl/lib/splay.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_splayset(struct Curl_tree *node, void *payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/splay.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct Curl_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: Curl_splayget
    functionSourceFile: /src/curl/lib/splay.c
    functionUses: 4
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void *Curl_splayget(struct Curl_tree *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: curl_simple_lock_lock
    functionSourceFile: /src/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_simple_lock_lock(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: curl_simple_lock_unlock
    functionSourceFile: /src/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_simple_lock_unlock(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_exchange_explicit
      Src: /src/curl/lib/easy_lock.h:67,1
    - Dst: atomic_load_explicit
      Src: /src/curl/lib/easy_lock.h:70,1
    - Dst: __builtin_ia32_pause
      Src: /src/curl/lib/easy_lock.h:73,1
    - Dst: Sleep
      Src: /src/curl/lib/easy_lock.h:77,1
    - Dst: sched_yield
      Src: /src/curl/lib/easy_lock.h:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - lock
    argTypes:
    - curl_simple_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: curl_simple_lock_lock
    functionSourceFile: /src/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached:
    - atomic_exchange_explicit
    - sched_yield
    - __builtin_ia32_pause
    - atomic_load_explicit
    - Sleep
    linkageType: ''
    returnType: CURL_INLINE
    signature: CURL_INLINE curl_simple_lock_lock(curl_simple_lock *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/curl/lib/easy_lock.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - curl_simple_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: curl_simple_lock_unlock
    functionSourceFile: /src/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached:
    - atomic_store_explicit
    linkageType: ''
    returnType: CURL_INLINE
    signature: CURL_INLINE curl_simple_lock_unlock(curl_simple_lock *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: curl_simple_lock_lock
    functionSourceFile: /src/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_simple_lock_lock(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: curl_simple_lock_unlock
    functionSourceFile: /src/curl/lib/easy_lock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curl_simple_lock_unlock(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventfd
      Src: /src/curl/lib/socketpair.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - socks
    - nonblocking
    argTypes:
    - curl_socket_t[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: Curl_eventfd
    functionSourceFile: /src/curl/lib/socketpair.c
    functionUses: 0
    functionsReached:
    - eventfd
    linkageType: ''
    returnType: int
    signature: int Curl_eventfd(curl_socket_t socks[2], bool nonblocking)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pipe2
      Src: /src/curl/lib/socketpair.c:55,1
    - Dst: pipe
      Src: /src/curl/lib/socketpair.c:58,1
    - Dst: fcntl
      Src: /src/curl/lib/socketpair.c:61,1
    - Dst: fcntl
      Src: /src/curl/lib/socketpair.c:62,1
    - Dst: close
      Src: /src/curl/lib/socketpair.c:63,1
    - Dst: close
      Src: /src/curl/lib/socketpair.c:64,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socketpair.c:70,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socketpair.c:71,1
    - Dst: close
      Src: /src/curl/lib/socketpair.c:72,1
    - Dst: close
      Src: /src/curl/lib/socketpair.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - socks
    - nonblocking
    argTypes:
    - curl_socket_t[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 81
    functionName: Curl_pipe
    functionSourceFile: /src/curl/lib/socketpair.c
    functionUses: 0
    functionsReached:
    - fcntl
    - curlx_nonblock
    - pipe2
    - pipe
    - close
    linkageType: ''
    returnType: int
    signature: int Curl_pipe(curl_socket_t socks[2], bool nonblocking)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SOCKETPAIR
      Src: /src/curl/lib/socketpair.c:94,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socketpair.c:98,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socketpair.c:99,1
    - Dst: close
      Src: /src/curl/lib/socketpair.c:100,1
    - Dst: close
      Src: /src/curl/lib/socketpair.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - domain
    - type
    - protocol
    - socks
    - nonblocking
    argTypes:
    - int
    - int
    - int
    - curl_socket_t[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: Curl_socketpair
    functionSourceFile: /src/curl/lib/socketpair.c
    functionUses: 0
    functionsReached:
    - curlx_nonblock
    - CURL_SOCKETPAIR
    - close
    linkageType: ''
    returnType: int
    signature: "int Curl_socketpair(int domain, int type, int protocol,\n                    curl_socket_t
      socks[2], bool nonblocking)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SOCKET
      Src: /src/curl/lib/socketpair.c:156,1
    - Dst: memset
      Src: /src/curl/lib/socketpair.c:160,1
    - Dst: htonl
      Src: /src/curl/lib/socketpair.c:162,1
    - Dst: setsockopt
      Src: /src/curl/lib/socketpair.c:173,1
    - Dst: setsockopt
      Src: /src/curl/lib/socketpair.c:179,1
    - Dst: bind
      Src: /src/curl/lib/socketpair.c:183,1
    - Dst: getsockname
      Src: /src/curl/lib/socketpair.c:185,1
    - Dst: listen
      Src: /src/curl/lib/socketpair.c:188,1
    - Dst: CURL_SOCKET
      Src: /src/curl/lib/socketpair.c:190,1
    - Dst: connect
      Src: /src/curl/lib/socketpair.c:193,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socketpair.c:197,1
    - Dst: Curl_poll
      Src: /src/curl/lib/socketpair.c:202,1
    - Dst: CURL_ACCEPT
      Src: /src/curl/lib/socketpair.c:203,1
    - Dst: curlx_now
      Src: /src/curl/lib/socketpair.c:207,1
    - Dst: Curl_rand
      Src: /src/curl/lib/socketpair.c:213,1
    - Dst: swrite
      Src: /src/curl/lib/socketpair.c:217,1
    - Dst: Curl_poll
      Src: /src/curl/lib/socketpair.c:225,1
    - Dst: sread
      Src: /src/curl/lib/socketpair.c:227,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/socketpair.c:231,1
    - Dst: curlx_now
      Src: /src/curl/lib/socketpair.c:231,1
    - Dst: USE_WINSOCK
      Src: /src/curl/lib/socketpair.c:234,1
    - Dst: memcmp
      Src: /src/curl/lib/socketpair.c:254,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socketpair.c:261,1
    - Dst: curlx_nonblock
      Src: /src/curl/lib/socketpair.c:262,1
    - Dst: sclose
      Src: /src/curl/lib/socketpair.c:264,1
    - Dst: sclose
      Src: /src/curl/lib/socketpair.c:268,1
    - Dst: sclose
      Src: /src/curl/lib/socketpair.c:269,1
    - Dst: sclose
      Src: /src/curl/lib/socketpair.c:270,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 90
    argCount: 5
    argNames:
    - domain
    - type
    - protocol
    - socks
    - nonblocking
    argTypes:
    - int
    - int
    - int
    - curl_socket_t[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 272
    functionName: Curl_socketpair
    functionSourceFile: /src/curl/lib/socketpair.c
    functionUses: 0
    functionsReached:
    - swrite
    - CURL_ACCEPT
    - USE_WINSOCK
    - htonl
    - getsockname
    - sclose
    - connect
    - curlx_nonblock
    - sread
    - curlx_now
    - curlx_timediff
    - CURL_SOCKET
    - listen
    - Curl_rand
    - setsockopt
    - Curl_poll
    - bind
    - memcmp
    - memset
    linkageType: ''
    returnType: int
    signature: "int Curl_socketpair(int domain, int type, int protocol,\n                    curl_socket_t
      socks[2], bool nonblocking)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/strdup.c:48,1
    - Dst: malloc
      Src: /src/curl/lib/strdup.c:50,1
    - Dst: memcpy
      Src: /src/curl/lib/strdup.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: Curl_strdup
    functionSourceFile: /src/curl/lib/strdup.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - malloc
    linkageType: ''
    returnType: char
    signature: char *Curl_strdup(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/curl/lib/strdup.c:72,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/strdup.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: Curl_wcsdup
    functionSourceFile: /src/curl/lib/strdup.c
    functionUses: 0
    functionsReached:
    - wcslen
    - Curl_memdup
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *Curl_wcsdup(const wchar_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/strdup.c:93,1
    - Dst: memcpy
      Src: /src/curl/lib/strdup.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: Curl_memdup
    functionSourceFile: /src/curl/lib/strdup.c
    functionUses: 8
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: void
    signature: void *Curl_memdup(const void *src, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/strdup.c:114,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/strdup.c:118,1
    - Dst: memcpy
      Src: /src/curl/lib/strdup.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - src
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: Curl_memdup0
    functionSourceFile: /src/curl/lib/strdup.c
    functionUses: 22
    functionsReached:
    - memcpy
    - malloc
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void *Curl_memdup0(const char *src, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/curl/lib/strdup.c:141,1
    - Dst: free
      Src: /src/curl/lib/strdup.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: Curl_saferealloc
    functionSourceFile: /src/curl/lib/strdup.c
    functionUses: 1
    functionsReached:
    - free
    - realloc
    linkageType: ''
    returnType: void
    signature: void *Curl_saferealloc(void *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: Curl_setopt_SSLVERSION
    functionSourceFile: /src/curl/lib/setopt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_setopt_SSLVERSION(a,b,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/curl/lib/memdebug.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: curl_dbg_cleanup
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void curl_dbg_cleanup(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CURLX_FOPEN_LOW
      Src: /src/curl/lib/memdebug.c:82,1
    - Dst: setbuf
      Src: /src/curl/lib/memdebug.c:88,1
    - Dst: atexit
      Src: /src/curl/lib/memdebug.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - logname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: curl_dbg_memdebug
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 2
    functionsReached:
    - setbuf
    - atexit
    - CURLX_FOPEN_LOW
    linkageType: ''
    returnType: void
    signature: void curl_dbg_memdebug(const char *logname)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: curl_dbg_memlimit
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curl_dbg_memlimit(long limit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:113,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/memdebug.c:116,1
    - Dst: fflush
      Src: /src/curl/lib/memdebug.c:118,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/memdebug.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - func
    - line
    - source
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: countcheck
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - CURL_SETERRNO
    - curl_dbg_log
    - fflush
    linkageType: ''
    returnType: bool
    signature: bool countcheck(const char *func, int line, const char *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/memdebug.c:136,1
    - Dst: countcheck
      Src: /src/curl/lib/memdebug.c:138,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - wantedsize
    - line
    - source
    argTypes:
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 155
    functionName: curl_dbg_malloc
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - countcheck
    - curl_dbg_log
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: ALLOC_FUNC *curl_dbg_malloc(size_t wantedsize, int line, const char
      *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/memdebug.c:164,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/memdebug.c:165,1
    - Dst: countcheck
      Src: /src/curl/lib/memdebug.c:167,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - wanted_elements
    - wanted_size
    - line
    - source
    argTypes:
    - size_t
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 184
    functionName: curl_dbg_calloc
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - countcheck
    - curl_dbg_log
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: "ALLOC_FUNC *curl_dbg_calloc(size_t wanted_elements, size_t wanted_size,\n
      \                     int line, const char *source)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/memdebug.c:192,1
    - Dst: countcheck
      Src: /src/curl/lib/memdebug.c:194,1
    - Dst: strlen
      Src: /src/curl/lib/memdebug.c:197,1
    - Dst: curl_dbg_malloc
      Src: /src/curl/lib/memdebug.c:199,1
    - Dst: memcpy
      Src: /src/curl/lib/memdebug.c:201,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - str
    - line
    - source
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 186
    functionDepth: 7
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionName: curl_dbg_strdup
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_dbg_log
    - countcheck
    - memcpy
    - DEBUGASSERT
    - curl_dbg_malloc
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: ALLOC_FUNC *curl_dbg_strdup(const char *str, int line, const char *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/memdebug.c:217,1
    - Dst: countcheck
      Src: /src/curl/lib/memdebug.c:219,1
    - Dst: wcslen
      Src: /src/curl/lib/memdebug.c:222,1
    - Dst: curl_dbg_malloc
      Src: /src/curl/lib/memdebug.c:225,1
    - Dst: memcpy
      Src: /src/curl/lib/memdebug.c:227,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - str
    - line
    - source
    argTypes:
    - wchar_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 211
    functionDepth: 7
    functionLinenumber: 211
    functionLinenumberEnd: 234
    functionName: curl_dbg_wcsdup
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - wcslen
    - countcheck
    - curl_dbg_log
    - memcpy
    - DEBUGASSERT
    - curl_dbg_malloc
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: ALLOC_FUNC *curl_dbg_wcsdup(const wchar_t *str, int line, const char
      *source)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/memdebug.c:246,1
    - Dst: countcheck
      Src: /src/curl/lib/memdebug.c:248,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ptr
    - wantedsize
    - line
    - source
    argTypes:
    - void*
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 239
    functionDepth: 6
    functionLinenumber: 239
    functionLinenumberEnd: 276
    functionName: curl_dbg_realloc
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - countcheck
    - curl_dbg_log
    linkageType: ''
    returnType: void
    signature: "void *curl_dbg_realloc(void *ptr, size_t wantedsize,\n                       int
      line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - line
    - source
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 301
    functionName: curl_dbg_free
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    linkageType: ''
    returnType: void
    signature: void curl_dbg_free(void *ptr, int line, const char *source)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countcheck
      Src: /src/curl/lib/memdebug.c:308,1
    - Dst: socket
      Src: /src/curl/lib/memdebug.c:312,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - domain
    - type
    - protocol
    - line
    - source
    argTypes:
    - int
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 6
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: curl_dbg_socket
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - countcheck
    - socket
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t curl_dbg_socket(int domain, int type, int protocol,\n
      \                             int line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countcheck
      Src: /src/curl/lib/memdebug.c:327,1
    - Dst: send
      Src: /src/curl/lib/memdebug.c:330,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - sockfd
    - SEND_TYPE_ARG2
    - len
    - flags
    - line
    - source
    argTypes:
    - SEND_TYPE_ARG1
    - SEND_QUAL_ARG2
    - SEND_TYPE_ARG3
    - SEND_TYPE_ARG4
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 6
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: curl_dbg_send
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - send
    - countcheck
    - curl_dbg_log
    linkageType: ''
    returnType: SEND_TYPE_RETV
    signature: "SEND_TYPE_RETV curl_dbg_send(SEND_TYPE_ARG1 sockfd,\n                             SEND_QUAL_ARG2
      SEND_TYPE_ARG2 buf,\n                             SEND_TYPE_ARG3 len, SEND_TYPE_ARG4
      flags,\n                             int line, const char *source)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countcheck
      Src: /src/curl/lib/memdebug.c:342,1
    - Dst: recv
      Src: /src/curl/lib/memdebug.c:345,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - sockfd
    - buf
    - len
    - flags
    - line
    - source
    argTypes:
    - RECV_TYPE_ARG1
    - RECV_TYPE_ARG2
    - RECV_TYPE_ARG3
    - RECV_TYPE_ARG4
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 337
    functionDepth: 6
    functionLinenumber: 337
    functionLinenumberEnd: 350
    functionName: curl_dbg_recv
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - recv
    - curl_dbg_log
    - countcheck
    linkageType: ''
    returnType: RECV_TYPE_RETV
    signature: "RECV_TYPE_RETV curl_dbg_recv(RECV_TYPE_ARG1 sockfd, RECV_TYPE_ARG2
      buf,\n                             RECV_TYPE_ARG3 len, RECV_TYPE_ARG4 flags,\n
      \                            int line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/curl/lib/memdebug.c:358,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - domain
    - type
    - protocol
    - socket_vector
    - line
    - source
    argTypes:
    - int
    - int
    - int
    - curl_socket_t[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: curl_dbg_socketpair
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - socketpair
    linkageType: ''
    returnType: int
    signature: "int curl_dbg_socketpair(int domain, int type, int protocol,\n                        curl_socket_t
      socket_vector[2],\n                        int line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/curl/lib/memdebug.c:376,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - s
    - saddr
    - saddrlen
    - line
    - source
    argTypes:
    - curl_socket_t
    - void*
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: curl_dbg_accept
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - accept
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t curl_dbg_accept(curl_socket_t s, void *saddr, void *saddrlen,\n
      \                             int line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accept4
      Src: /src/curl/lib/memdebug.c:394,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - s
    - saddr
    - saddrlen
    - flags
    - line
    - source
    argTypes:
    - curl_socket_t
    - void*
    - void*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: curl_dbg_accept4
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - accept4
    linkageType: ''
    returnType: curl_socket_t
    signature: "curl_socket_t curl_dbg_accept4(curl_socket_t s, void *saddr, void
      *saddrlen,\n                               int flags,\n                               int
      line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sockfd
    - line
    - source
    argTypes:
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: curl_dbg_mark_sclose
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    linkageType: ''
    returnType: void
    signature: void curl_dbg_mark_sclose(curl_socket_t sockfd, int line, const char
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SCLOSE
      Src: /src/curl/lib/memdebug.c:415,1
    - Dst: curl_dbg_mark_sclose
      Src: /src/curl/lib/memdebug.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sockfd
    - line
    - source
    argTypes:
    - curl_socket_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: curl_dbg_sclose
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - CURL_SCLOSE
    - curl_dbg_mark_sclose
    linkageType: ''
    returnType: int
    signature: int curl_dbg_sclose(curl_socket_t sockfd, int line, const char *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURLX_FOPEN_LOW
      Src: /src/curl/lib/memdebug.c:424,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - file
    - mode
    - line
    - source
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 430
    functionName: curl_dbg_fopen
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - CURLX_FOPEN_LOW
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: "ALLOC_FUNC *curl_dbg_fopen(const char *file, const char *mode,\n                     int
      line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fdopen
      Src: /src/curl/lib/memdebug.c:437,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - filedes
    - mode
    - line
    - source
    argTypes:
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: curl_dbg_fdopen
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - curl_dbg_log
    - fdopen
    linkageType: ''
    returnType: ALLOC_FUNC
    signature: "ALLOC_FUNC *curl_dbg_fdopen(int filedes, const char *mode,\n                      int
      line, const char *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/memdebug.c:448,1
    - Dst: curl_dbg_log
      Src: /src/curl/lib/memdebug.c:451,1
    - Dst: fclose
      Src: /src/curl/lib/memdebug.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - file
    - line
    - source
    argTypes:
    - FILE*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 458
    functionName: curl_dbg_fclose
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 0
    functionsReached:
    - fclose
    - DEBUGASSERT
    - curl_dbg_log
    linkageType: ''
    returnType: int
    signature: int curl_dbg_fclose(FILE *file, int line, const char *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/memdebug.c:470,1
    - Dst: curl_mvsnprintf
      Src: /src/curl/lib/memdebug.c:471,1
    - Dst: va_end
      Src: /src/curl/lib/memdebug.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 461
    functionDepth: 5
    functionLinenumber: 461
    functionLinenumberEnd: 479
    functionName: curl_dbg_log
    functionSourceFile: /src/curl/lib/memdebug.c
    functionUses: 19
    functionsReached:
    - va_start
    - curl_mvsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void curl_dbg_log(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: Curl_idn_decode
    functionSourceFile: /src/curl/lib/idn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_idn_decode(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/request.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct SingleRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Curl_req_init
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_req_init(struct SingleRequest *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_start
      Src: /src/curl/lib/request.c:73,1
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/request.c:78,1
    - Dst: Curl_bufq_reset
      Src: /src/curl/lib/request.c:83,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/request.c:85,1
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/request.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 92
    functionName: Curl_req_soft_reset
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 4
    functionsReached:
    - Curl_bufq_free
    - Curl_bufq_reset
    - Curl_client_start
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_req_soft_reset(struct SingleRequest *req,\n                             struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/request.c:97,1
    - Dst: Curl_req_soft_reset
      Src: /src/curl/lib/request.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: Curl_req_start
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - curlx_now
    - Curl_req_soft_reset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_req_start(struct SingleRequest *req,\n                        struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: req_flush
      Src: /src/curl/lib/request.c:108,1
    - Dst: Curl_client_reset
      Src: /src/curl/lib/request.c:109,1
    - Dst: Curl_doh_close
      Src: /src/curl/lib/request.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - req
    - data
    - aborted
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: Curl_req_done
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - Curl_doh_close
    - req_flush
    - Curl_client_reset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_req_done(struct SingleRequest *req,\n                       struct
      Curl_easy *data, bool aborted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/request.c:120,1
    - Dst: Curl_client_reset
      Src: /src/curl/lib/request.c:121,1
    - Dst: Curl_bufq_reset
      Src: /src/curl/lib/request.c:123,1
    - Dst: Curl_doh_close
      Src: /src/curl/lib/request.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 166
    functionName: Curl_req_hard_reset
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - Curl_safefree
    - Curl_bufq_reset
    - Curl_doh_close
    - Curl_client_reset
    linkageType: ''
    returnType: void
    signature: void Curl_req_hard_reset(struct SingleRequest *req, struct Curl_easy
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/request.c:170,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/request.c:172,1
    - Dst: Curl_client_cleanup
      Src: /src/curl/lib/request.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct SingleRequest*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: Curl_req_free
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - Curl_client_cleanup
    - Curl_safefree
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void Curl_req_free(struct SingleRequest *req, struct Curl_easy *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/request.c:184,1
    - Dst: getenv
      Src: /src/curl/lib/request.c:191,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/request.c:194,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/request.c:209,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/request.c:210,1
    - Dst: DEBUGF
      Src: /src/curl/lib/request.c:211,1
    - Dst: infof
      Src: /src/curl/lib/request.c:211,1
    - Dst: Curl_xfer_send
      Src: /src/curl/lib/request.c:214,1
    - Dst: Curl_debug
      Src: /src/curl/lib/request.c:220,1
    - Dst: CURLMIN
      Src: /src/curl/lib/request.c:221,1
    - Dst: Curl_debug
      Src: /src/curl/lib/request.c:224,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/request.c:226,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 5
    argNames:
    - data
    - buf
    - blen
    - hds_len
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 176
    functionDepth: 8
    functionLinenumber: 176
    functionLinenumberEnd: 231
    functionName: xfer_send
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 9
    functionsReached:
    - Curl_pgrsSetUploadCounter
    - Curl_xfer_send
    - DEBUGF
    - getenv
    - CURLMIN
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - curlx_str_number
    - infof
    - DEBUGASSERT
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode xfer_send(struct Curl_easy *data,\n                          const
      char *buf, size_t blen,\n                          size_t hds_len, size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/request.c:239,1
    - Dst: CURLMIN
      Src: /src/curl/lib/request.c:240,1
    - Dst: xfer_send
      Src: /src/curl/lib/request.c:241,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/request.c:245,1
    - Dst: CURLMIN
      Src: /src/curl/lib/request.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 233
    functionDepth: 9
    functionLinenumber: 233
    functionLinenumberEnd: 255
    functionName: req_send_buffer_flush
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 0
    functionsReached:
    - CURLMIN
    - Curl_bufq_peek
    - Curl_bufq_skip
    - xfer_send
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_send_buffer_flush(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/request.c:259,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/request.c:263,1
    - Dst: Curl_creader_done
      Src: /src/curl/lib/request.c:264,1
    - Dst: Curl_bufq_reset
      Src: /src/curl/lib/request.c:267,1
    - Dst: infof
      Src: /src/curl/lib/request.c:269,1
    - Dst: infof
      Src: /src/curl/lib/request.c:272,1
    - Dst: infof
      Src: /src/curl/lib/request.c:275,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/request.c:278,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/request.c:278,1
    - Dst: infof
      Src: /src/curl/lib/request.c:279,1
    - Dst: Curl_creader_total_length
      Src: /src/curl/lib/request.c:279,1
    - Dst: Curl_xfer_send_close
      Src: /src/curl/lib/request.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 285
    functionName: req_set_upload_done
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 0
    functionsReached:
    - Curl_creader_total_length
    - Curl_xfer_send_close
    - Curl_pgrsTime
    - Curl_bufq_is_empty
    - Curl_creader_done
    - infof
    - Curl_bufq_reset
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_set_upload_done(struct Curl_easy *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/request.c:294,1
    - Dst: req_send_buffer_flush
      Src: /src/curl/lib/request.c:295,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/request.c:298,1
    - Dst: DEBUGF
      Src: /src/curl/lib/request.c:299,1
    - Dst: infof
      Src: /src/curl/lib/request.c:299,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/request.c:300,1
    - Dst: Curl_xfer_needs_flush
      Src: /src/curl/lib/request.c:304,1
    - Dst: DEBUGF
      Src: /src/curl/lib/request.c:305,1
    - Dst: infof
      Src: /src/curl/lib/request.c:305,1
    - Dst: Curl_xfer_flush
      Src: /src/curl/lib/request.c:306,1
    - Dst: xfer_send
      Src: /src/curl/lib/request.c:312,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/request.c:315,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/request.c:319,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/request.c:319,1
    - Dst: Curl_xfer_send_shutdown
      Src: /src/curl/lib/request.c:322,1
    - Dst: infof
      Src: /src/curl/lib/request.c:324,1
    - Dst: req_set_upload_done
      Src: /src/curl/lib/request.c:335,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 287
    functionDepth: 10
    functionLinenumber: 287
    functionLinenumberEnd: 338
    functionName: req_flush
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - req_set_upload_done
    - DEBUGF
    - xfer_send
    - req_send_buffer_flush
    - Curl_bufq_is_empty
    - Curl_bufq_len
    - Curl_xfer_flush
    - infof
    - Curl_xfer_needs_flush
    - DEBUGASSERT
    - Curl_xfer_send_shutdown
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode req_flush(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_client_read
      Src: /src/curl/lib/request.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - reader_ctx
    - buf
    - buflen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: add_from_client
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 0
    functionsReached:
    - Curl_client_read
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_from_client(void *reader_ctx,\n                                unsigned
      char *buf, size_t buflen,\n                                size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_cwrite
      Src: /src/curl/lib/request.c:360,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/request.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - buf
    - blen
    - hds_len
    argTypes:
    - struct Curl_easy*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 354
    functionDepth: 6
    functionLinenumber: 354
    functionLinenumberEnd: 367
    functionName: req_send_buffer_add
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_cwrite
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode req_send_buffer_add(struct Curl_easy *data,\n                                    const
      char *buf, size_t blen,\n                                    size_t hds_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/request.c:380,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/request.c:381,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/request.c:387,1
    - Dst: Curl_creader_total_length
      Src: /src/curl/lib/request.c:388,1
    - Dst: xfer_send
      Src: /src/curl/lib/request.c:391,1
    - Dst: req_send_buffer_add
      Src: /src/curl/lib/request.c:402,1
    - Dst: Curl_req_send_more
      Src: /src/curl/lib/request.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - data
    - req
    - httpversion
    argTypes:
    - struct Curl_easy*
    - struct dynbuf*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 369
    functionDepth: 9
    functionLinenumber: 369
    functionLinenumberEnd: 409
    functionName: Curl_req_send
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - Curl_creader_total_length
    - xfer_send
    - req_send_buffer_add
    - Curl_bufq_is_empty
    - curlx_dyn_len
    - curlx_dyn_ptr
    - Curl_req_send_more
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_req_send(struct Curl_easy *data, struct dynbuf *req,\n
      \                      unsigned char httpversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/request.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: Curl_req_sendbuf_empty
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - Curl_bufq_is_empty
    linkageType: ''
    returnType: bool
    signature: bool Curl_req_sendbuf_empty(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_sendbuf_empty
      Src: /src/curl/lib/request.c:424,1
    - Dst: Curl_xfer_needs_flush
      Src: /src/curl/lib/request.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: Curl_req_want_send
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 3
    functionsReached:
    - Curl_xfer_needs_flush
    - Curl_req_sendbuf_empty
    linkageType: ''
    returnType: bool
    signature: bool Curl_req_want_send(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_want_send
      Src: /src/curl/lib/request.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: Curl_req_done_sending
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - Curl_req_want_send
    linkageType: ''
    returnType: bool
    signature: bool Curl_req_done_sending(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_send_is_paused
      Src: /src/curl/lib/request.c:440,1
    - Dst: Curl_bufq_is_full
      Src: /src/curl/lib/request.c:441,1
    - Dst: Curl_bufq_sipn
      Src: /src/curl/lib/request.c:443,1
    - Dst: req_flush
      Src: /src/curl/lib/request.c:449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 433
    functionDepth: 11
    functionLinenumber: 433
    functionLinenumberEnd: 454
    functionName: Curl_req_send_more
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - Curl_bufq_is_full
    - req_flush
    - Curl_xfer_send_is_paused
    - Curl_bufq_sipn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_req_send_more(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_reset
      Src: /src/curl/lib/request.c:459,1
    - Dst: req_set_upload_done
      Src: /src/curl/lib/request.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 456
    functionDepth: 4
    functionLinenumber: 456
    functionLinenumberEnd: 466
    functionName: Curl_req_abort_sending
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 2
    functionsReached:
    - Curl_bufq_reset
    - req_set_upload_done
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_req_abort_sending(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_req_abort_sending
      Src: /src/curl/lib/request.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 5
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: Curl_req_stop_send_recv
    functionSourceFile: /src/curl/lib/request.c
    functionUses: 1
    functionsReached:
    - Curl_req_abort_sending
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_req_stop_send_recv(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: Curl_mutex_init
    functionSourceFile: /src/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_init(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: Curl_mutex_acquire
    functionSourceFile: /src/curl/lib/curl_threads.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_acquire(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: Curl_mutex_release
    functionSourceFile: /src/curl/lib/curl_threads.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_release(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: Curl_mutex_destroy
    functionSourceFile: /src/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_destroy(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: Curl_mutex_init
    functionSourceFile: /src/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_init(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: Curl_mutex_init
    functionSourceFile: /src/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_init(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: Curl_mutex_acquire
    functionSourceFile: /src/curl/lib/curl_threads.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_acquire(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: Curl_mutex_release
    functionSourceFile: /src/curl/lib/curl_threads.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_release(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Curl_mutex_destroy
    functionSourceFile: /src/curl/lib/curl_threads.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mutex_destroy(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/vtls/hostcheck.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hostname
    - hostlen
    - pattern
    - patternlen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: pmatch
    functionSourceFile: /src/curl/lib/vtls/hostcheck.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: "bool pmatch(const char *hostname, size_t hostlen,\n                   const
      char *pattern, size_t patternlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/hostcheck.c:85,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/hostcheck.c:86,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/hostcheck.c:87,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/hostcheck.c:88,1
    - Dst: strncmp
      Src: /src/curl/lib/vtls/hostcheck.c:96,1
    - Dst: pmatch
      Src: /src/curl/lib/vtls/hostcheck.c:97,1
    - Dst: Curl_host_is_ipnum
      Src: /src/curl/lib/vtls/hostcheck.c:100,1
    - Dst: memchr
      Src: /src/curl/lib/vtls/hostcheck.c:105,1
    - Dst: memrchr
      Src: /src/curl/lib/vtls/hostcheck.c:107,1
    - Dst: pmatch
      Src: /src/curl/lib/vtls/hostcheck.c:108,1
    - Dst: memchr
      Src: /src/curl/lib/vtls/hostcheck.c:110,1
    - Dst: pmatch
      Src: /src/curl/lib/vtls/hostcheck.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - hostname
    - hostlen
    - pattern
    - patternlen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 119
    functionName: hostmatch
    functionSourceFile: /src/curl/lib/vtls/hostcheck.c
    functionUses: 0
    functionsReached:
    - Curl_host_is_ipnum
    - memrchr
    - memchr
    - pmatch
    - strncmp
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool hostmatch(const char *hostname,\n                      size_t
      hostlen,\n                      const char *pattern,\n                      size_t
      patternlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hostmatch
      Src: /src/curl/lib/vtls/hostcheck.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - match
    - matchlen
    - hostname
    - hostlen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 5
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: Curl_cert_hostcheck
    functionSourceFile: /src/curl/lib/vtls/hostcheck.c
    functionUses: 1
    functionsReached:
    - hostmatch
    linkageType: ''
    returnType: bool
    signature: "bool Curl_cert_hostcheck(const char *match, size_t matchlen,\n                         const
      char *hostname, size_t hostlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls_spack.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - b
    argTypes:
    - struct dynbuf*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: spack_enc8
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_enc8(struct dynbuf *buf, uint8_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - uint8_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: spack_dec8
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_dec8(uint8_t *val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls_spack.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - struct dynbuf*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: spack_enc16
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_enc16(struct dynbuf *buf, uint16_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - uint16_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: spack_dec16
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_dec16(uint16_t *val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls_spack.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - struct dynbuf*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: spack_enc32
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_enc32(struct dynbuf *buf, uint32_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - uint32_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: spack_dec32
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_dec32(uint32_t *val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls_spack.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - struct dynbuf*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: spack_enc64
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_enc64(struct dynbuf *buf, uint64_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - uint64_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: spack_dec64
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_dec64(uint64_t *val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls_spack.c:148,1
    - Dst: spack_enc16
      Src: /src/curl/lib/vtls/vtls_spack.c:152,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls_spack.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - s
    argTypes:
    - struct dynbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: spack_encstr16
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_enc16
    - curlx_dyn_addn
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_encstr16(struct dynbuf *buf, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spack_dec16
      Src: /src/curl/lib/vtls/vtls_spack.c:166,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/vtls/vtls_spack.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - val
    - src
    - end
    argTypes:
    - char**
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: spack_decstr16
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_dec16
    - Curl_memdup0
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode spack_decstr16(char **val, const uint8_t **src, const uint8_t
      *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spack_enc16
      Src: /src/curl/lib/vtls/vtls_spack.c:182,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls_spack.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - data
    - data_len
    argTypes:
    - struct dynbuf*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: spack_encdata16
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_enc16
    - curlx_dyn_addn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode spack_encdata16(struct dynbuf *buf,\n                                const
      uint8_t *data, size_t data_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spack_dec16
      Src: /src/curl/lib/vtls/vtls_spack.c:197,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/vtls/vtls_spack.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - val
    - val_len
    - src
    - end
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 206
    functionName: spack_decdata16
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_dec16
    - Curl_memdup0
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode spack_decdata16(uint8_t **val, size_t *val_len,\n                const
      uint8_t **src, const uint8_t *end)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_spack.c:213,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_spack.c:214,1
    - Dst: spack_enc8
      Src: /src/curl/lib/vtls/vtls_spack.c:219,1
    - Dst: spack_enc8
      Src: /src/curl/lib/vtls/vtls_spack.c:221,1
    - Dst: spack_encdata16
      Src: /src/curl/lib/vtls/vtls_spack.c:223,1
    - Dst: spack_enc8
      Src: /src/curl/lib/vtls/vtls_spack.c:225,1
    - Dst: spack_enc16
      Src: /src/curl/lib/vtls/vtls_spack.c:227,1
    - Dst: spack_enc8
      Src: /src/curl/lib/vtls/vtls_spack.c:229,1
    - Dst: spack_enc64
      Src: /src/curl/lib/vtls/vtls_spack.c:231,1
    - Dst: spack_enc8
      Src: /src/curl/lib/vtls/vtls_spack.c:233,1
    - Dst: spack_encstr16
      Src: /src/curl/lib/vtls/vtls_spack.c:235,1
    - Dst: spack_enc8
      Src: /src/curl/lib/vtls/vtls_spack.c:241,1
    - Dst: spack_enc32
      Src: /src/curl/lib/vtls/vtls_spack.c:243,1
    - Dst: spack_enc8
      Src: /src/curl/lib/vtls/vtls_spack.c:246,1
    - Dst: spack_encdata16
      Src: /src/curl/lib/vtls/vtls_spack.c:248,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_spack.c:252,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 3
    argNames:
    - data
    - s
    - buf
    argTypes:
    - struct Curl_easy*
    - struct Curl_ssl_session*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 254
    functionName: Curl_ssl_session_pack
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_enc16
    - spack_encdata16
    - spack_enc8
    - CURL_TRC_SSLS
    - spack_enc32
    - spack_encstr16
    - spack_enc64
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_pack(struct Curl_easy *data,\n                               struct
      Curl_ssl_session *s,\n                               struct dynbuf *buf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_spack.c:269,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_spack.c:270,1
    - Dst: spack_dec8
      Src: /src/curl/lib/vtls/vtls_spack.c:273,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/vtls_spack.c:281,1
    - Dst: spack_dec8
      Src: /src/curl/lib/vtls/vtls_spack.c:288,1
    - Dst: spack_decstr16
      Src: /src/curl/lib/vtls/vtls_spack.c:294,1
    - Dst: spack_dec32
      Src: /src/curl/lib/vtls/vtls_spack.c:299,1
    - Dst: spack_dec16
      Src: /src/curl/lib/vtls/vtls_spack.c:305,1
    - Dst: spack_decdata16
      Src: /src/curl/lib/vtls/vtls_spack.c:311,1
    - Dst: spack_decdata16
      Src: /src/curl/lib/vtls/vtls_spack.c:318,1
    - Dst: spack_dec64
      Src: /src/curl/lib/vtls/vtls_spack.c:325,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_spack.c:338,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/curl/lib/vtls/vtls_spack.c:339,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 82
    argCount: 4
    argNames:
    - data
    - bufv
    - buflen
    - ps
    argTypes:
    - struct Curl_easy*
    - void*
    - size_t
    - struct Curl_ssl_session**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 344
    functionName: Curl_ssl_session_unpack
    functionSourceFile: /src/curl/lib/vtls/vtls_spack.c
    functionUses: 0
    functionsReached:
    - spack_dec16
    - calloc
    - spack_dec64
    - CURL_TRC_SSLS
    - spack_dec8
    - Curl_ssl_session_destroy
    - spack_decstr16
    - spack_decdata16
    - spack_dec32
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_unpack(struct Curl_easy *data,\n                                 const
      void *bufv, size_t buflen,\n                                 struct Curl_ssl_session
      **ps)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_enabled
      Src: /src/curl/lib/vtls/wolfssl.c:142,1
    - Dst: wolfSSL_get_client_random
      Src: /src/curl/lib/vtls/wolfssl.c:172,1
    - Dst: Curl_tls_keylog_write
      Src: /src/curl/lib/vtls/wolfssl.c:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - ssl
    - id
    - secret
    - secretSz
    - ctx
    argTypes:
    - SSL*
    - int
    - unsigned char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 179
    functionName: wssl_tls13_secret_callback
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_write
    - Curl_tls_keylog_enabled
    - wolfSSL_get_client_random
    linkageType: ''
    returnType: int
    signature: "int wssl_tls13_secret_callback(SSL *ssl, int id, const unsigned char
      *secret,\n                           int secretSz, void *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_GetVersion
      Src: /src/curl/lib/vtls/wolfssl.c:192,1
    - Dst: wolfSSL_get_keys
      Src: /src/curl/lib/vtls/wolfssl.c:205,1
    - Dst: Curl_tls_keylog_write
      Src: /src/curl/lib/vtls/wolfssl.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - WOLFSSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 221
    functionName: wssl_log_tls12_secret
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_get_keys
    - Curl_tls_keylog_write
    - wolfSSL_GetVersion
    linkageType: ''
    returnType: void
    signature: void wssl_log_tls12_secret(WOLFSSL *ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/wolfssl.c:228,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/wolfssl.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: wssl_do_file_type
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: int
    signature: int wssl_do_file_type(const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_set_shutdown
      Src: /src/curl/lib/vtls/wolfssl.c:260,1
    - Dst: wolfSSL_BIO_set_data
      Src: /src/curl/lib/vtls/wolfssl.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - WOLFSSL_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: wssl_bio_cf_create
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_set_shutdown
    - wolfSSL_BIO_set_data
    linkageType: ''
    returnType: int
    signature: int wssl_bio_cf_create(WOLFSSL_BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - WOLFSSL_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: wssl_bio_cf_destroy
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wssl_bio_cf_destroy(WOLFSSL_BIO *bio)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_get_data
      Src: /src/curl/lib/vtls/wolfssl.c:275,1
    - Dst: wolfSSL_BIO_get_shutdown
      Src: /src/curl/lib/vtls/wolfssl.c:284,1
    - Dst: wolfSSL_BIO_set_shutdown
      Src: /src/curl/lib/vtls/wolfssl.c:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - WOLFSSL_BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 314
    functionName: wssl_bio_cf_ctrl
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_set_shutdown
    - wolfSSL_BIO_get_data
    - wolfSSL_BIO_get_shutdown
    linkageType: ''
    returnType: long
    signature: long wssl_bio_cf_ctrl(WOLFSSL_BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_get_data
      Src: /src/curl/lib/vtls/wolfssl.c:319,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/wolfssl.c:322,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:326,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:332,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/vtls/wolfssl.c:337,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:339,1
    - Dst: wolfSSL_BIO_clear_retry_flags
      Src: /src/curl/lib/vtls/wolfssl.c:342,1
    - Dst: wolfSSL_BIO_set_retry_write
      Src: /src/curl/lib/vtls/wolfssl.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - WOLFSSL_BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 352
    functionName: wssl_bio_cf_out_write
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - wolfSSL_BIO_clear_retry_flags
    - CF_DATA_CURRENT
    - Curl_conn_cf_send
    - wolfSSL_BIO_get_data
    - wolfSSL_BIO_set_retry_write
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int wssl_bio_cf_out_write(WOLFSSL_BIO *bio,\n                                 const
      char *buf, int blen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_get_data
      Src: /src/curl/lib/vtls/wolfssl.c:356,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/wolfssl.c:359,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:363,1
    - Dst: Curl_wssl_setup_x509_store
      Src: /src/curl/lib/vtls/wolfssl.c:375,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:377,1
    - Dst: Curl_conn_cf_recv
      Src: /src/curl/lib/vtls/wolfssl.c:383,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:385,1
    - Dst: wolfSSL_BIO_clear_retry_flags
      Src: /src/curl/lib/vtls/wolfssl.c:387,1
    - Dst: wolfSSL_BIO_set_retry_read
      Src: /src/curl/lib/vtls/wolfssl.c:390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - WOLFSSL_BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 394
    functionName: wssl_bio_cf_in_read
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_conn_cf_recv
    - wolfSSL_BIO_clear_retry_flags
    - Curl_wssl_setup_x509_store
    - CF_DATA_CURRENT
    - wolfSSL_BIO_set_retry_read
    - wolfSSL_BIO_get_data
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int wssl_bio_cf_in_read(WOLFSSL_BIO *bio, char *buf, int blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_meth_new
      Src: /src/curl/lib/vtls/wolfssl.c:400,1
    - Dst: wolfSSL_BIO_meth_set_write
      Src: /src/curl/lib/vtls/wolfssl.c:402,1
    - Dst: wolfSSL_BIO_meth_set_read
      Src: /src/curl/lib/vtls/wolfssl.c:403,1
    - Dst: wolfSSL_BIO_meth_set_ctrl
      Src: /src/curl/lib/vtls/wolfssl.c:404,1
    - Dst: wolfSSL_BIO_meth_set_create
      Src: /src/curl/lib/vtls/wolfssl.c:405,1
    - Dst: wolfSSL_BIO_meth_set_destroy
      Src: /src/curl/lib/vtls/wolfssl.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: wssl_bio_cf_init_methods
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_meth_set_read
    - wolfSSL_BIO_meth_set_ctrl
    - wolfSSL_BIO_meth_new
    - wolfSSL_BIO_meth_set_create
    - wolfSSL_BIO_meth_set_destroy
    - wolfSSL_BIO_meth_set_write
    linkageType: ''
    returnType: void
    signature: void wssl_bio_cf_init_methods(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_BIO_meth_free
      Src: /src/curl/lib/vtls/wolfssl.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: wssl_bio_cf_free_methods
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void wssl_bio_cf_free_methods(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: wssl_bio_cf_init_methods
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wssl_bio_cf_init_methods()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    functionName: wssl_bio_cf_free_methods
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wssl_bio_cf_free_methods()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_i2d_SSL_SESSION
      Src: /src/curl/lib/vtls/wolfssl.c:439,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:441,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/wolfssl.c:445,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:447,1
    - Dst: wolfSSL_i2d_SSL_SESSION
      Src: /src/curl/lib/vtls/wolfssl.c:451,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:453,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/vtls/wolfssl.c:458,1
    - Dst: free
      Src: /src/curl/lib/vtls/wolfssl.c:460,1
    - Dst: wolfSSL_SESSION_get_max_early_data
      Src: /src/curl/lib/vtls/wolfssl.c:465,1
    - Dst: Curl_ssl_session_create2
      Src: /src/curl/lib/vtls/wolfssl.c:468,1
    - Dst: time
      Src: /src/curl/lib/vtls/wolfssl.c:470,1
    - Dst: wolfSSL_SESSION_get_timeout
      Src: /src/curl/lib/vtls/wolfssl.c:471,1
    - Dst: Curl_ssl_scache_put
      Src: /src/curl/lib/vtls/wolfssl.c:476,1
    - Dst: free
      Src: /src/curl/lib/vtls/wolfssl.c:481,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 8
    argNames:
    - cf
    - data
    - ssl_peer_key
    - session
    - ietf_tls_id
    - alpn
    - quic_tp
    - quic_tp_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - WOLFSSL_SESSION*
    - int
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 483
    functionName: Curl_wssl_cache_session
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - calloc
    - failf
    - CURL_TRC_CF
    - wolfSSL_SESSION_get_max_early_data
    - Curl_ssl_session_create2
    - free
    - Curl_ssl_scache_put
    - wolfSSL_i2d_SSL_SESSION
    - wolfSSL_SESSION_get_timeout
    - Curl_memdup0
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_wssl_cache_session(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 const char *ssl_peer_key,\n
      \                                WOLFSSL_SESSION *session,\n                                 int
      ietf_tls_id,\n                                 const char *alpn,\n                                 unsigned
      char *quic_tp,\n                                 size_t quic_tp_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_app_data
      Src: /src/curl/lib/vtls/wolfssl.c:489,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:490,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/wolfssl.c:493,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:494,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:495,1
    - Dst: Curl_wssl_cache_session
      Src: /src/curl/lib/vtls/wolfssl.c:497,1
    - Dst: wolfSSL_version
      Src: /src/curl/lib/vtls/wolfssl.c:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - WOLFSSL*
    - WOLFSSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 503
    functionName: wssl_vtls_new_session_cb
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_wssl_cache_session
    - wolfSSL_get_app_data
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - wolfSSL_version
    linkageType: ''
    returnType: int
    signature: int wssl_vtls_new_session_cb(WOLFSSL *ssl, WOLFSSL_SESSION *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_SESSION_get_max_early_data
      Src: /src/curl/lib/vtls/wolfssl.c:517,1
    - Dst: wolfSSL_get_session
      Src: /src/curl/lib/vtls/wolfssl.c:518,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:526,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/curl/lib/vtls/wolfssl.c:528,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:529,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:532,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/wolfssl.c:536,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/wolfssl.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - cf
    - data
    - alpns
    - scs
    - do_early_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct alpn_spec*
    - struct Curl_ssl_session*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 542
    functionName: wssl_on_session_reuse
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - strlen
    - CURL_TRC_CF
    - wolfSSL_SESSION_get_max_early_data
    - Curl_alpn_contains_proto
    - infof
    - wolfSSL_get_session
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_on_session_reuse(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct alpn_spec *alpns,\n
      \                                     struct Curl_ssl_session *scs,\n                                      bool
      *do_early_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/wolfssl.c:552,1
    - Dst: Curl_ssl_scache_take
      Src: /src/curl/lib/vtls/wolfssl.c:556,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/curl/lib/vtls/wolfssl.c:558,1
    - Dst: wolfSSL_d2i_SSL_SESSION
      Src: /src/curl/lib/vtls/wolfssl.c:562,1
    - Dst: wolfSSL_set_session
      Src: /src/curl/lib/vtls/wolfssl.c:564,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/curl/lib/vtls/wolfssl.c:566,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:568,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:572,1
    - Dst: strcmp
      Src: /src/curl/lib/vtls/wolfssl.c:576,1
    - Dst: wolfSSL_get_version
      Src: /src/curl/lib/vtls/wolfssl.c:576,1
    - Dst: sess_reuse_cb
      Src: /src/curl/lib/vtls/wolfssl.c:579,1
    - Dst: Curl_alpn_restrict_to
      Src: /src/curl/lib/vtls/wolfssl.c:589,1
    - Dst: wolfSSL_set_max_early_data
      Src: /src/curl/lib/vtls/wolfssl.c:590,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:594,1
    - Dst: wolfSSL_SESSION_free
      Src: /src/curl/lib/vtls/wolfssl.c:598,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:601,1
    - Dst: Curl_ssl_scache_return
      Src: /src/curl/lib/vtls/wolfssl.c:605,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 6
    argNames:
    - cf
    - data
    - wss
    - alpns
    - ssl_peer_key
    - sess_reuse_cb
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct wssl_ctx*
    - struct alpn_spec*
    - char*
    - Curl_wssl_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 607
    functionName: wssl_setup_session
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_get_version
    - wolfSSL_SESSION_free
    - failf
    - Curl_alpn_restrict_to
    - Curl_ssl_scache_return
    - Curl_alpn_contains_proto
    - wolfSSL_d2i_SSL_SESSION
    - Curl_ssl_scache_take
    - strcmp
    - Curl_ssl_session_destroy
    - sess_reuse_cb
    - infof
    - wolfSSL_set_max_early_data
    - wolfSSL_set_session
    - Curl_ssl_cf_get_config
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_setup_session(struct Curl_cfilter *cf,\n                   struct
      Curl_easy *data,\n                   struct wssl_ctx *wss,\n                   struct
      alpn_spec *alpns,\n                   const char *ssl_peer_key,\n                   Curl_wssl_init_session_reuse_cb
      *sess_reuse_cb)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/wolfssl.c:614,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/wolfssl.c:620,1
    - Dst: wolfSSL_CTX_load_system_CA_certs
      Src: /src/curl/lib/vtls/wolfssl.c:631,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:632,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:636,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:639,1
    - Dst: wolfSSL_CTX_load_verify_buffer
      Src: /src/curl/lib/vtls/wolfssl.c:647,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:651,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:656,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:663,1
    - Dst: wolfSSL_CTX_load_verify_locations_ex
      Src: /src/curl/lib/vtls/wolfssl.c:670,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:678,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:687,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:693,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:695,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:696,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - cf
    - data
    - store
    - wssl
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - WOLFSSL_X509_STORE*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 701
    functionName: wssl_populate_x509_store
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_CTX_load_system_CA_certs
    - failf
    - CURL_TRC_CF
    - wolfSSL_CTX_load_verify_locations_ex
    - wolfSSL_CTX_load_verify_buffer
    - infof
    - Curl_ssl_cf_get_primary_config
    - Curl_ssl_cf_get_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_populate_x509_store(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         WOLFSSL_X509_STORE
      *store,\n                                         struct wssl_ctx *wssl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:715,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:716,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/wolfssl.c:716,1
    - Dst: wolfSSL_X509_STORE_free
      Src: /src/curl/lib/vtls/wolfssl.c:720,1
    - Dst: free
      Src: /src/curl/lib/vtls/wolfssl.c:722,1
    - Dst: free
      Src: /src/curl/lib/vtls/wolfssl.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 724
    functionName: wssl_x509_share_free
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - wolfSSL_X509_STORE_free
    - memcmp
    linkageType: ''
    returnType: void
    signature: void wssl_x509_share_free(void *key, size_t key_len, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/wolfssl.c:731,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vtls/wolfssl.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - mb
    argTypes:
    - struct Curl_easy*
    - struct wssl_x509_share*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 739
    functionName: wssl_cached_x509_store_expired
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: bool
    signature: "bool wssl_cached_x509_store_expired(const struct Curl_easy *data,\n
      \                              const struct wssl_x509_share *mb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/wolfssl.c:745,1
    - Dst: strcmp
      Src: /src/curl/lib/vtls/wolfssl.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - mb
    argTypes:
    - struct Curl_cfilter*
    - struct wssl_x509_share*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 750
    functionName: wssl_cached_x509_store_different
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_cf_get_primary_config
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool wssl_cached_x509_store_different(struct Curl_cfilter *cf,\n                                 const
      struct wssl_x509_share *mb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:759,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/vtls/wolfssl.c:760,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/wolfssl.c:761,1
    - Dst: wssl_cached_x509_store_expired
      Src: /src/curl/lib/vtls/wolfssl.c:764,1
    - Dst: wssl_cached_x509_store_different
      Src: /src/curl/lib/vtls/wolfssl.c:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 770
    functionName: wssl_get_cached_x509_store
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wssl_cached_x509_store_different
    - CURL_UNCONST
    - wssl_cached_x509_store_expired
    - DEBUGASSERT
    - Curl_hash_pick
    linkageType: ''
    returnType: WOLFSSL_X509_STORE
    signature: "WOLFSSL_X509_STORE *wssl_get_cached_x509_store(struct Curl_cfilter
      *cf,\n                                                  const struct Curl_easy
      *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/wolfssl.c:776,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:780,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/vtls/wolfssl.c:783,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/wolfssl.c:784,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/wolfssl.c:788,1
    - Dst: Curl_hash_add2
      Src: /src/curl/lib/vtls/wolfssl.c:791,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/wolfssl.c:792,1
    - Dst: free
      Src: /src/curl/lib/vtls/wolfssl.c:795,1
    - Dst: wolfSSL_X509_STORE_up_ref
      Src: /src/curl/lib/vtls/wolfssl.c:800,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/wolfssl.c:804,1
    - Dst: wolfSSL_X509_STORE_free
      Src: /src/curl/lib/vtls/wolfssl.c:806,1
    - Dst: wolfSSL_X509_STORE_free
      Src: /src/curl/lib/vtls/wolfssl.c:812,1
    - Dst: free
      Src: /src/curl/lib/vtls/wolfssl.c:813,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/wolfssl.c:816,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - cf
    - data
    - store
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - WOLFSSL_X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 820
    functionName: wssl_set_cached_x509_store
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - calloc
    - strdup
    - curlx_now
    - CURL_UNCONST
    - free
    - wolfSSL_X509_STORE_up_ref
    - wolfSSL_X509_STORE_free
    - Curl_hash_add2
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    - Curl_hash_pick
    linkageType: ''
    returnType: void
    signature: "void wssl_set_cached_x509_store(struct Curl_cfilter *cf,\n                                       const
      struct Curl_easy *data,\n                                       WOLFSSL_X509_STORE
      *store)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/wolfssl.c:826,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/wolfssl.c:827,1
    - Dst: wssl_get_cached_x509_store
      Src: /src/curl/lib/vtls/wolfssl.c:842,1
    - Dst: wolfSSL_CTX_get_cert_store
      Src: /src/curl/lib/vtls/wolfssl.c:845,1
    - Dst: wolfSSL_X509_STORE_up_ref
      Src: /src/curl/lib/vtls/wolfssl.c:848,1
    - Dst: wolfSSL_CTX_set_cert_store
      Src: /src/curl/lib/vtls/wolfssl.c:849,1
    - Dst: wolfSSL_X509_STORE_new
      Src: /src/curl/lib/vtls/wolfssl.c:854,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:856,1
    - Dst: wolfSSL_CTX_set_cert_store
      Src: /src/curl/lib/vtls/wolfssl.c:859,1
    - Dst: wssl_populate_x509_store
      Src: /src/curl/lib/vtls/wolfssl.c:861,1
    - Dst: wssl_set_cached_x509_store
      Src: /src/curl/lib/vtls/wolfssl.c:863,1
    - Dst: wolfSSL_CTX_get_cert_store
      Src: /src/curl/lib/vtls/wolfssl.c:868,1
    - Dst: wssl_populate_x509_store
      Src: /src/curl/lib/vtls/wolfssl.c:869,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - cf
    - data
    - wssl
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 822
    functionDepth: 4
    functionLinenumber: 822
    functionLinenumberEnd: 873
    functionName: Curl_wssl_setup_x509_store
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 1
    functionsReached:
    - wolfSSL_CTX_set_cert_store
    - failf
    - wssl_populate_x509_store
    - wssl_get_cached_x509_store
    - wolfSSL_X509_STORE_new
    - wssl_set_cached_x509_store
    - wolfSSL_X509_STORE_up_ref
    - Curl_ssl_cf_get_primary_config
    - Curl_ssl_cf_get_config
    - wolfSSL_CTX_get_cert_store
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_wssl_setup_x509_store(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    struct wssl_ctx *wssl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_cipher_list
      Src: /src/curl/lib/vtls/wolfssl.c:882,1
    - Dst: strncmp
      Src: /src/curl/lib/vtls/wolfssl.c:884,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/wolfssl.c:888,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/wolfssl.c:889,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/wolfssl.c:894,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/wolfssl.c:895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tls13
    - buf
    argTypes:
    - bool
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 900
    functionName: wssl_add_default_ciphers
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - strlen
    - wolfSSL_get_cipher_list
    - curlx_dyn_addn
    - curlx_dyn_len
    - strncmp
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode wssl_add_default_ciphers(bool tls13, struct dynbuf *buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_CTX_SetMinVersion
      Src: /src/curl/lib/vtls/wolfssl.c:912,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/wolfssl.c:915,1
    - Dst: wolfSSL_CTX_SetMinVersion
      Src: /src/curl/lib/vtls/wolfssl.c:917,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/wolfssl.c:920,1
    - Dst: wolfSSL_CTX_SetMinVersion
      Src: /src/curl/lib/vtls/wolfssl.c:922,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/wolfssl.c:926,1
    - Dst: wolfSSL_CTX_SetMinVersion
      Src: /src/curl/lib/vtls/wolfssl.c:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - version
    argTypes:
    - WOLFSSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 932
    functionName: wssl_legacy_CTX_set_min_proto_version
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_CTX_SetMinVersion
    - FALLTHROUGH
    linkageType: ''
    returnType: int
    signature: int wssl_legacy_CTX_set_min_proto_version(WOLFSSL_CTX* ctx, int version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - version
    argTypes:
    - WOLFSSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 938
    functionName: wssl_legacy_CTX_set_max_proto_version
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wssl_legacy_CTX_set_max_proto_version(WOLFSSL_CTX* ctx, int version)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: wssl_do_file_type
      Src: /src/curl/lib/vtls/wolfssl.c:954,1
    - Dst: wolfSSL_CTX_use_certificate_chain_buffer
      Src: /src/curl/lib/vtls/wolfssl.c:960,1
    - Dst: wolfSSL_CTX_use_certificate_chain_file
      Src: /src/curl/lib/vtls/wolfssl.c:963,1
    - Dst: wolfSSL_CTX_use_certificate_buffer
      Src: /src/curl/lib/vtls/wolfssl.c:967,1
    - Dst: wolfSSL_CTX_use_certificate_file
      Src: /src/curl/lib/vtls/wolfssl.c:969,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:972,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:976,1
    - Dst: wssl_do_file_type
      Src: /src/curl/lib/vtls/wolfssl.c:985,1
    - Dst: wolfSSL_CTX_use_PrivateKey_buffer
      Src: /src/curl/lib/vtls/wolfssl.c:988,1
    - Dst: wolfSSL_CTX_use_PrivateKey_file
      Src: /src/curl/lib/vtls/wolfssl.c:990,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:992,1
    - Dst: wssl_do_file_type
      Src: /src/curl/lib/vtls/wolfssl.c:1000,1
    - Dst: wolfSSL_CTX_use_certificate_chain_buffer
      Src: /src/curl/lib/vtls/wolfssl.c:1005,1
    - Dst: wolfSSL_CTX_use_certificate_buffer
      Src: /src/curl/lib/vtls/wolfssl.c:1010,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1014,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1018,1
    - Dst: wssl_do_file_type
      Src: /src/curl/lib/vtls/wolfssl.c:1025,1
    - Dst: wolfSSL_CTX_use_PrivateKey_buffer
      Src: /src/curl/lib/vtls/wolfssl.c:1027,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1030,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - data
    - ssl_config
    - wctx
    argTypes:
    - struct Curl_easy*
    - struct ssl_config_data*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 943
    functionDepth: 4
    functionLinenumber: 943
    functionLinenumberEnd: 1036
    functionName: client_certificate
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_CTX_use_certificate_chain_file
    - failf
    - wolfSSL_CTX_use_PrivateKey_buffer
    - wolfSSL_CTX_use_certificate_chain_buffer
    - wssl_do_file_type
    - wolfSSL_CTX_use_certificate_buffer
    - wolfSSL_CTX_use_PrivateKey_file
    - wolfSSL_CTX_use_certificate_file
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode client_certificate(struct Curl_easy *data,\n                                   struct
      ssl_config_data *ssl_config,\n                                   struct wssl_ctx
      *wctx)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_CTX_set_min_proto_version
      Src: /src/curl/lib/vtls/wolfssl.c:1047,1
    - Dst: wolfSSL_CTX_set_min_proto_version
      Src: /src/curl/lib/vtls/wolfssl.c:1050,1
    - Dst: wolfSSL_CTX_set_min_proto_version
      Src: /src/curl/lib/vtls/wolfssl.c:1053,1
    - Dst: wolfSSL_CTX_set_min_proto_version
      Src: /src/curl/lib/vtls/wolfssl.c:1057,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1061,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1065,1
    - Dst: wolfSSL_CTX_set_max_proto_version
      Src: /src/curl/lib/vtls/wolfssl.c:1072,1
    - Dst: wolfSSL_CTX_set_max_proto_version
      Src: /src/curl/lib/vtls/wolfssl.c:1076,1
    - Dst: wolfSSL_CTX_set_max_proto_version
      Src: /src/curl/lib/vtls/wolfssl.c:1079,1
    - Dst: wolfSSL_CTX_set_max_proto_version
      Src: /src/curl/lib/vtls/wolfssl.c:1082,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1089,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1093,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - data
    - conn_config
    - wctx
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1097
    functionName: ssl_version
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 3
    functionsReached:
    - wolfSSL_CTX_set_min_proto_version
    - wolfSSL_CTX_set_max_proto_version
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_version(struct Curl_easy *data,\n                            struct
      ssl_primary_config *conn_config,\n                            struct wssl_ctx
      *wctx)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/wolfssl.c:1112,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1124,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1125,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/wolfssl.c:1126,1
    - Dst: Curl_alpn_copy
      Src: /src/curl/lib/vtls/wolfssl.c:1131,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1132,1
    - Dst: Curl_conn_cf_get_transport
      Src: /src/curl/lib/vtls/wolfssl.c:1133,1
    - Dst: wolfSSLv23_client_method
      Src: /src/curl/lib/vtls/wolfssl.c:1136,1
    - Dst: wolfTLS_client_method
      Src: /src/curl/lib/vtls/wolfssl.c:1138,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1141,1
    - Dst: wolfSSL_CTX_free
      Src: /src/curl/lib/vtls/wolfssl.c:1147,1
    - Dst: wolfSSL_CTX_new
      Src: /src/curl/lib/vtls/wolfssl.c:1149,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1151,1
    - Dst: ssl_version
      Src: /src/curl/lib/vtls/wolfssl.c:1156,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/curl/lib/vtls/wolfssl.c:1164,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1165,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1169,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/wolfssl.c:1178,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/wolfssl.c:1181,1
    - Dst: wssl_add_default_ciphers
      Src: /src/curl/lib/vtls/wolfssl.c:1183,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/wolfssl.c:1187,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/wolfssl.c:1188,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/wolfssl.c:1190,1
    - Dst: wssl_add_default_ciphers
      Src: /src/curl/lib/vtls/wolfssl.c:1193,1
    - Dst: wolfSSL_CTX_set_cipher_list
      Src: /src/curl/lib/vtls/wolfssl.c:1198,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/wolfssl.c:1198,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1199,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/wolfssl.c:1199,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/wolfssl.c:1200,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1204,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/wolfssl.c:1204,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/wolfssl.c:1205,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/wolfssl.c:1211,1
    - Dst: strncmp
      Src: /src/curl/lib/vtls/wolfssl.c:1216,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/wolfssl.c:1216,1
    - Dst: wolfSSL_CTX_set1_curves_list
      Src: /src/curl/lib/vtls/wolfssl.c:1225,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1226,1
    - Dst: client_certificate
      Src: /src/curl/lib/vtls/wolfssl.c:1233,1
    - Dst: wolfSSL_CTX_set_verify
      Src: /src/curl/lib/vtls/wolfssl.c:1241,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/wolfssl.c:1247,1
    - Dst: wolfSSL_CTX_UseSNI
      Src: /src/curl/lib/vtls/wolfssl.c:1249,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1251,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1255,1
    - Dst: wolfSSL_CTX_sess_set_new_cb
      Src: /src/curl/lib/vtls/wolfssl.c:1262,1
    - Dst: cb_setup
      Src: /src/curl/lib/vtls/wolfssl.c:1266,1
    - Dst: Curl_wssl_setup_x509_store
      Src: /src/curl/lib/vtls/wolfssl.c:1274,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1281,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1287,1
    - Dst: wolfSSL_new
      Src: /src/curl/lib/vtls/wolfssl.c:1297,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1299,1
    - Dst: wolfSSL_set_app_data
      Src: /src/curl/lib/vtls/wolfssl.c:1304,1
    - Dst: wolfSSL_set_quic_use_legacy_codepoint
      Src: /src/curl/lib/vtls/wolfssl.c:1307,1
    - Dst: wolfSSL_UseKeyShare
      Src: /src/curl/lib/vtls/wolfssl.c:1312,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1313,1
    - Dst: wssl_setup_session
      Src: /src/curl/lib/vtls/wolfssl.c:1321,1
    - Dst: memset
      Src: /src/curl/lib/vtls/wolfssl.c:1328,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/curl/lib/vtls/wolfssl.c:1329,1
    - Dst: wolfSSL_UseALPN
      Src: /src/curl/lib/vtls/wolfssl.c:1331,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1334,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1338,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/curl/lib/vtls/wolfssl.c:1343,1
    - Dst: wolfSSL_KeepArrays
      Src: /src/curl/lib/vtls/wolfssl.c:1345,1
    - Dst: wolfSSL_set_tls13_secret_cb
      Src: /src/curl/lib/vtls/wolfssl.c:1347,1
    - Dst: wolfSSL_UseSecureRenegotiation
      Src: /src/curl/lib/vtls/wolfssl.c:1354,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1355,1
    - Dst: ECH_ENABLED
      Src: /src/curl/lib/vtls/wolfssl.c:1362,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1366,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1371,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/wolfssl.c:1378,1
    - Dst: wolfSSL_SetEchConfigsBase64
      Src: /src/curl/lib/vtls/wolfssl.c:1380,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1389,1
    - Dst: Curl_dnscache_get
      Src: /src/curl/lib/vtls/wolfssl.c:1396,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1399,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1413,1
    - Dst: wolfSSL_SetEchConfigs
      Src: /src/curl/lib/vtls/wolfssl.c:1414,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1416,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1424,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1428,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/vtls/wolfssl.c:1434,1
    - Dst: wolfSSL_set_min_proto_version
      Src: /src/curl/lib/vtls/wolfssl.c:1438,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1440,1
    - Dst: wolfSSL_free
      Src: /src/curl/lib/vtls/wolfssl.c:1452,1
    - Dst: wolfSSL_CTX_free
      Src: /src/curl/lib/vtls/wolfssl.c:1456,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 249
    argCount: 9
    argNames:
    - wctx
    - cf
    - data
    - peer
    - alpns_requested
    - cb_setup
    - cb_user_data
    - ssl_user_data
    - sess_reuse_cb
    argTypes:
    - struct wssl_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - Curl_wssl_ctx_setup_cb*
    - void*
    - void*
    - Curl_wssl_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1102
    functionDepth: 5
    functionLinenumber: 1102
    functionLinenumberEnd: 1460
    functionName: Curl_wssl_ctx_init
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_CTX_new
    - wolfSSL_KeepArrays
    - CURL_UNCONST
    - ssl_version
    - wolfTLS_client_method
    - wssl_add_default_ciphers
    - client_certificate
    - Curl_dnscache_get
    - wolfSSL_CTX_set_cipher_list
    - wolfSSL_set_app_data
    - wolfSSL_SetEchConfigs
    - curlx_dyn_add
    - failf
    - wolfSSL_UseALPN
    - wolfSSL_CTX_free
    - curlx_dyn_addn
    - curlx_dyn_len
    - Curl_tls_keylog_enabled
    - wolfSSL_set_quic_use_legacy_codepoint
    - wolfSSL_UseKeyShare
    - strncmp
    - wolfSSL_UseSecureRenegotiation
    - wolfSSL_CTX_set_verify
    - curlx_dyn_ptr
    - wolfSSL_SetEchConfigsBase64
    - SSL_CTX_set_cipher_list
    - strlen
    - CURL_TRC_CF
    - cb_setup
    - Curl_wssl_setup_x509_store
    - wolfSSL_set_min_proto_version
    - curlx_dyn_free
    - wolfSSL_CTX_set1_curves_list
    - curlx_dyn_init
    - Curl_alpn_copy
    - wolfSSL_new
    - Curl_ssl_cf_get_primary_config
    - Curl_conn_cf_get_transport
    - wolfSSL_CTX_UseSNI
    - Curl_ssl_cf_get_config
    - DEBUGASSERT
    - Curl_alpn_to_proto_str
    - wolfSSL_set_tls13_secret_cb
    - Curl_resolv_unlink
    - ECH_ENABLED
    - wolfSSL_CTX_sess_set_new_cb
    - memset
    - infof
    - wssl_setup_session
    - wolfSSL_free
    - wolfSSLv23_client_method
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_wssl_ctx_init(struct wssl_ctx *wctx,\n                            struct
      Curl_cfilter *cf,\n                            struct Curl_easy *data,\n                            struct
      ssl_peer *peer,\n                            const struct alpn_spec *alpns_requested,\n
      \                           Curl_wssl_ctx_setup_cb *cb_setup,\n                            void
      *cb_user_data,\n                            void *ssl_user_data,\n                            Curl_wssl_init_session_reuse_cb
      *sess_reuse_cb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/wolfssl.c:1471,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1474,1
    - Dst: Curl_wssl_ctx_init
      Src: /src/curl/lib/vtls/wolfssl.c:1479,1
    - Dst: memset
      Src: /src/curl/lib/vtls/wolfssl.c:1488,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/curl/lib/vtls/wolfssl.c:1489,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1490,1
    - Dst: wolfSSL_check_domain_name
      Src: /src/curl/lib/vtls/wolfssl.c:1498,1
    - Dst: wolfSSL_BIO_new
      Src: /src/curl/lib/vtls/wolfssl.c:1508,1
    - Dst: wolfSSL_BIO_set_data
      Src: /src/curl/lib/vtls/wolfssl.c:1512,1
    - Dst: wolfSSL_set_bio
      Src: /src/curl/lib/vtls/wolfssl.c:1513,1
    - Dst: wolfSSL_set_fd
      Src: /src/curl/lib/vtls/wolfssl.c:1517,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/vtls/wolfssl.c:1518,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1519,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1466
    functionDepth: 6
    functionLinenumber: 1466
    functionLinenumberEnd: 1525
    functionName: wssl_connect_step1
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_check_domain_name
    - wolfSSL_set_fd
    - Curl_conn_cf_get_socket
    - failf
    - wolfSSL_BIO_new
    - wolfSSL_set_bio
    - wolfSSL_BIO_set_data
    - Curl_wssl_ctx_init
    - memset
    - infof
    - Curl_ssl_cf_get_primary_config
    - Curl_alpn_to_proto_str
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode wssl_connect_step1(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1531,1
    - Dst: wolfSSL_ERR_error_string_n
      Src: /src/curl/lib/vtls/wolfssl.c:1534,1
    - Dst: strcpy
      Src: /src/curl/lib/vtls/wolfssl.c:1539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - error
    - buf
    - size
    argTypes:
    - unsigned long
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1543
    functionName: wssl_strerror
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_ERR_error_string_n
    - DEBUGASSERT
    - strcpy
    linkageType: ''
    returnType: char
    signature: "char *wssl_strerror(unsigned long error, char *buf,\n                           unsigned
      long size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/wolfssl.c:1550,1
    - Dst: wolfSSL_get_peer_certificate
      Src: /src/curl/lib/vtls/wolfssl.c:1567,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1569,1
    - Dst: wolfSSL_X509_get_der
      Src: /src/curl/lib/vtls/wolfssl.c:1573,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1575,1
    - Dst: memset
      Src: /src/curl/lib/vtls/wolfssl.c:1579,1
    - Dst: Curl_parseX509
      Src: /src/curl/lib/vtls/wolfssl.c:1580,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1585,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/curl/lib/vtls/wolfssl.c:1589,1
    - Dst: wolfSSL_FreeX509
      Src: /src/curl/lib/vtls/wolfssl.c:1593,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1595,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - cf
    - data
    - wssl
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1604
    functionName: Curl_wssl_verify_pinned
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_X509_get_der
    - Curl_parseX509
    - failf
    - wolfSSL_get_peer_certificate
    - wolfSSL_FreeX509
    - Curl_pin_peer_pubkey
    - memset
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_wssl_verify_pinned(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct wssl_ctx *wssl)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1616,1
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/vtls/wolfssl.c:1618,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/curl/lib/vtls/wolfssl.c:1621,1
    - Dst: wolfSSL_write_early_data
      Src: /src/curl/lib/vtls/wolfssl.c:1622,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1623,1
    - Dst: wolfSSL_get_error
      Src: /src/curl/lib/vtls/wolfssl.c:1626,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1635,1
    - Dst: wssl_strerror
      Src: /src/curl/lib/vtls/wolfssl.c:1636,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/vtls/wolfssl.c:1646,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/wolfssl.c:1650,1
    - Dst: Curl_pgrsEarlyData
      Src: /src/curl/lib/vtls/wolfssl.c:1651,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1607
    functionDepth: 4
    functionLinenumber: 1607
    functionLinenumberEnd: 1655
    functionName: wssl_send_earlydata
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsEarlyData
    - CURL_TRC_CF
    - wolfSSL_write_early_data
    - wssl_strerror
    - wolfSSL_get_error
    - Curl_bufq_skip
    - infof
    - Curl_bufq_peek
    - DEBUGASSERT
    - wolfSSL_ERR_clear_error
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_send_earlydata(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/wolfssl.c:1663,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1667,1
    - Dst: wssl_send_earlydata
      Src: /src/curl/lib/vtls/wolfssl.c:1672,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1676,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1679,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/curl/lib/vtls/wolfssl.c:1682,1
    - Dst: wolfSSL_connect
      Src: /src/curl/lib/vtls/wolfssl.c:1683,1
    - Dst: Curl_wssl_setup_x509_store
      Src: /src/curl/lib/vtls/wolfssl.c:1688,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1690,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/curl/lib/vtls/wolfssl.c:1696,1
    - Dst: wolfSSL_want_read
      Src: /src/curl/lib/vtls/wolfssl.c:1709,1
    - Dst: wolfSSL_want_write
      Src: /src/curl/lib/vtls/wolfssl.c:1710,1
    - Dst: wssl_log_tls12_secret
      Src: /src/curl/lib/vtls/wolfssl.c:1711,1
    - Dst: wolfSSL_FreeArrays
      Src: /src/curl/lib/vtls/wolfssl.c:1714,1
    - Dst: wolfSSL_get_error
      Src: /src/curl/lib/vtls/wolfssl.c:1719,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1720,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1738,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1744,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1749,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1754,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1758,1
    - Dst: wolfSSL_GetEchConfigs
      Src: /src/curl/lib/vtls/wolfssl.c:1778,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1781,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/vtls/wolfssl.c:1787,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:1790,1
    - Dst: free
      Src: /src/curl/lib/vtls/wolfssl.c:1791,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1798,1
    - Dst: wssl_strerror
      Src: /src/curl/lib/vtls/wolfssl.c:1799,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1658
    functionDepth: 5
    functionLinenumber: 1658
    functionLinenumberEnd: 1803
    functionName: wssl_handshake
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - curlx_base64_encode
    - wssl_strerror
    - wolfSSL_want_read
    - wolfSSL_FreeArrays
    - failf
    - wolfSSL_want_write
    - wolfSSL_connect
    - wssl_send_earlydata
    - wolfSSL_ERR_clear_error
    - wolfSSL_GetEchConfigs
    - CURL_TRC_CF
    - Curl_wssl_setup_x509_store
    - wssl_log_tls12_secret
    - free
    - wolfSSL_get_error
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    - infof
    - Curl_tls_keylog_enabled
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_handshake(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1816,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/curl/lib/vtls/wolfssl.c:1818,1
    - Dst: wolfSSL_write
      Src: /src/curl/lib/vtls/wolfssl.c:1823,1
    - Dst: wolfSSL_get_error
      Src: /src/curl/lib/vtls/wolfssl.c:1828,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:1852,1
    - Dst: wssl_strerror
      Src: /src/curl/lib/vtls/wolfssl.c:1853,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1864,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1806
    functionDepth: 2
    functionLinenumber: 1806
    functionLinenumberEnd: 1867
    functionName: wssl_send
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - wssl_strerror
    - wolfSSL_write
    - wolfSSL_get_error
    - DEBUGASSERT
    - wolfSSL_ERR_clear_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_send(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          const void *buf, size_t blen,\n
      \                         size_t *pnwritten)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1881,1
    - Dst: wolfSSL_get_shutdown
      Src: /src/curl/lib/vtls/wolfssl.c:1890,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/curl/lib/vtls/wolfssl.c:1893,1
    - Dst: wolfSSL_read
      Src: /src/curl/lib/vtls/wolfssl.c:1894,1
    - Dst: wolfSSL_get_error
      Src: /src/curl/lib/vtls/wolfssl.c:1895,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1896,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1901,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/curl/lib/vtls/wolfssl.c:1905,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1909,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/curl/lib/vtls/wolfssl.c:1920,1
    - Dst: wolfSSL_shutdown
      Src: /src/curl/lib/vtls/wolfssl.c:1921,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1923,1
    - Dst: wolfSSL_get_error
      Src: /src/curl/lib/vtls/wolfssl.c:1927,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1928,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/curl/lib/vtls/wolfssl.c:1937,1
    - Dst: wolfSSL_read
      Src: /src/curl/lib/vtls/wolfssl.c:1938,1
    - Dst: wolfSSL_get_error
      Src: /src/curl/lib/vtls/wolfssl.c:1942,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1945,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1952,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1956,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:1960,1
    - Dst: wssl_strerror
      Src: /src/curl/lib/vtls/wolfssl.c:1961,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 1971
    functionName: wssl_shutdown
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_read
    - struct Curl_cfilter*::next::cft::is_alive
    - CURL_TRC_CF
    - wolfSSL_get_shutdown
    - wssl_strerror
    - wolfSSL_shutdown
    - wolfSSL_get_error
    - DEBUGASSERT
    - wolfSSL_ERR_clear_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_shutdown(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool send_shutdown, bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:1980,1
    - Dst: wolfSSL_free
      Src: /src/curl/lib/vtls/wolfssl.c:1983,1
    - Dst: wolfSSL_CTX_free
      Src: /src/curl/lib/vtls/wolfssl.c:1987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1973
    functionDepth: 1
    functionLinenumber: 1973
    functionLinenumberEnd: 1990
    functionName: wssl_close
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_CTX_free
    - DEBUGASSERT
    - wolfSSL_free
    linkageType: ''
    returnType: void
    signature: void wssl_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:2002,1
    - Dst: wolfSSL_ERR_clear_error
      Src: /src/curl/lib/vtls/wolfssl.c:2005,1
    - Dst: wolfSSL_read
      Src: /src/curl/lib/vtls/wolfssl.c:2007,1
    - Dst: wolfSSL_get_error
      Src: /src/curl/lib/vtls/wolfssl.c:2012,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:2016,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:2022,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:2026,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:2030,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:2034,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:2035,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:2039,1
    - Dst: wssl_strerror
      Src: /src/curl/lib/vtls/wolfssl.c:2040,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/wolfssl.c:2048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 1992
    functionDepth: 2
    functionLinenumber: 1992
    functionLinenumberEnd: 2050
    functionName: wssl_recv
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_read
    - failf
    - CURL_TRC_CF
    - wssl_strerror
    - wolfSSL_get_error
    - DEBUGASSERT
    - wolfSSL_ERR_clear_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_recv(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          char *buf, size_t blen,\n                          size_t
      *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/wolfssl.c:2055,1
    - Dst: wolfSSL_lib_version
      Src: /src/curl/lib/vtls/wolfssl.c:2055,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/wolfssl.c:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2052
    functionDepth: 6
    functionLinenumber: 2052
    functionLinenumberEnd: 2059
    functionName: Curl_wssl_version
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wolfSSL_lib_version
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_wssl_version(char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_open
      Src: /src/curl/lib/vtls/wolfssl.c:2067,1
    - Dst: wolfSSL_Init
      Src: /src/curl/lib/vtls/wolfssl.c:2069,1
    - Dst: wssl_bio_cf_init_methods
      Src: /src/curl/lib/vtls/wolfssl.c:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2062
    functionDepth: 1
    functionLinenumber: 2062
    functionLinenumberEnd: 2072
    functionName: wssl_init
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wssl_bio_cf_init_methods
    - wolfSSL_Init
    - Curl_tls_keylog_open
    linkageType: ''
    returnType: int
    signature: int wssl_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wssl_bio_cf_free_methods
      Src: /src/curl/lib/vtls/wolfssl.c:2077,1
    - Dst: wolfSSL_Cleanup
      Src: /src/curl/lib/vtls/wolfssl.c:2078,1
    - Dst: Curl_tls_keylog_close
      Src: /src/curl/lib/vtls/wolfssl.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2075
    functionDepth: 1
    functionLinenumber: 2075
    functionLinenumberEnd: 2082
    functionName: wssl_cleanup
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_close
    - wssl_bio_cf_free_methods
    - wolfSSL_Cleanup
    linkageType: ''
    returnType: void
    signature: void wssl_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:2092,1
    - Dst: wolfSSL_pending
      Src: /src/curl/lib/vtls/wolfssl.c:2096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2099
    functionName: wssl_data_pending
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - wolfSSL_pending
    linkageType: ''
    returnType: bool
    signature: "bool wssl_data_pending(struct Curl_cfilter *cf,\n                              const
      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:2105,1
    - Dst: wolfSSL_get_version
      Src: /src/curl/lib/vtls/wolfssl.c:2106,1
    - Dst: wolfSSL_get_cipher_name
      Src: /src/curl/lib/vtls/wolfssl.c:2107,1
    - Dst: infof
      Src: /src/curl/lib/vtls/wolfssl.c:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - wssl
    argTypes:
    - struct Curl_easy*
    - struct wssl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2101
    functionDepth: 1
    functionLinenumber: 2101
    functionLinenumberEnd: 2111
    functionName: Curl_wssl_report_handshake
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - infof
    - wolfSSL_get_version
    - wolfSSL_get_cipher_name
    linkageType: ''
    returnType: void
    signature: "void Curl_wssl_report_handshake(struct Curl_easy *data,\n                                struct
      wssl_ctx *wssl)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: wssl_connect_step1
      Src: /src/curl/lib/vtls/wolfssl.c:2131,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:2140,1
    - Dst: wssl_handshake
      Src: /src/curl/lib/vtls/wolfssl.c:2143,1
    - Dst: Curl_wssl_verify_pinned
      Src: /src/curl/lib/vtls/wolfssl.c:2157,1
    - Dst: wolfSSL_ALPN_GetProtocol
      Src: /src/curl/lib/vtls/wolfssl.c:2169,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/wolfssl.c:2172,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/wolfssl.c:2177,1
    - Dst: failf
      Src: /src/curl/lib/vtls/wolfssl.c:2179,1
    - Dst: Curl_wssl_report_handshake
      Src: /src/curl/lib/vtls/wolfssl.c:2188,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:2193,1
    - Dst: wolfSSL_get_early_data_status
      Src: /src/curl/lib/vtls/wolfssl.c:2195,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2113
    functionDepth: 7
    functionLinenumber: 2113
    functionLinenumberEnd: 2218
    functionName: wssl_connect
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - failf
    - wolfSSL_get_early_data_status
    - wssl_handshake
    - wolfSSL_ALPN_GetProtocol
    - Curl_wssl_verify_pinned
    - Curl_wssl_report_handshake
    - wssl_connect_step1
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_connect(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             bool *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wc_InitRng
      Src: /src/curl/lib/vtls/wolfssl.c:2225,1
    - Dst: wc_RNG_GenerateBlock
      Src: /src/curl/lib/vtls/wolfssl.c:2229,1
    - Dst: wc_FreeRng
      Src: /src/curl/lib/vtls/wolfssl.c:2231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2234
    functionName: wssl_random
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_FreeRng
    - wc_RNG_GenerateBlock
    - wc_InitRng
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_random(struct Curl_easy *data,\n                            unsigned
      char *entropy, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wc_InitSha256
      Src: /src/curl/lib/vtls/wolfssl.c:2243,1
    - Dst: wc_Sha256Update
      Src: /src/curl/lib/vtls/wolfssl.c:2245,1
    - Dst: wc_Sha256Final
      Src: /src/curl/lib/vtls/wolfssl.c:2246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - tmp
    - tmplen
    - sha256sum
    - unused
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2248
    functionName: wssl_sha256sum
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - wc_InitSha256
    - wc_Sha256Final
    - wc_Sha256Update
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode wssl_sha256sum(const unsigned char *tmp, /* input */\n                               size_t
      tmplen,\n                               unsigned char *sha256sum /* output */,\n
      \                              size_t unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/wolfssl.c:2254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2250
    functionDepth: 1
    functionLinenumber: 2250
    functionLinenumberEnd: 2257
    functionName: wssl_get_internals
    functionSourceFile: /src/curl/lib/vtls/wolfssl.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *wssl_get_internals(struct ssl_connect_data *connssl,\n                                CURLINFO
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: is_cr_or_lf
    functionSourceFile: /src/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_cr_or_lf(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/curl/lib/vtls/schannel_verify.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - haystack
    - haystacklen
    - needle
    - needlelen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: c_memmem
    functionSourceFile: /src/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: char
    signature: "char *c_memmem(const void *haystack, size_t haystacklen,\n                            const
      void *needle, size_t needlelen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/schannel_verify.c:148,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/schannel_verify.c:149,1
    - Dst: c_memmem
      Src: /src/curl/lib/vtls/schannel_verify.c:157,1
    - Dst: is_cr_or_lf
      Src: /src/curl/lib/vtls/schannel_verify.c:161,1
    - Dst: c_memmem
      Src: /src/curl/lib/vtls/schannel_verify.c:165,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:170,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/schannel_verify.c:184,1
    - Dst: CryptQueryObject
      Src: /src/curl/lib/vtls/schannel_verify.c:186,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:198,1
    - Dst: curlx_winapi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:202,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel_verify.c:202,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:211,1
    - Dst: CertAddCertificateContextToStore
      Src: /src/curl/lib/vtls/schannel_verify.c:220,1
    - Dst: CertFreeCertificateContext
      Src: /src/curl/lib/vtls/schannel_verify.c:224,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:227,1
    - Dst: curlx_winapi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:231,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel_verify.c:231,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel_verify.c:247,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel_verify.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 5
    argNames:
    - trust_store
    - ca_buffer
    - ca_buffer_size
    - ca_file_text
    - data
    argTypes:
    - HCERTSTORE
    - char*
    - size_t
    - char*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 258
    functionName: add_certs_data_to_store
    functionSourceFile: /src/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - is_cr_or_lf
    - strlen
    - failf
    - CURL_UNCONST
    - curlx_winapi_strerror
    - CertAddCertificateContextToStore
    - CertFreeCertificateContext
    - CryptQueryObject
    - c_memmem
    - GetLastError
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_certs_data_to_store(HCERTSTORE trust_store,\n                                        const
      char *ca_buffer,\n                                        size_t ca_buffer_size,\n
      \                                       const char *ca_file_text,\n                                        struct
      Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/vtls/schannel_verify.c:272,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:275,1
    - Dst: curlx_winapi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:278,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel_verify.c:278,1
    - Dst: CreateFile
      Src: /src/curl/lib/vtls/schannel_verify.c:288,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:297,1
    - Dst: curlx_winapi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:300,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel_verify.c:300,1
    - Dst: GetFileSizeEx
      Src: /src/curl/lib/vtls/schannel_verify.c:305,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:307,1
    - Dst: curlx_winapi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:310,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel_verify.c:310,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:316,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/schannel_verify.c:324,1
    - Dst: ReadFile
      Src: /src/curl/lib/vtls/schannel_verify.c:334,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:337,1
    - Dst: curlx_winapi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:340,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel_verify.c:340,1
    - Dst: add_certs_data_to_store
      Src: /src/curl/lib/vtls/schannel_verify.c:356,1
    - Dst: CloseHandle
      Src: /src/curl/lib/vtls/schannel_verify.c:363,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel_verify.c:365,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel_verify.c:366,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - trust_store
    - ca_file
    - data
    argTypes:
    - HCERTSTORE
    - char*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 369
    functionName: add_certs_file_to_store
    functionSourceFile: /src/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - malloc
    - failf
    - ReadFile
    - add_certs_data_to_store
    - GetFileSizeEx
    - curlx_convert_UTF8_to_tchar
    - curlx_winapi_strerror
    - CreateFile
    - curlx_unicodefree
    - GetLastError
    - CloseHandle
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode add_certs_file_to_store(HCERTSTORE trust_store,\n                                        const
      char *ca_file,\n                                        struct Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CertGetNameString
      Src: /src/curl/lib/vtls/schannel_verify.c:398,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel_verify.c:434,1
    - Dst: wcslen
      Src: /src/curl/lib/vtls/schannel_verify.c:437,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:444,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 6
    argNames:
    - data
    - cert_context
    - host_names
    - length
    - alt_name_info
    - Win8_compat
    argTypes:
    - struct Curl_easy*
    - CERT_CONTEXT*
    - LPTSTR
    - DWORD
    - PCERT_ALT_NAME_INFO
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 461
    functionName: cert_get_name_string
    functionSourceFile: /src/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - infof
    - wcslen
    - CertGetNameString
    - failf
    linkageType: ''
    returnType: DWORD
    signature: "DWORD cert_get_name_string(struct Curl_easy *data,\n                                  CERT_CONTEXT
      *cert_context,\n                                  LPTSTR host_names,\n                                  DWORD
      length,\n                                  PCERT_ALT_NAME_INFO alt_name_info,\n
      \                                 BOOL Win8_compat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/vtls/schannel_verify.c:475,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/schannel_verify.c:478,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/vtls/schannel_verify.c:482,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/schannel_verify.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ip_blob
    - hostname
    argTypes:
    - struct num_ip_data*
    - LPCSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 490
    functionName: get_num_host_info
    functionSourceFile: /src/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - memcpy
    - curlx_inet_pton
    linkageType: ''
    returnType: bool
    signature: "bool get_num_host_info(struct num_ip_data *ip_blob,\n                              LPCSTR
      hostname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:503,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:509,1
    - Dst: CertFindExtension
      Src: /src/curl/lib/vtls/schannel_verify.c:513,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:517,1
    - Dst: CryptDecodeObjectEx
      Src: /src/curl/lib/vtls/schannel_verify.c:521,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - data
    - ctx
    - alt_name_info
    - alt_name_info_size
    argTypes:
    - struct Curl_easy*
    - PCCERT_CONTEXT
    - PCERT_ALT_NAME_INFO*
    - LPDWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 536
    functionName: get_alt_name_info
    functionSourceFile: /src/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - CertFindExtension
    - failf
    - CryptDecodeObjectEx
    linkageType: ''
    returnType: bool
    signature: "bool get_alt_name_info(struct Curl_easy *data,\n                              PCCERT_CONTEXT
      ctx,\n                              PCERT_ALT_NAME_INFO *alt_name_info,\n                              LPDWORD
      alt_name_info_size)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CertGetNameString
      Src: /src/curl/lib/vtls/schannel_verify.c:558,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/curl/lib/vtls/schannel_verify.c:569,1
    - Dst: Curl_cert_hostcheck
      Src: /src/curl/lib/vtls/schannel_verify.c:575,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/schannel_verify.c:575,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/schannel_verify.c:576,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel_verify.c:577,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:584,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel_verify.c:589,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:593,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/schannel_verify.c:602,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/vtls/schannel_verify.c:613,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:619,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:620,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel_verify.c:624,1
    - Dst: get_num_host_info
      Src: /src/curl/lib/vtls/schannel_verify.c:626,1
    - Dst: get_alt_name_info
      Src: /src/curl/lib/vtls/schannel_verify.c:627,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/schannel_verify.c:638,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel_verify.c:641,1
    - Dst: cert_get_name_string
      Src: /src/curl/lib/vtls/schannel_verify.c:652,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:655,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/schannel_verify.c:664,1
    - Dst: cert_get_name_string
      Src: /src/curl/lib/vtls/schannel_verify.c:669,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:675,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel_verify.c:686,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/curl/lib/vtls/schannel_verify.c:694,1
    - Dst: Curl_cert_hostcheck
      Src: /src/curl/lib/vtls/schannel_verify.c:700,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/schannel_verify.c:700,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel_verify.c:702,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel_verify.c:710,1
    - Dst: _tcslen
      Src: /src/curl/lib/vtls/schannel_verify.c:716,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel_verify.c:723,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:728,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:734,1
    - Dst: LocalFree
      Src: /src/curl/lib/vtls/schannel_verify.c:738,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel_verify.c:739,1
    - Dst: CertFreeCertificateContext
      Src: /src/curl/lib/vtls/schannel_verify.c:742,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 91
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 540
    functionDepth: 7
    functionLinenumber: 540
    functionLinenumberEnd: 746
    functionName: Curl_verify_host
    functionSourceFile: /src/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - Curl_cert_hostcheck
    - _tcslen
    - QueryContextAttributes
    - curlx_verify_windows_version
    - failf
    - get_num_host_info
    - curlx_convert_tchar_to_UTF8
    - curlx_unicodefree
    - strlen
    - TEXT
    - CertFreeCertificateContext
    - Curl_sspi_strerror
    - Curl_safefree
    - malloc
    - LocalFree
    - CertGetNameString
    - get_alt_name_info
    - memcmp
    - infof
    - cert_get_name_string
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_verify_host(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/schannel_verify.c:753,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/schannel_verify.c:754,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel_verify.c:765,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/vtls/schannel_verify.c:768,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:774,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:775,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel_verify.c:788,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:790,1
    - Dst: Curl_schannel_get_cached_cert_store
      Src: /src/curl/lib/vtls/schannel_verify.c:796,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel_verify.c:799,1
    - Dst: CertOpenStore
      Src: /src/curl/lib/vtls/schannel_verify.c:803,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:810,1
    - Dst: curlx_winapi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:811,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel_verify.c:811,1
    - Dst: add_certs_data_to_store
      Src: /src/curl/lib/vtls/schannel_verify.c:819,1
    - Dst: add_certs_file_to_store
      Src: /src/curl/lib/vtls/schannel_verify.c:826,1
    - Dst: Curl_schannel_set_cached_cert_store
      Src: /src/curl/lib/vtls/schannel_verify.c:831,1
    - Dst: memset
      Src: /src/curl/lib/vtls/schannel_verify.c:843,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel_verify.c:847,1
    - Dst: CertCreateCertificateChainEngine
      Src: /src/curl/lib/vtls/schannel_verify.c:862,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:866,1
    - Dst: curlx_winapi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:868,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel_verify.c:868,1
    - Dst: memset
      Src: /src/curl/lib/vtls/schannel_verify.c:878,1
    - Dst: CertGetCertificateChain
      Src: /src/curl/lib/vtls/schannel_verify.c:881,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:891,1
    - Dst: curlx_winapi_strerror
      Src: /src/curl/lib/vtls/schannel_verify.c:892,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel_verify.c:892,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:912,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:915,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:917,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:920,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:923,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel_verify.c:925,1
    - Dst: Curl_verify_host
      Src: /src/curl/lib/vtls/schannel_verify.c:933,1
    - Dst: CertFreeCertificateChainEngine
      Src: /src/curl/lib/vtls/schannel_verify.c:939,1
    - Dst: CertCloseStore
      Src: /src/curl/lib/vtls/schannel_verify.c:943,1
    - Dst: CertFreeCertificateChain
      Src: /src/curl/lib/vtls/schannel_verify.c:948,1
    - Dst: CertFreeCertificateContext
      Src: /src/curl/lib/vtls/schannel_verify.c:951,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 95
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 749
    functionDepth: 8
    functionLinenumber: 749
    functionLinenumberEnd: 954
    functionName: Curl_verify_certificate
    functionSourceFile: /src/curl/lib/vtls/schannel_verify.c
    functionUses: 0
    functionsReached:
    - CertGetCertificateChain
    - CertCreateCertificateChainEngine
    - GetLastError
    - QueryContextAttributes
    - curlx_verify_windows_version
    - failf
    - add_certs_file_to_store
    - Curl_schannel_get_cached_cert_store
    - CertFreeCertificateChainEngine
    - add_certs_data_to_store
    - CertOpenStore
    - Curl_schannel_set_cached_cert_store
    - CertFreeCertificateChain
    - CertCloseStore
    - Curl_sspi_strerror
    - CertFreeCertificateContext
    - Curl_ssl_cf_get_primary_config
    - Curl_ssl_cf_get_config
    - DEBUGASSERT
    - curlx_winapi_strerror
    - Curl_verify_host
    - memset
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_verify_certificate(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:54,1
    - Dst: pthread_mutex_init
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:60,1
    - Dst: CreateMutex
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: Curl_mbedtlsthreadlock_thread_setup
    functionSourceFile: /src/curl/lib/vtls/mbedtls_threadlock.c
    functionUses: 0
    functionsReached:
    - calloc
    - CreateMutex
    - pthread_mutex_init
    linkageType: ''
    returnType: int
    signature: int Curl_mbedtlsthreadlock_thread_setup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:81,1
    - Dst: CloseHandle
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:84,1
    - Dst: free
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: Curl_mbedtlsthreadlock_thread_cleanup
    functionSourceFile: /src/curl/lib/vtls/mbedtls_threadlock.c
    functionUses: 0
    functionsReached:
    - free
    - pthread_mutex_destroy
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int Curl_mbedtlsthreadlock_thread_cleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:98,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:99,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:99,1
    - Dst: WaitForSingleObject
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:104,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:105,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: Curl_mbedtlsthreadlock_lock_function
    functionSourceFile: /src/curl/lib/vtls/mbedtls_threadlock.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - WaitForSingleObject
    - pthread_mutex_lock
    - DEBUGF
    linkageType: ''
    returnType: int
    signature: int Curl_mbedtlsthreadlock_lock_function(int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:118,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:119,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:119,1
    - Dst: ReleaseMutex
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:124,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:125,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vtls/mbedtls_threadlock.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: Curl_mbedtlsthreadlock_unlock_function
    functionSourceFile: /src/curl/lib/vtls/mbedtls_threadlock.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - DEBUGF
    - ReleaseMutex
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int Curl_mbedtlsthreadlock_unlock_function(int n)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element_
      Src: /src/curl/lib/vtls/x509asn1.c:220,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 4
    argNames:
    - elem
    - beg
    - end
    - lvl
    argTypes:
    - struct Curl_asn1Element*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 245
    functionName: getASN1Element_
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - getASN1Element_
    linkageType: ''
    returnType: char
    signature: "char *getASN1Element_(struct Curl_asn1Element *elem,\n                                   const
      char *beg, const char *end,\n                                   size_t lvl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element_
      Src: /src/curl/lib/vtls/x509asn1.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - elem
    - beg
    - end
    argTypes:
    - struct Curl_asn1Element*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: getASN1Element
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - getASN1Element_
    linkageType: ''
    returnType: char
    signature: "char *getASN1Element(struct Curl_asn1Element *elem,\n                                  const
      char *beg, const char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/lib/vtls/x509asn1.c:263,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/x509asn1.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: searchOID
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - strcmp
    - curl_strequal
    linkageType: ''
    returnType: struct Curl_OID
    signature: struct Curl_OID *searchOID(const char *oid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - elem
    - beg
    - end
    argTypes:
    - struct Curl_asn1Element*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: Curl_x509_getASN1Element
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - getASN1Element
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_x509_getASN1Element(struct Curl_asn1Element *elem,\n
      \                                 const char *beg, const char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/x509asn1.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: bool2str
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bool2str(struct dynbuf *store,\n                         const
      char *beg, const char *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/x509asn1.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: octet2str
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode octet2str(struct dynbuf *store,\n                          const
      char *beg, const char *end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: octet2str
      Src: /src/curl/lib/vtls/x509asn1.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: bit2str
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - octet2str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode bit2str(struct dynbuf *store,\n                        const
      char *beg, const char *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: octet2str
      Src: /src/curl/lib/vtls/x509asn1.c:335,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/x509asn1.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: int2str
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - octet2str
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode int2str(struct dynbuf *store,\n                        const
      char *beg, const char *end)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/x509asn1.c:387,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/x509asn1.c:399,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/x509asn1.c:402,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/x509asn1.c:426,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 4
    argNames:
    - to
    - type
    - from
    - end
    argTypes:
    - struct dynbuf*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 430
    functionName: utf8asn1str
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - FALLTHROUGH
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode utf8asn1str(struct dynbuf *to, int type, const char *from,
      const char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/x509asn1.c:449,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/x509asn1.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 465
    functionName: encodeOID
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode encodeOID(struct dynbuf *store,\n                          const
      char *beg, const char *end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/x509asn1.c:480,1
    - Dst: encodeOID
      Src: /src/curl/lib/vtls/x509asn1.c:481,1
    - Dst: searchOID
      Src: /src/curl/lib/vtls/x509asn1.c:484,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/x509asn1.c:484,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/x509asn1.c:486,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/x509asn1.c:488,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/x509asn1.c:488,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/x509asn1.c:489,1
    - Dst: encodeOID
      Src: /src/curl/lib/vtls/x509asn1.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - store
    - beg
    - end
    - symbolic
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 496
    functionName: OID2str
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - searchOID
    - curlx_dyn_free
    - encodeOID
    - curlx_dyn_init
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode OID2str(struct dynbuf *store,\n                        const
      char *beg, const char *end, bool symbolic)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/curl/lib/vtls/x509asn1.c:511,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/x509asn1.c:522,1
    - Dst: ISDIGIT
      Src: /src/curl/lib/vtls/x509asn1.c:537,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/x509asn1.c:542,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/x509asn1.c:568,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 574
    functionName: GTime2str
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - ISDIGIT
    - DEBUGASSERT
    - curlx_dyn_addf
    - FALLTHROUGH
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode GTime2str(struct dynbuf *store,\n                          const
      char *beg, const char *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTime2str
      Src: /src/curl/lib/vtls/x509asn1.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: Curl_x509_GTime2str
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - GTime2str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_x509_GTime2str(struct dynbuf *store,\n                             const
      char *beg, const char *end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/x509asn1.c:604,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/x509asn1.c:622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - store
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 626
    functionName: UTime2str
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode UTime2str(struct dynbuf *store,\n                          const
      char *beg, const char *end)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bool2str
      Src: /src/curl/lib/vtls/x509asn1.c:645,1
    - Dst: int2str
      Src: /src/curl/lib/vtls/x509asn1.c:649,1
    - Dst: bit2str
      Src: /src/curl/lib/vtls/x509asn1.c:652,1
    - Dst: octet2str
      Src: /src/curl/lib/vtls/x509asn1.c:655,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/x509asn1.c:658,1
    - Dst: OID2str
      Src: /src/curl/lib/vtls/x509asn1.c:661,1
    - Dst: UTime2str
      Src: /src/curl/lib/vtls/x509asn1.c:664,1
    - Dst: GTime2str
      Src: /src/curl/lib/vtls/x509asn1.c:667,1
    - Dst: utf8asn1str
      Src: /src/curl/lib/vtls/x509asn1.c:677,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - store
    - elem
    - type
    argTypes:
    - struct dynbuf*
    - struct Curl_asn1Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 682
    functionName: ASN1tostr
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - OID2str
    - GTime2str
    - int2str
    - utf8asn1str
    - bit2str
    - curlx_dyn_addn
    - octet2str
    - bool2str
    - UTime2str
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ASN1tostr(struct dynbuf *store,\n                          struct
      Curl_asn1Element *elem, int type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/x509asn1.c:702,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:705,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:711,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:716,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:721,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:725,1
    - Dst: ASN1tostr
      Src: /src/curl/lib/vtls/x509asn1.c:726,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/x509asn1.c:730,1
    - Dst: ISUPPER
      Src: /src/curl/lib/vtls/x509asn1.c:739,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/x509asn1.c:743,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/x509asn1.c:745,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/x509asn1.c:751,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/x509asn1.c:756,1
    - Dst: ASN1tostr
      Src: /src/curl/lib/vtls/x509asn1.c:761,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:764,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/x509asn1.c:769,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 2
    argNames:
    - store
    - dn
    argTypes:
    - struct dynbuf*
    - struct Curl_asn1Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 689
    functionDepth: 6
    functionLinenumber: 689
    functionLinenumberEnd: 772
    functionName: encodeDN
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - ASN1tostr
    - curlx_dyn_reset
    - ISUPPER
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_ptr
    - getASN1Element
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode encodeDN(struct dynbuf *store, struct Curl_asn1Element *dn)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:795,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:801,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:805,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:809,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:819,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:823,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:825,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:831,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:833,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:837,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:840,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:843,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:846,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:850,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:853,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:858,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:870,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:877,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:885,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:891,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 3
    argNames:
    - cert
    - beg
    - end
    argTypes:
    - struct Curl_X509certificate*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 782
    functionDepth: 3
    functionLinenumber: 782
    functionLinenumberEnd: 894
    functionName: Curl_parseX509
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - getASN1Element
    linkageType: ''
    returnType: int
    signature: "int Curl_parseX509(struct Curl_X509certificate *cert,\n                   const
      char *beg, const char *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:908,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:915,1
    - Dst: OID2str
      Src: /src/curl/lib/vtls/x509asn1.c:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - store
    - param
    - beg
    - end
    argTypes:
    - struct dynbuf*
    - struct Curl_asn1Element*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 900
    functionDepth: 5
    functionLinenumber: 900
    functionLinenumberEnd: 920
    functionName: dumpAlgo
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - OID2str
    - getASN1Element
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode dumpAlgo(struct dynbuf *store,\n                         struct
      Curl_asn1Element *param,\n                         const char *beg, const char
      *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/x509asn1.c:931,1
    - Dst: Curl_ssl_push_certinfo_len
      Src: /src/curl/lib/vtls/x509asn1.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - certnum
    - label
    - value
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 934
    functionName: ssl_push_certinfo
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_push_certinfo_len
    - strlen
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_push_certinfo(struct Curl_easy *data,\n                                  int
      certnum,\n                                  const char *label,\n                                  const
      char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/x509asn1.c:947,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/x509asn1.c:948,1
    - Dst: Curl_ssl_push_certinfo_len
      Src: /src/curl/lib/vtls/x509asn1.c:950,1
    - Dst: infof
      Src: /src/curl/lib/vtls/x509asn1.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - data
    - certnum
    - label
    - ptr
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 957
    functionName: ssl_push_certinfo_dyn
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_ssl_push_certinfo_len
    - curlx_dyn_ptr
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_push_certinfo_dyn(struct Curl_easy *data,\n                                      int
      certnum,\n                                      const char *label,\n                                      struct
      dynbuf *ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/x509asn1.c:966,1
    - Dst: ASN1tostr
      Src: /src/curl/lib/vtls/x509asn1.c:970,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:973,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/x509asn1.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - data
    - certnum
    - label
    - elem
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - struct Curl_asn1Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 959
    functionDepth: 6
    functionLinenumber: 959
    functionLinenumberEnd: 977
    functionName: do_pubkey_field
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - curlx_dyn_init
    - ssl_push_certinfo_dyn
    - ASN1tostr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode do_pubkey_field(struct Curl_easy *data, int certnum,\n                                const
      char *label,\n                                struct Curl_asn1Element *elem)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/x509asn1.c:990,1
    - Dst: infof
      Src: /src/curl/lib/vtls/x509asn1.c:997,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/x509asn1.c:1000,1
    - Dst: ssl_push_certinfo
      Src: /src/curl/lib/vtls/x509asn1.c:1001,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1004,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:1009,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/x509asn1.c:1012,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:1016,1
    - Dst: infof
      Src: /src/curl/lib/vtls/x509asn1.c:1032,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/x509asn1.c:1035,1
    - Dst: ssl_push_certinfo
      Src: /src/curl/lib/vtls/x509asn1.c:1036,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1040,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:1042,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1044,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/x509asn1.c:1047,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:1048,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1050,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:1052,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1054,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:1056,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1057,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1059,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/x509asn1.c:1065,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:1066,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1068,1
    - Dst: getASN1Element
      Src: /src/curl/lib/vtls/x509asn1.c:1070,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1071,1
    - Dst: do_pubkey_field
      Src: /src/curl/lib/vtls/x509asn1.c:1073,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 72
    argCount: 5
    argNames:
    - data
    - certnum
    - algo
    - param
    - pubkey
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - struct Curl_asn1Element*
    - struct Curl_asn1Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 980
    functionDepth: 7
    functionLinenumber: 980
    functionLinenumberEnd: 1079
    functionName: do_pubkey
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - ssl_push_certinfo
    - curl_strequal
    - do_pubkey_field
    - infof
    - getASN1Element
    linkageType: ''
    returnType: int
    signature: "int do_pubkey(struct Curl_easy *data, int certnum,\n                     const
      char *algo, struct Curl_asn1Element *param,\n                     struct Curl_asn1Element
      *pubkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodeDN
      Src: /src/curl/lib/vtls/x509asn1.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - store
    - dn
    argTypes:
    - struct dynbuf*
    - struct Curl_asn1Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1085
    functionDepth: 7
    functionLinenumber: 1085
    functionLinenumberEnd: 1089
    functionName: DNtostr
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 0
    functionsReached:
    - encodeDN
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode DNtostr(struct dynbuf *store,\n                        struct
      Curl_asn1Element *dn)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/x509asn1.c:1110,1
    - Dst: Curl_parseX509
      Src: /src/curl/lib/vtls/x509asn1.c:1114,1
    - Dst: DNtostr
      Src: /src/curl/lib/vtls/x509asn1.c:1118,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1122,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1126,1
    - Dst: DNtostr
      Src: /src/curl/lib/vtls/x509asn1.c:1129,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1133,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1137,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/x509asn1.c:1144,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1147,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1150,1
    - Dst: ASN1tostr
      Src: /src/curl/lib/vtls/x509asn1.c:1154,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1158,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1162,1
    - Dst: dumpAlgo
      Src: /src/curl/lib/vtls/x509asn1.c:1165,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1170,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1175,1
    - Dst: ASN1tostr
      Src: /src/curl/lib/vtls/x509asn1.c:1178,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1182,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1186,1
    - Dst: ASN1tostr
      Src: /src/curl/lib/vtls/x509asn1.c:1189,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1193,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1197,1
    - Dst: dumpAlgo
      Src: /src/curl/lib/vtls/x509asn1.c:1200,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1205,1
    - Dst: do_pubkey
      Src: /src/curl/lib/vtls/x509asn1.c:1211,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/x509asn1.c:1211,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1217,1
    - Dst: ASN1tostr
      Src: /src/curl/lib/vtls/x509asn1.c:1220,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1224,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1228,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/vtls/x509asn1.c:1231,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/x509asn1.c:1246,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/x509asn1.c:1249,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/x509asn1.c:1255,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/x509asn1.c:1257,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/x509asn1.c:1261,1
    - Dst: free
      Src: /src/curl/lib/vtls/x509asn1.c:1263,1
    - Dst: ssl_push_certinfo_dyn
      Src: /src/curl/lib/vtls/x509asn1.c:1266,1
    - Dst: failf
      Src: /src/curl/lib/vtls/x509asn1.c:1270,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/x509asn1.c:1271,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 141
    argCount: 4
    argNames:
    - data
    - certnum
    - beg
    - end
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1091
    functionDepth: 8
    functionLinenumber: 1091
    functionLinenumberEnd: 1273
    functionName: Curl_extract_certinfo
    functionSourceFile: /src/curl/lib/vtls/x509asn1.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_add
    - DNtostr
    - Curl_parseX509
    - failf
    - curlx_base64_encode
    - ASN1tostr
    - dumpAlgo
    - curlx_dyn_reset
    - curlx_dyn_addn
    - free
    - curlx_dyn_init
    - curlx_dyn_free
    - ssl_push_certinfo_dyn
    - do_pubkey
    - curlx_dyn_ptr
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_extract_certinfo(struct Curl_easy *data,\n                               int
      certnum,\n                               const char *beg,\n                               const
      char *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vtls/gtls.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tls_log_func
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void tls_log_func(int level, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/gtls.c:98,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:102,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/vtls/gtls.c:103,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:104,1
    - Dst: gnutls_transport_set_errno
      Src: /src/curl/lib/vtls/gtls.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - s
    - buf
    - blen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: gtls_push
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - CF_DATA_CURRENT
    - Curl_conn_cf_send
    - DEBUGASSERT
    - gnutls_transport_set_errno
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t gtls_push(void *s, const void *buf, size_t blen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/gtls.c:122,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:126,1
    - Dst: Curl_gtls_client_trust_setup
      Src: /src/curl/lib/vtls/gtls.c:128,1
    - Dst: gnutls_transport_set_errno
      Src: /src/curl/lib/vtls/gtls.c:131,1
    - Dst: Curl_conn_cf_recv
      Src: /src/curl/lib/vtls/gtls.c:137,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:138,1
    - Dst: gnutls_transport_set_errno
      Src: /src/curl/lib/vtls/gtls.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - s
    - buf
    - blen
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 150
    functionName: gtls_pull
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_conn_cf_recv
    - Curl_gtls_client_trust_setup
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - gnutls_transport_set_errno
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t gtls_pull(void *s, void *buf, size_t blen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_init
      Src: /src/curl/lib/vtls/gtls.c:163,1
    - Dst: gnutls_global_set_log_function
      Src: /src/curl/lib/vtls/gtls.c:165,1
    - Dst: gnutls_global_set_log_level
      Src: /src/curl/lib/vtls/gtls.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: gtls_init
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_global_set_log_level
    - gnutls_global_set_log_function
    - gnutls_global_init
    linkageType: ''
    returnType: int
    signature: int gtls_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_global_deinit
      Src: /src/curl/lib/vtls/gtls.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: gtls_cleanup
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_global_deinit
    linkageType: ''
    returnType: void
    signature: void gtls_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gmtime
      Src: /src/curl/lib/vtls/gtls.c:189,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/gtls.c:193,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - text
    - stamp
    argTypes:
    - struct Curl_easy*
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 182
    functionDepth: 6
    functionLinenumber: 182
    functionLinenumberEnd: 205
    functionName: showtime
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_gmtime
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: "void showtime(struct Curl_easy *data,\n                     const
      char *text,\n                     time_t stamp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/lib/vtls/gtls.c:215,1
    - Dst: fseek
      Src: /src/curl/lib/vtls/gtls.c:218,1
    - Dst: ftell
      Src: /src/curl/lib/vtls/gtls.c:219,1
    - Dst: fseek
      Src: /src/curl/lib/vtls/gtls.c:220,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/gtls.c:221,1
    - Dst: fread
      Src: /src/curl/lib/vtls/gtls.c:223,1
    - Dst: free
      Src: /src/curl/lib/vtls/gtls.c:224,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/vtls/gtls.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: load_file
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 1
    functionsReached:
    - malloc
    - ftell
    - curlx_fopen
    - fread
    - free
    - fseek
    - curlx_fclose
    linkageType: ''
    returnType: gnutls_datum_t
    signature: gnutls_datum_t load_file(const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/vtls/gtls.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - gnutls_datum_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: unload_file
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void unload_file(gnutls_datum_t data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:251,1
    - Dst: gnutls_handshake
      Src: /src/curl/lib/vtls/gtls.c:256,1
    - Dst: Curl_gtls_client_trust_setup
      Src: /src/curl/lib/vtls/gtls.c:261,1
    - Dst: gnutls_record_get_direction
      Src: /src/curl/lib/vtls/gtls.c:268,1
    - Dst: gnutls_error_is_fatal
      Src: /src/curl/lib/vtls/gtls.c:272,1
    - Dst: gnutls_alert_get
      Src: /src/curl/lib/vtls/gtls.c:276,1
    - Dst: gnutls_alert_get_name
      Src: /src/curl/lib/vtls/gtls.c:277,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:281,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:283,1
    - Dst: gnutls_alert_get
      Src: /src/curl/lib/vtls/gtls.c:293,1
    - Dst: gnutls_alert_get_name
      Src: /src/curl/lib/vtls/gtls.c:294,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:298,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:300,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 305
    functionName: handshake
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 3
    functionsReached:
    - failf
    - gnutls_record_get_direction
    - Curl_gtls_client_trust_setup
    - gnutls_handshake
    - gnutls_error_is_fatal
    - infof
    - gnutls_alert_get
    - gnutls_strerror
    - DEBUGASSERT
    - gnutls_alert_get_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode handshake(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/gtls.c:311,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/gtls.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: gnutls_do_file_type
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: gnutls_x509_crt_fmt_t
    signature: gnutls_x509_crt_fmt_t gnutls_do_file_type(const char *type)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:350,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 5
    argNames:
    - data
    - peer
    - conn_config
    - prioritylist
    - tls13support
    argTypes:
    - struct Curl_easy*
    - struct ssl_peer*
    - struct ssl_primary_config*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 401
    functionName: gnutls_set_ssl_version_min_max
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gnutls_set_ssl_version_min_max(struct Curl_easy *data,\n
      \                              struct ssl_peer *peer,\n                               struct
      ssl_primary_config *conn_config,\n                               const char
      **prioritylist,\n                               bool tls13support)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/vtls/gtls.c:410,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/curl/lib/vtls/gtls.c:414,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:416,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:416,1
    - Dst: free
      Src: /src/curl/lib/vtls/gtls.c:417,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/gtls.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - pcreds
    argTypes:
    - struct Curl_easy*
    - struct gtls_shared_creds**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 425
    functionName: Curl_gtls_shared_creds_create
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_allocate_credentials
    - calloc
    - failf
    - curlx_now
    - free
    - gnutls_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_shared_creds_create(struct Curl_easy *data,\n                                       struct
      gtls_shared_creds **pcreds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - creds
    argTypes:
    - struct gtls_shared_creds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: Curl_gtls_shared_creds_up_ref
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_gtls_shared_creds_up_ref(struct gtls_shared_creds *creds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/curl/lib/vtls/gtls.c:444,1
    - Dst: free
      Src: /src/curl/lib/vtls/gtls.c:445,1
    - Dst: free
      Src: /src/curl/lib/vtls/gtls.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pcreds
    argTypes:
    - struct gtls_shared_creds**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 449
    functionName: Curl_gtls_shared_creds_free
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void Curl_gtls_shared_creds_free(struct gtls_shared_creds **pcreds)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/gtls.c:455,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/gtls.c:456,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:461,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:465,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:468,1
    - Dst: gnutls_certificate_set_x509_system_trust
      Src: /src/curl/lib/vtls/gtls.c:471,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:473,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:474,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:476,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/curl/lib/vtls/gtls.c:485,1
    - Dst: gnutls_certificate_set_x509_trust_file
      Src: /src/curl/lib/vtls/gtls.c:488,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:493,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:494,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:502,1
    - Dst: gnutls_certificate_set_x509_trust_dir
      Src: /src/curl/lib/vtls/gtls.c:507,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:511,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:512,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:520,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:524,1
    - Dst: gnutls_certificate_set_x509_crl_file
      Src: /src/curl/lib/vtls/gtls.c:528,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:531,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:532,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:536,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - cf
    - data
    - creds
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - gnutls_certificate_credentials_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 540
    functionName: gtls_populate_creds
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_set_x509_trust_dir
    - failf
    - gnutls_certificate_set_x509_trust_file
    - gnutls_certificate_set_x509_crl_file
    - gnutls_certificate_set_verify_flags
    - gnutls_certificate_set_x509_system_trust
    - infof
    - Curl_ssl_cf_get_primary_config
    - gnutls_strerror
    - Curl_ssl_cf_get_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_populate_creds(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    gnutls_certificate_credentials_t
      creds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/gtls.c:549,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vtls/gtls.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sc
    argTypes:
    - struct Curl_easy*
    - struct gtls_shared_creds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 557
    functionName: gtls_shared_creds_expired
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: bool
    signature: "bool gtls_shared_creds_expired(const struct Curl_easy *data,\n                                      const
      struct gtls_shared_creds *sc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/gtls.c:562,1
    - Dst: strcmp
      Src: /src/curl/lib/vtls/gtls.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - sc
    argTypes:
    - struct Curl_cfilter*
    - struct gtls_shared_creds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 567
    functionName: gtls_shared_creds_different
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_cf_get_primary_config
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool gtls_shared_creds_different(struct Curl_cfilter *cf,\n                                        const
      struct gtls_shared_creds *sc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/vtls/gtls.c:575,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/gtls.c:576,1
    - Dst: gtls_shared_creds_expired
      Src: /src/curl/lib/vtls/gtls.c:579,1
    - Dst: gtls_shared_creds_different
      Src: /src/curl/lib/vtls/gtls.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 585
    functionName: gtls_get_cached_creds
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gtls_shared_creds_different
    - gtls_shared_creds_expired
    - Curl_hash_pick
    - CURL_UNCONST
    linkageType: ''
    returnType: struct gtls_shared_creds
    signature: 'struct gtls_shared_creds *

      gtls_get_cached_creds(struct Curl_cfilter *cf, struct Curl_easy *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:590,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:591,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/gtls.c:591,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/curl/lib/vtls/gtls.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 595
    functionName: gtls_shared_creds_hash_free
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_gtls_shared_creds_free
    - DEBUGASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void gtls_shared_creds_hash_free(void *key, size_t key_len, void *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/gtls.c:601,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:603,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:604,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:605,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:606,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/gtls.c:611,1
    - Dst: Curl_gtls_shared_creds_up_ref
      Src: /src/curl/lib/vtls/gtls.c:616,1
    - Dst: Curl_hash_add2
      Src: /src/curl/lib/vtls/gtls.c:619,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/gtls.c:620,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/curl/lib/vtls/gtls.c:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cf
    - data
    - sc
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct gtls_shared_creds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 626
    functionName: gtls_set_cached_creds
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_gtls_shared_creds_free
    - strdup
    - CURL_UNCONST
    - Curl_hash_add2
    - Curl_ssl_cf_get_primary_config
    - Curl_gtls_shared_creds_up_ref
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void gtls_set_cached_creds(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct gtls_shared_creds
      *sc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/gtls.c:632,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/gtls.c:633,1
    - Dst: gtls_get_cached_creds
      Src: /src/curl/lib/vtls/gtls.c:652,1
    - Dst: Curl_gtls_shared_creds_up_ref
      Src: /src/curl/lib/vtls/gtls.c:654,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:655,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/curl/lib/vtls/gtls.c:656,1
    - Dst: gnutls_credentials_set
      Src: /src/curl/lib/vtls/gtls.c:658,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:661,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:661,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:666,1
    - Dst: gtls_populate_creds
      Src: /src/curl/lib/vtls/gtls.c:667,1
    - Dst: gtls_set_cached_creds
      Src: /src/curl/lib/vtls/gtls.c:672,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - cf
    - data
    - gtls
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct gtls_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 628
    functionDepth: 4
    functionLinenumber: 628
    functionLinenumberEnd: 675
    functionName: Curl_gtls_client_trust_setup
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 2
    functionsReached:
    - Curl_gtls_shared_creds_free
    - failf
    - CURL_TRC_CF
    - gtls_get_cached_creds
    - Curl_ssl_cf_get_config
    - gtls_populate_creds
    - gtls_set_cached_creds
    - Curl_ssl_cf_get_primary_config
    - gnutls_strerror
    - Curl_gtls_shared_creds_up_ref
    - gnutls_credentials_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_client_trust_setup(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct gtls_ctx *gtls)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/gtls.c:687,1
    - Dst: gnutls_session_get_data
      Src: /src/curl/lib/vtls/gtls.c:703,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/gtls.c:707,1
    - Dst: gnutls_session_get_data
      Src: /src/curl/lib/vtls/gtls.c:712,1
    - Dst: gnutls_record_get_max_early_data_size
      Src: /src/curl/lib/vtls/gtls.c:713,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:715,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/vtls/gtls.c:719,1
    - Dst: free
      Src: /src/curl/lib/vtls/gtls.c:721,1
    - Dst: Curl_ssl_session_create2
      Src: /src/curl/lib/vtls/gtls.c:726,1
    - Dst: Curl_glts_get_ietf_proto
      Src: /src/curl/lib/vtls/gtls.c:727,1
    - Dst: Curl_ssl_scache_put
      Src: /src/curl/lib/vtls/gtls.c:733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 8
    argNames:
    - cf
    - data
    - ssl_peer_key
    - session
    - valid_until
    - alpn
    - quic_tp
    - quic_tp_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - gnutls_session_t
    - curl_off_t
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 737
    functionName: Curl_gtls_cache_session
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - malloc
    - CURL_TRC_CF
    - gnutls_session_get_data
    - Curl_ssl_session_create2
    - gnutls_record_get_max_early_data_size
    - free
    - Curl_ssl_scache_put
    - Curl_glts_get_ietf_proto
    - Curl_memdup0
    - Curl_ssl_cf_get_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_cache_session(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 const char *ssl_peer_key,\n
      \                                gnutls_session_t session,\n                                 curl_off_t
      valid_until,\n                                 const char *alpn,\n                                 unsigned
      char *quic_tp,\n                                 size_t quic_tp_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_protocol_get_version
      Src: /src/curl/lib/vtls/gtls.c:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - session
    argTypes:
    - gnutls_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 758
    functionName: Curl_glts_get_ietf_proto
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 1
    functionsReached:
    - gnutls_protocol_get_version
    linkageType: ''
    returnType: int
    signature: int Curl_glts_get_ietf_proto(gnutls_session_t session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gtls_cache_session
      Src: /src/curl/lib/vtls/gtls.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cf
    - data
    - session
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - gnutls_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 761
    functionDepth: 3
    functionLinenumber: 761
    functionLinenumberEnd: 769
    functionName: cf_gtls_update_session_id
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_gtls_cache_session
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_gtls_update_session_id(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          gnutls_session_t
      session)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/curl/lib/vtls/gtls.c:775,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/gtls.c:780,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:782,1
    - Dst: cf_gtls_update_session_id
      Src: /src/curl/lib/vtls/gtls.c:786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - session
    - htype
    - when
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 795
    functionName: gtls_handshake_cb
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - cf_gtls_update_session_id
    - CF_DATA_CURRENT
    - gnutls_session_get_ptr
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int gtls_handshake_cb(gnutls_session_t session, unsigned int htype,\n
      \                            unsigned when, unsigned int incoming,\n                             const
      gnutls_datum_t *msg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/gtls.c:803,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/gtls.c:809,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/gtls.c:815,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/gtls.c:817,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/gtls.c:820,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/gtls.c:829,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/gtls.c:830,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/gtls.c:834,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/gtls.c:837,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:843,1
    - Dst: gnutls_priority_set_direct
      Src: /src/curl/lib/vtls/gtls.c:844,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:846,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/gtls.c:851,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - cf
    - data
    - gtls
    - priority
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct gtls_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 853
    functionName: gtls_set_priority
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - failf
    - curlx_dyn_addf
    - curlx_dyn_free
    - curlx_dyn_init
    - gnutls_priority_set_direct
    - curlx_dyn_len
    - infof
    - Curl_ssl_cf_get_primary_config
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_set_priority(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct gtls_ctx *gtls,\n
      \                                 const char *priority)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/gtls.c:861,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/gtls.c:862,1
    - Dst: gtls_init
      Src: /src/curl/lib/vtls/gtls.c:871,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:874,1
    - Dst: Curl_gtls_shared_creds_create
      Src: /src/curl/lib/vtls/gtls.c:881,1
    - Dst: Curl_auth_allowed_to_host
      Src: /src/curl/lib/vtls/gtls.c:886,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:887,1
    - Dst: gnutls_srp_allocate_client_credentials
      Src: /src/curl/lib/vtls/gtls.c:889,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:891,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:892,1
    - Dst: gnutls_srp_set_client_credentials
      Src: /src/curl/lib/vtls/gtls.c:896,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:900,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:901,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:937,1
    - Dst: gnutls_init
      Src: /src/curl/lib/vtls/gtls.c:939,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:941,1
    - Dst: gnutls_server_name_set
      Src: /src/curl/lib/vtls/gtls.c:946,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/gtls.c:947,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:948,1
    - Dst: gnutls_set_default_priority
      Src: /src/curl/lib/vtls/gtls.c:954,1
    - Dst: gnutls_check_version
      Src: /src/curl/lib/vtls/gtls.c:959,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:967,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:973,1
    - Dst: gnutls_set_ssl_version_min_max
      Src: /src/curl/lib/vtls/gtls.c:979,1
    - Dst: gtls_set_priority
      Src: /src/curl/lib/vtls/gtls.c:984,1
    - Dst: Curl_gtls_client_trust_setup
      Src: /src/curl/lib/vtls/gtls.c:990,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/gtls.c:994,1
    - Dst: gnutls_certificate_set_x509_simple_pkcs12_file
      Src: /src/curl/lib/vtls/gtls.c:995,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:999,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:1002,1
    - Dst: gnutls_certificate_set_x509_key_file2
      Src: /src/curl/lib/vtls/gtls.c:1012,1
    - Dst: gnutls_do_file_type
      Src: /src/curl/lib/vtls/gtls.c:1016,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1020,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:1023,1
    - Dst: gnutls_credentials_set
      Src: /src/curl/lib/vtls/gtls.c:1032,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1035,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:1035,1
    - Dst: gnutls_credentials_set
      Src: /src/curl/lib/vtls/gtls.c:1042,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1045,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:1045,1
    - Dst: gnutls_ocsp_status_request_enable_client
      Src: /src/curl/lib/vtls/gtls.c:1051,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1054,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 108
    argCount: 5
    argNames:
    - cf
    - data
    - peer
    - earlydata_max
    - gtls
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - size_t
    - struct gtls_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 855
    functionDepth: 5
    functionLinenumber: 855
    functionLinenumberEnd: 1060
    functionName: gtls_client_init
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_gtls_shared_creds_create
    - gnutls_do_file_type
    - gnutls_srp_allocate_client_credentials
    - gtls_set_priority
    - gnutls_srp_set_client_credentials
    - gnutls_credentials_set
    - gnutls_init
    - gnutls_certificate_set_x509_simple_pkcs12_file
    - gtls_init
    - failf
    - curl_strequal
    - gnutls_set_ssl_version_min_max
    - gnutls_check_version
    - gnutls_ocsp_status_request_enable_client
    - strlen
    - CURL_TRC_CF
    - gnutls_certificate_set_x509_key_file2
    - Curl_auth_allowed_to_host
    - Curl_ssl_cf_get_primary_config
    - gnutls_set_default_priority
    - Curl_ssl_cf_get_config
    - gnutls_server_name_set
    - Curl_gtls_client_trust_setup
    - infof
    - gnutls_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_client_init(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct ssl_peer *peer,\n
      \                                size_t earlydata_max,\n                                 struct
      gtls_ctx *gtls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_random
      Src: /src/curl/lib/vtls/gtls.c:1069,1
    - Dst: Curl_tls_keylog_write
      Src: /src/curl/lib/vtls/gtls.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - session
    - label
    - secret
    argTypes:
    - gnutls_session_t
    - char*
    - gnutls_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1076
    functionName: keylog_callback
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_write
    - gnutls_session_get_random
    linkageType: ''
    returnType: int
    signature: "int keylog_callback(gnutls_session_t session, const char *label,\n
      \                          const gnutls_datum_t *secret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_get_max_early_data_size
      Src: /src/curl/lib/vtls/gtls.c:1091,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:1094,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/curl/lib/vtls/gtls.c:1096,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:1097,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1100,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/gtls.c:1104,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/gtls.c:1106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - cf
    - data
    - alpns
    - scs
    - do_early_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct alpn_spec*
    - struct Curl_ssl_session*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1110
    functionName: gtls_on_session_reuse
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - strlen
    - CURL_TRC_CF
    - Curl_alpn_contains_proto
    - gnutls_record_get_max_early_data_size
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_on_session_reuse(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct alpn_spec *alpns,\n
      \                                     struct Curl_ssl_session *scs,\n                                      bool
      *do_early_data)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/gtls.c:1123,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/gtls.c:1124,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:1133,1
    - Dst: Curl_alpn_copy
      Src: /src/curl/lib/vtls/gtls.c:1134,1
    - Dst: Curl_ssl_scache_take
      Src: /src/curl/lib/vtls/gtls.c:1140,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/curl/lib/vtls/gtls.c:1145,1
    - Dst: gtls_client_init
      Src: /src/curl/lib/vtls/gtls.c:1148,1
    - Dst: gnutls_session_set_data
      Src: /src/curl/lib/vtls/gtls.c:1153,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1155,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1157,1
    - Dst: sess_reuse_cb
      Src: /src/curl/lib/vtls/gtls.c:1162,1
    - Dst: Curl_alpn_restrict_to
      Src: /src/curl/lib/vtls/gtls.c:1169,1
    - Dst: gtls_client_init
      Src: /src/curl/lib/vtls/gtls.c:1177,1
    - Dst: gnutls_session_set_ptr
      Src: /src/curl/lib/vtls/gtls.c:1182,1
    - Dst: cb_setup
      Src: /src/curl/lib/vtls/gtls.c:1185,1
    - Dst: Curl_tls_keylog_open
      Src: /src/curl/lib/vtls/gtls.c:1192,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/curl/lib/vtls/gtls.c:1193,1
    - Dst: gnutls_session_set_keylog_function
      Src: /src/curl/lib/vtls/gtls.c:1194,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:1203,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/vtls/gtls.c:1203,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/gtls.c:1206,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/curl/lib/vtls/gtls.c:1212,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1215,1
    - Dst: Curl_ssl_scache_return
      Src: /src/curl/lib/vtls/gtls.c:1220,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 9
    argNames:
    - gctx
    - cf
    - data
    - peer
    - alpns_requested
    - cb_setup
    - cb_user_data
    - ssl_user_data
    - sess_reuse_cb
    argTypes:
    - struct gtls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - Curl_gtls_ctx_setup_cb*
    - void*
    - void*
    - Curl_gtls_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1113
    functionDepth: 6
    functionLinenumber: 1113
    functionLinenumberEnd: 1222
    functionName: Curl_gtls_ctx_init
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - sess_reuse_cb
    - gnutls_alpn_set_protocols
    - failf
    - gnutls_session_set_data
    - gtls_client_init
    - Curl_tls_keylog_open
    - strlen
    - Curl_alpn_contains_proto
    - cb_setup
    - gnutls_session_set_keylog_function
    - CURL_ARRAYSIZE
    - Curl_alpn_copy
    - Curl_ssl_cf_get_primary_config
    - Curl_ssl_scache_return
    - gnutls_session_set_ptr
    - Curl_ssl_cf_get_config
    - DEBUGASSERT
    - Curl_alpn_restrict_to
    - Curl_ssl_scache_take
    - infof
    - Curl_tls_keylog_enabled
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_ctx_init(struct gtls_ctx *gctx,\n                            struct
      Curl_cfilter *cf,\n                            struct Curl_easy *data,\n                            struct
      ssl_peer *peer,\n                            const struct alpn_spec *alpns_requested,\n
      \                           Curl_gtls_ctx_setup_cb *cb_setup,\n                            void
      *cb_user_data,\n                            void *ssl_user_data,\n                            Curl_gtls_init_session_reuse_cb
      *sess_reuse_cb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:1232,1
    - Dst: Curl_gtls_ctx_init
      Src: /src/curl/lib/vtls/gtls.c:1239,1
    - Dst: memset
      Src: /src/curl/lib/vtls/gtls.c:1253,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/curl/lib/vtls/gtls.c:1254,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1255,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/curl/lib/vtls/gtls.c:1259,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/curl/lib/vtls/gtls.c:1265,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/curl/lib/vtls/gtls.c:1266,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/curl/lib/vtls/gtls.c:1267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1224
    functionDepth: 7
    functionLinenumber: 1224
    functionLinenumberEnd: 1270
    functionName: gtls_connect_step1
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_handshake_set_hook_function
    - gnutls_transport_set_pull_function
    - Curl_gtls_ctx_init
    - memset
    - infof
    - Curl_alpn_to_proto_str
    - gnutls_transport_set_ptr
    - DEBUGASSERT
    - gnutls_transport_set_push_function
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode gtls_connect_step1(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_pubkey_init
      Src: /src/curl/lib/vtls/gtls.c:1296,1
    - Dst: gnutls_pubkey_import_x509
      Src: /src/curl/lib/vtls/gtls.c:1298,1
    - Dst: gnutls_pubkey_export
      Src: /src/curl/lib/vtls/gtls.c:1302,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/gtls.c:1306,1
    - Dst: gnutls_pubkey_export
      Src: /src/curl/lib/vtls/gtls.c:1312,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/curl/lib/vtls/gtls.c:1319,1
    - Dst: gnutls_pubkey_deinit
      Src: /src/curl/lib/vtls/gtls.c:1323,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/gtls.c:1325,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - data
    - cert
    - pinnedpubkey
    argTypes:
    - struct Curl_easy*
    - gnutls_x509_crt_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1328
    functionName: pkp_pin_peer_pubkey
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - malloc
    - gnutls_pubkey_import_x509
    - gnutls_pubkey_deinit
    - Curl_pin_peer_pubkey
    - gnutls_pubkey_init
    - gnutls_pubkey_export
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pkp_pin_peer_pubkey(struct Curl_easy *data,\n                                    gnutls_x509_crt_t
      cert,\n                                    const char *pinnedpubkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/vtls/gtls.c:1334,1
    - Dst: gnutls_protocol_get_version
      Src: /src/curl/lib/vtls/gtls.c:1336,1
    - Dst: gnutls_cipher_suite_get_name
      Src: /src/curl/lib/vtls/gtls.c:1339,1
    - Dst: gnutls_kx_get
      Src: /src/curl/lib/vtls/gtls.c:1339,1
    - Dst: gnutls_cipher_get
      Src: /src/curl/lib/vtls/gtls.c:1340,1
    - Dst: gnutls_mac_get
      Src: /src/curl/lib/vtls/gtls.c:1341,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1343,1
    - Dst: gnutls_protocol_get_name
      Src: /src/curl/lib/vtls/gtls.c:1344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - gctx
    argTypes:
    - struct Curl_easy*
    - struct gtls_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1350
    functionName: Curl_gtls_report_handshake
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_mac_get
    - gnutls_protocol_get_version
    - gnutls_kx_get
    - gnutls_protocol_get_name
    - gnutls_cipher_suite_get_name
    - Curl_trc_is_verbose
    - gnutls_cipher_get
    - infof
    linkageType: ''
    returnType: void
    signature: "void Curl_gtls_report_handshake(struct Curl_easy *data,\n                                struct
      gtls_ctx *gctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_x509_crt_get_dn_by_oid
      Src: /src/curl/lib/vtls/gtls.c:1362,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1366,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:1366,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1372,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1376,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - peer
    - x509_cert
    - was_verified
    - needs_verified
    argTypes:
    - struct Curl_easy*
    - struct ssl_peer*
    - gnutls_x509_crt_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1381
    functionName: gtls_msg_verify_result
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - gnutls_x509_crt_get_dn_by_oid
    - gnutls_strerror
    - failf
    linkageType: ''
    returnType: void
    signature: "void gtls_msg_verify_result(struct Curl_easy *data,\n                                   struct
      ssl_peer *peer,\n                                   gnutls_x509_crt_t x509_cert,\n
      \                                  bool was_verified,\n                                   bool
      needs_verified)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/vtls/gtls.c:1387,1
    - Dst: gnutls_x509_crt_get_pk_algorithm
      Src: /src/curl/lib/vtls/gtls.c:1394,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1395,1
    - Dst: gnutls_pk_algorithm_get_name
      Src: /src/curl/lib/vtls/gtls.c:1396,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1399,1
    - Dst: gnutls_x509_crt_get_version
      Src: /src/curl/lib/vtls/gtls.c:1400,1
    - Dst: gnutls_x509_crt_get_dn2
      Src: /src/curl/lib/vtls/gtls.c:1402,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1404,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1406,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/curl/lib/vtls/gtls.c:1408,1
    - Dst: showtime
      Src: /src/curl/lib/vtls/gtls.c:1409,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/curl/lib/vtls/gtls.c:1411,1
    - Dst: showtime
      Src: /src/curl/lib/vtls/gtls.c:1412,1
    - Dst: gnutls_free
      Src: /src/curl/lib/vtls/gtls.c:1414,1
    - Dst: gnutls_x509_crt_get_issuer_dn2
      Src: /src/curl/lib/vtls/gtls.c:1417,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1419,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1421,1
    - Dst: gnutls_free
      Src: /src/curl/lib/vtls/gtls.c:1423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - data
    - x509_cert
    argTypes:
    - struct Curl_easy*
    - gnutls_x509_crt_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1383
    functionDepth: 7
    functionLinenumber: 1383
    functionLinenumberEnd: 1430
    functionName: gtls_infof_cert
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_pk_algorithm_get_name
    - gnutls_free
    - gnutls_x509_crt_get_pk_algorithm
    - gnutls_x509_crt_get_activation_time
    - showtime
    - gnutls_x509_crt_get_dn2
    - Curl_trc_is_verbose
    - gnutls_x509_crt_get_expiration_time
    - gnutls_x509_crt_get_issuer_dn2
    - infof
    - gnutls_x509_crt_get_version
    linkageType: ''
    returnType: void
    signature: "void gtls_infof_cert(struct Curl_easy *data,\n                            gnutls_x509_crt_t
      x509_cert)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_ocsp_status_request_get
      Src: /src/curl/lib/vtls/gtls.c:1442,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1445,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1450,1
    - Dst: gnutls_ocsp_resp_init
      Src: /src/curl/lib/vtls/gtls.c:1455,1
    - Dst: gnutls_ocsp_resp_import
      Src: /src/curl/lib/vtls/gtls.c:1457,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1459,1
    - Dst: gnutls_ocsp_resp_get_single
      Src: /src/curl/lib/vtls/gtls.c:1464,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1517,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1523,1
    - Dst: gnutls_ocsp_resp_deinit
      Src: /src/curl/lib/vtls/gtls.c:1532,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 2
    argNames:
    - data
    - session
    argTypes:
    - struct Curl_easy*
    - gnutls_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1534
    functionName: gtls_verify_ocsp_status
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_ocsp_status_request_get
    - failf
    - gnutls_ocsp_resp_init
    - gnutls_ocsp_resp_get_single
    - gnutls_ocsp_resp_deinit
    - gnutls_ocsp_resp_import
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_verify_ocsp_status(struct Curl_easy *data,\n                                        gnutls_session_t
      session)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - cf
    - data
    - user_data
    - i
    - pder
    - pder_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1561
    functionName: gtls_chain_get_der
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_chain_get_der(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   void *user_data,\n                                   size_t
      i,\n                                   unsigned char **pder,\n                                   size_t
      *pder_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vtls_apple_verify
      Src: /src/curl/lib/vtls/gtls.c:1571,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - cf
    - data
    - peer
    - chain
    - pverified
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct gtls_cert_chain*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1578
    functionName: glts_apple_verify
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_vtls_apple_verify
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode glts_apple_verify(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct ssl_peer *peer,\n
      \                                 struct gtls_cert_chain *chain,\n                                  bool
      *pverified)"
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_get_peers
      Src: /src/curl/lib/vtls/gtls.c:1604,1
    - Dst: gnutls_cipher_get
      Src: /src/curl/lib/vtls/gtls.c:1611,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1617,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1625,1
    - Dst: Curl_ssl_init_certinfo
      Src: /src/curl/lib/vtls/gtls.c:1631,1
    - Dst: Curl_extract_certinfo
      Src: /src/curl/lib/vtls/gtls.c:1639,1
    - Dst: gnutls_certificate_verify_peers2
      Src: /src/curl/lib/vtls/gtls.c:1655,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1657,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1665,1
    - Dst: glts_apple_verify
      Src: /src/curl/lib/vtls/gtls.c:1670,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1674,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1691,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1701,1
    - Dst: gnutls_x509_crt_init
      Src: /src/curl/lib/vtls/gtls.c:1704,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1705,1
    - Dst: gnutls_x509_crt_import
      Src: /src/curl/lib/vtls/gtls.c:1714,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1716,1
    - Dst: gnutls_x509_crt_get_expiration_time
      Src: /src/curl/lib/vtls/gtls.c:1724,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1728,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1734,1
    - Dst: time
      Src: /src/curl/lib/vtls/gtls.c:1737,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1739,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1745,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1748,1
    - Dst: gnutls_x509_crt_get_activation_time
      Src: /src/curl/lib/vtls/gtls.c:1751,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1755,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1761,1
    - Dst: time
      Src: /src/curl/lib/vtls/gtls.c:1764,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1766,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1772,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1775,1
    - Dst: gtls_verify_ocsp_status
      Src: /src/curl/lib/vtls/gtls.c:1779,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1784,1
    - Dst: gnutls_x509_crt_init
      Src: /src/curl/lib/vtls/gtls.c:1788,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1789,1
    - Dst: load_file
      Src: /src/curl/lib/vtls/gtls.c:1793,1
    - Dst: gnutls_x509_crt_import
      Src: /src/curl/lib/vtls/gtls.c:1794,1
    - Dst: gnutls_x509_crt_check_issuer
      Src: /src/curl/lib/vtls/gtls.c:1796,1
    - Dst: unload_file
      Src: /src/curl/lib/vtls/gtls.c:1797,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1799,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1804,1
    - Dst: gnutls_x509_crt_check_hostname
      Src: /src/curl/lib/vtls/gtls.c:1817,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/vtls/gtls.c:1832,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/vtls/gtls.c:1835,1
    - Dst: gnutls_x509_crt_get_subject_alt_name
      Src: /src/curl/lib/vtls/gtls.c:1845,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/gtls.c:1854,1
    - Dst: gtls_msg_verify_result
      Src: /src/curl/lib/vtls/gtls.c:1865,1
    - Dst: pkp_pin_peer_pubkey
      Src: /src/curl/lib/vtls/gtls.c:1870,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:1872,1
    - Dst: gtls_infof_cert
      Src: /src/curl/lib/vtls/gtls.c:1877,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/curl/lib/vtls/gtls.c:1881,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/curl/lib/vtls/gtls.c:1883,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 198
    argCount: 7
    argNames:
    - cf
    - data
    - session
    - config
    - ssl_config
    - peer
    - pinned_key
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - gnutls_session_t
    - struct ssl_primary_config*
    - struct ssl_config_data*
    - struct ssl_peer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1581
    functionDepth: 9
    functionLinenumber: 1581
    functionLinenumberEnd: 1885
    functionName: Curl_gtls_verifyserver
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gtls_verify_ocsp_status
    - Curl_ssl_init_certinfo
    - glts_apple_verify
    - gnutls_x509_crt_import
    - gnutls_x509_crt_check_hostname
    - failf
    - gnutls_certificate_get_peers
    - gnutls_x509_crt_init
    - unload_file
    - curlx_inet_pton
    - gnutls_x509_crt_check_issuer
    - gtls_msg_verify_result
    - load_file
    - gtls_infof_cert
    - pkp_pin_peer_pubkey
    - gnutls_certificate_verify_peers2
    - gnutls_x509_crt_get_expiration_time
    - gnutls_x509_crt_deinit
    - time
    - gnutls_x509_crt_get_activation_time
    - Curl_extract_certinfo
    - gnutls_cipher_get
    - memcmp
    - infof
    - gnutls_x509_crt_get_subject_alt_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_gtls_verifyserver(struct Curl_cfilter *cf,\n                       struct
      Curl_easy *data,\n                       gnutls_session_t session,\n                       struct
      ssl_primary_config *config,\n                       struct ssl_config_data *ssl_config,\n
      \                      struct ssl_peer *peer,\n                       const
      char *pinned_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/gtls.c:1892,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/gtls.c:1893,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/gtls.c:1895,1
    - Dst: Curl_gtls_verifyserver
      Src: /src/curl/lib/vtls/gtls.c:1903,1
    - Dst: gnutls_protocol_get_version
      Src: /src/curl/lib/vtls/gtls.c:1911,1
    - Dst: cf_gtls_update_session_id
      Src: /src/curl/lib/vtls/gtls.c:1912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - session
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - gnutls_session_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1887
    functionDepth: 10
    functionLinenumber: 1887
    functionLinenumberEnd: 1917
    functionName: gtls_verifyserver
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 1
    functionsReached:
    - gnutls_protocol_get_version
    - cf_gtls_update_session_id
    - Curl_gtls_verifyserver
    - Curl_ssl_cf_get_primary_config
    - Curl_ssl_cf_get_config
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_verifyserver(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  gnutls_session_t session)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:1931,1
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/vtls/gtls.c:1933,1
    - Dst: gnutls_record_send_early_data
      Src: /src/curl/lib/vtls/gtls.c:1934,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:1935,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/vtls/gtls.c:1951,1
    - Dst: infof
      Src: /src/curl/lib/vtls/gtls.c:1954,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1920
    functionDepth: 4
    functionLinenumber: 1920
    functionLinenumberEnd: 1957
    functionName: gtls_send_earlydata
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_bufq_peek
    - Curl_bufq_skip
    - infof
    - gnutls_record_send_early_data
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_send_earlydata(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:1977,1
    - Dst: gtls_connect_step1
      Src: /src/curl/lib/vtls/gtls.c:1988,1
    - Dst: gtls_send_earlydata
      Src: /src/curl/lib/vtls/gtls.c:2000,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2005,1
    - Dst: handshake
      Src: /src/curl/lib/vtls/gtls.c:2008,1
    - Dst: Curl_gtls_report_handshake
      Src: /src/curl/lib/vtls/gtls.c:2019,1
    - Dst: gtls_verifyserver
      Src: /src/curl/lib/vtls/gtls.c:2021,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/curl/lib/vtls/gtls.c:2027,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/gtls.c:2033,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2041,1
    - Dst: gnutls_session_get_flags
      Src: /src/curl/lib/vtls/gtls.c:2043,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2052,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:2061,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 1969
    functionDepth: 11
    functionLinenumber: 1969
    functionLinenumberEnd: 2063
    functionName: gtls_connect_common
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - gnutls_session_get_flags
    - CURL_TRC_CF
    - gtls_verifyserver
    - handshake
    - Curl_gtls_report_handshake
    - gnutls_alpn_get_selected_protocol
    - gtls_send_earlydata
    - DEBUGASSERT
    - gtls_connect_step1
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_connect_common(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtls_connect_common
      Src: /src/curl/lib/vtls/gtls.c:2078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2065
    functionDepth: 12
    functionLinenumber: 2065
    functionLinenumberEnd: 2079
    functionName: gtls_connect
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gtls_connect_common
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_connect(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2088,1
    - Dst: gnutls_record_check_pending
      Src: /src/curl/lib/vtls/gtls.c:2091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2081
    functionDepth: 1
    functionLinenumber: 2081
    functionLinenumberEnd: 2094
    functionName: gtls_data_pending
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_record_check_pending
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool gtls_data_pending(struct Curl_cfilter *cf,\n                              const
      struct Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2110,1
    - Dst: gnutls_record_send
      Src: /src/curl/lib/vtls/gtls.c:2115,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2119,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/gtls.c:2120,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:2136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2096
    functionDepth: 1
    functionLinenumber: 2096
    functionLinenumberEnd: 2139
    functionName: gtls_send
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - DEBUGASSERT
    - CURL_UNCONST
    - gnutls_record_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_send(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          const void *buf,\n                          size_t
      blen,\n                          size_t *pnwritten)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2157,1
    - Dst: gnutls_bye
      Src: /src/curl/lib/vtls/gtls.c:2172,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:2174,1
    - Dst: gnutls_record_get_direction
      Src: /src/curl/lib/vtls/gtls.c:2175,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:2182,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:2183,1
    - Dst: gnutls_record_recv
      Src: /src/curl/lib/vtls/gtls.c:2193,1
    - Dst: gnutls_record_get_direction
      Src: /src/curl/lib/vtls/gtls.c:2205,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:2209,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:2210,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2145
    functionDepth: 1
    functionLinenumber: 2145
    functionLinenumberEnd: 2217
    functionName: gtls_shutdown
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_record_recv
    - gnutls_record_get_direction
    - CURL_TRC_CF
    - gnutls_bye
    - gnutls_strerror
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_shutdown(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool send_shutdown, bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2227,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:2228,1
    - Dst: gnutls_deinit
      Src: /src/curl/lib/vtls/gtls.c:2230,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/curl/lib/vtls/gtls.c:2234,1
    - Dst: gnutls_srp_free_client_credentials
      Src: /src/curl/lib/vtls/gtls.c:2238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2219
    functionDepth: 1
    functionLinenumber: 2219
    functionLinenumberEnd: 2242
    functionName: gtls_close
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - Curl_gtls_shared_creds_free
    - CURL_TRC_CF
    - gnutls_deinit
    - gnutls_srp_free_client_credentials
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void gtls_close(struct Curl_cfilter *cf,\n                       struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2256,1
    - Dst: gnutls_record_recv
      Src: /src/curl/lib/vtls/gtls.c:2258,1
    - Dst: handshake
      Src: /src/curl/lib/vtls/gtls.c:2270,1
    - Dst: failf
      Src: /src/curl/lib/vtls/gtls.c:2276,1
    - Dst: gnutls_strerror
      Src: /src/curl/lib/vtls/gtls.c:2277,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/gtls.c:2285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2244
    functionDepth: 2
    functionLinenumber: 2244
    functionLinenumberEnd: 2287
    functionName: gtls_recv
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - handshake
    - gnutls_strerror
    - gnutls_record_recv
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_recv(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          char *buf, size_t blen,\n                          size_t
      *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/gtls.c:2291,1
    - Dst: gnutls_check_version
      Src: /src/curl/lib/vtls/gtls.c:2291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2289
    functionDepth: 6
    functionLinenumber: 2289
    functionLinenumberEnd: 2292
    functionName: Curl_gtls_version
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_check_version
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_gtls_version(char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_rnd
      Src: /src/curl/lib/vtls/gtls.c:2300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2302
    functionName: gtls_random
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - gnutls_rnd
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_random(struct Curl_easy *data,\n                            unsigned
      char *entropy, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/curl/lib/vtls/gtls.c:2310,1
    - Dst: sha256_update
      Src: /src/curl/lib/vtls/gtls.c:2311,1
    - Dst: sha256_digest
      Src: /src/curl/lib/vtls/gtls.c:2312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tmp
    - tmplen
    - sha256sum
    - sha256len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2314
    functionName: gtls_sha256sum
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - sha256_digest
    - sha256_init
    - sha256_update
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode gtls_sha256sum(const unsigned char *tmp, /* input */\n                               size_t
      tmplen,\n                               unsigned char *sha256sum, /* output
      */\n                               size_t sha256len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2319
    functionName: gtls_cert_status_request
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gtls_cert_status_request(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/gtls.c:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2321
    functionDepth: 1
    functionLinenumber: 2321
    functionLinenumberEnd: 2329
    functionName: gtls_get_internals
    functionSourceFile: /src/curl/lib/vtls/gtls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *gtls_get_internals(struct ssl_connect_data *connssl,\n                                CURLINFO
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: Curl_mbedtlsthreadlock_thread_setup
    functionSourceFile: /src/curl/lib/vtls/mbedtls_threadlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mbedtlsthreadlock_thread_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: Curl_mbedtlsthreadlock_thread_cleanup
    functionSourceFile: /src/curl/lib/vtls/mbedtls_threadlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mbedtlsthreadlock_thread_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: Curl_mbedtlsthreadlock_lock_function
    functionSourceFile: /src/curl/lib/vtls/mbedtls_threadlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mbedtlsthreadlock_lock_function(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: Curl_mbedtlsthreadlock_unlock_function
    functionSourceFile: /src/curl/lib/vtls/mbedtls_threadlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_mbedtlsthreadlock_unlock_function(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __data__
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ECH_ENABLED
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ECH_ENABLED(__data__)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: Curl_ssl_init
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: Curl_ssl_cleanup
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: Curl_ssl_close_all
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_close_all(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: Curl_ssl_set_engine
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_set_engine(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: Curl_ssl_set_engine_default
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_set_engine_default(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: Curl_ssl_engines_list
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_engines_list(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: Curl_ssl_free_certinfo
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_free_certinfo(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: Curl_ssl_random
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_random(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: Curl_ssl_cert_status_request
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cert_status_request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: Curl_ssl_supports
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_supports(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: Curl_ssl_cfilter_add
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cfilter_add(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: Curl_ssl_cfilter_remove
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cfilter_remove(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: Curl_ssl_cf_get_config
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cf_get_config(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: Curl_ssl_cf_get_primary_config
    functionSourceFile: /src/curl/lib/vtls/vtls.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssl_cf_get_primary_config(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rustls_result_is_cert_error
      Src: /src/curl/lib/vtls/rustls.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - rustls_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: map_error
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 11
    functionsReached:
    - rustls_result_is_cert_error
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode map_error(const rustls_result r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rustls_error
      Src: /src/curl/lib/vtls/rustls.c:79,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - rr
    - msg
    argTypes:
    - struct Curl_easy*
    - rustls_result
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: rustls_failf
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - failf
    - rustls_error
    linkageType: ''
    returnType: void
    signature: void rustls_failf(struct Curl_easy *data, const rustls_result rr, const
      char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: cr_data_pending
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: bool cr_data_pending(struct Curl_cfilter *cf, const struct Curl_easy
      *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_recv
      Src: /src/curl/lib/vtls/rustls.c:109,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - userdata
    - buf
    - len
    - out_n
    argTypes:
    - void*
    - uint8_t*
    - uintptr_t
    - uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: read_cb
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 2
    functionsReached:
    - CURL_TRC_CF
    - Curl_conn_cf_recv
    linkageType: ''
    returnType: int
    signature: int read_cb(void *userdata, uint8_t *buf, uintptr_t len, uintptr_t
      *out_n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/vtls/rustls.c:135,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - userdata
    - buf
    - len
    - out_n
    argTypes:
    - void*
    - uint8_t*
    - uintptr_t
    - uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: write_cb
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 2
    functionsReached:
    - Curl_conn_cf_send
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: int write_cb(void *userdata, const uint8_t *buf, uintptr_t len, uintptr_t
      *out_n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rustls_connection_read_tls
      Src: /src/curl/lib/vtls/rustls.c:163,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:171,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vtls/rustls.c:172,1
    - Dst: rustls_connection_process_new_packets
      Src: /src/curl/lib/vtls/rustls.c:177,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:179,1
    - Dst: map_error
      Src: /src/curl/lib/vtls/rustls.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - cf
    - data
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 187
    functionName: tls_recv_more
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_connection_read_tls
    - failf
    - curlx_strerror
    - rustls_failf
    - rustls_connection_process_new_packets
    - map_error
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t tls_recv_more(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data, CURLcode *err)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:206,1
    - Dst: tls_recv_more
      Src: /src/curl/lib/vtls/rustls.c:212,1
    - Dst: rustls_connection_read
      Src: /src/curl/lib/vtls/rustls.c:221,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:229,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:236,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 5
    argNames:
    - cf
    - data
    - plainbuf
    - plainlen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 260
    functionName: cr_recv
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_connection_read
    - failf
    - rustls_failf
    - CURL_TRC_CF
    - tls_recv_more
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \       char *plainbuf, size_t plainlen, size_t *pnread)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rustls_connection_wants_write
      Src: /src/curl/lib/vtls/rustls.c:273,1
    - Dst: rustls_connection_write_tls
      Src: /src/curl/lib/vtls/rustls.c:274,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:277,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:283,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vtls/rustls.c:284,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:288,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - cf
    - data
    - rconn
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct rustls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 295
    functionName: cr_flush_out
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_connection_write_tls
    - curlx_strerror
    - CURL_TRC_CF
    - failf
    - rustls_connection_wants_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_flush_out(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                            struct rustls_connection *rconn)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:320,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:323,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:325,1
    - Dst: cr_flush_out
      Src: /src/curl/lib/vtls/rustls.c:332,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:333,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:349,1
    - Dst: rustls_connection_write
      Src: /src/curl/lib/vtls/rustls.c:350,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:352,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:357,1
    - Dst: cr_flush_out
      Src: /src/curl/lib/vtls/rustls.c:363,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:379,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 5
    argNames:
    - cf
    - data
    - plainbuf
    - plainlen
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 382
    functionName: cr_send
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - failf
    - rustls_failf
    - CURL_TRC_CF
    - rustls_connection_write
    - cr_flush_out
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \       const void *plainbuf, size_t plainlen, size_t *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - userdata
    - params
    argTypes:
    - void*
    - rustls_verify_server_cert_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: cr_verify_none
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t cr_verify_none(void *userdata,\n               const rustls_verify_server_cert_params
      *params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fopen
      Src: /src/curl/lib/vtls/rustls.c:399,1
    - Dst: fread
      Src: /src/curl/lib/vtls/rustls.c:406,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/rustls.c:408,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/vtls/rustls.c:409,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/vtls/rustls.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - filename
    - out
    argTypes:
    - char*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: read_file_into
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_addn
    - curlx_fclose
    - curlx_fopen
    - fread
    linkageType: ''
    returnType: int
    signature: "int read_file_into(const char *filename,\n               struct dynbuf
      *out)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: rustls_default_crypto_provider_ciphersuites_len
      Src: /src/curl/lib/vtls/rustls.c:427,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:433,1
    - Dst: rustls_default_crypto_provider_ciphersuites_get
      Src: /src/curl/lib/vtls/rustls.c:438,1
    - Dst: rustls_supported_ciphersuite_protocol_version
      Src: /src/curl/lib/vtls/rustls.c:439,1
    - Dst: Curl_cipher_suite_walk_str
      Src: /src/curl/lib/vtls/rustls.c:456,1
    - Dst: rustls_default_crypto_provider_ciphersuites_get
      Src: /src/curl/lib/vtls/rustls.c:461,1
    - Dst: rustls_supported_ciphersuite_get_suite
      Src: /src/curl/lib/vtls/rustls.c:462,1
    - Dst: infof
      Src: /src/curl/lib/vtls/rustls.c:470,1
    - Dst: infof
      Src: /src/curl/lib/vtls/rustls.c:479,1
    - Dst: rustls_default_crypto_provider_ciphersuites_get
      Src: /src/curl/lib/vtls/rustls.c:495,1
    - Dst: rustls_supported_ciphersuite_protocol_version
      Src: /src/curl/lib/vtls/rustls.c:496,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 58
    argCount: 5
    argNames:
    - data
    - ciphers12
    - ciphers13
    - selected
    - selected_size
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - struct rustls_supported_ciphersuite**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 510
    functionName: cr_get_selected_ciphers
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - infof
    - rustls_supported_ciphersuite_protocol_version
    - rustls_supported_ciphersuite_get_suite
    - Curl_cipher_suite_walk_str
    - DEBUGASSERT
    - rustls_default_crypto_provider_ciphersuites_get
    - rustls_default_crypto_provider_ciphersuites_len
    linkageType: ''
    returnType: void
    signature: "void cr_get_selected_ciphers(struct Curl_easy *data,\n                        const
      char *ciphers12,\n                        const char *ciphers13,\n                        const
      struct rustls_supported_ciphersuite **selected,\n                        size_t
      *selected_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:519,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/rustls.c:521,1
    - Dst: Curl_tls_keylog_write
      Src: /src/curl/lib/vtls/rustls.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - label
    - client_random
    - client_random_len
    - secret
    - secret_len
    argTypes:
    - struct rustls_str
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 512
    functionDepth: 6
    functionLinenumber: 512
    functionLinenumberEnd: 523
    functionName: cr_keylog_log_cb
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - Curl_tls_keylog_write
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: "void cr_keylog_log_cb(struct rustls_str label,\n                 const
      uint8_t *client_random, size_t client_random_len,\n                 const uint8_t
      *secret, size_t secret_len)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: rustls_default_crypto_provider_ciphersuites_len
      Src: /src/curl/lib/vtls/rustls.c:540,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:557,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/rustls.c:572,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:576,1
    - Dst: ECH_ENABLED
      Src: /src/curl/lib/vtls/rustls.c:582,1
    - Dst: infof
      Src: /src/curl/lib/vtls/rustls.c:585,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/rustls.c:589,1
    - Dst: cr_get_selected_ciphers
      Src: /src/curl/lib/vtls/rustls.c:595,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:600,1
    - Dst: rustls_crypto_provider_builder_new_from_default
      Src: /src/curl/lib/vtls/rustls.c:605,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:608,1
    - Dst: rustls_crypto_provider_builder_set_cipher_suites
      Src: /src/curl/lib/vtls/rustls.c:615,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:620,1
    - Dst: rustls_crypto_provider_builder_build
      Src: /src/curl/lib/vtls/rustls.c:626,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:629,1
    - Dst: rustls_client_config_builder_new_custom
      Src: /src/curl/lib/vtls/rustls.c:634,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:639,1
    - Dst: free
      Src: /src/curl/lib/vtls/rustls.c:646,1
    - Dst: rustls_crypto_provider_builder_free
      Src: /src/curl/lib/vtls/rustls.c:649,1
    - Dst: rustls_crypto_provider_free
      Src: /src/curl/lib/vtls/rustls.c:652,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 95
    argCount: 3
    argNames:
    - data
    - conn_config
    - config_builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct rustls_client_config_builder**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 655
    functionName: init_config_builder
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - ECH_ENABLED
    - malloc
    - failf
    - cr_get_selected_ciphers
    - rustls_crypto_provider_builder_new_from_default
    - rustls_failf
    - rustls_crypto_provider_builder_set_cipher_suites
    - rustls_crypto_provider_builder_build
    - rustls_crypto_provider_builder_free
    - free
    - rustls_client_config_builder_new_custom
    - infof
    - rustls_crypto_provider_free
    - rustls_default_crypto_provider_ciphersuites_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder(struct Curl_easy *data,\n                    const
      struct ssl_primary_config *conn_config,\n                    struct rustls_client_config_builder
      **config_builder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/rustls.c:667,1
    - Dst: rustls_client_config_builder_set_alpn_protocols
      Src: /src/curl/lib/vtls/rustls.c:669,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/curl/lib/vtls/rustls.c:671,1
    - Dst: infof
      Src: /src/curl/lib/vtls/rustls.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - connssl
    - config_builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_connect_data*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 673
    functionName: init_config_builder_alpn
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_alpn_to_proto_str
    - strlen
    - rustls_client_config_builder_set_alpn_protocols
    linkageType: ''
    returnType: void
    signature: "void init_config_builder_alpn(struct Curl_easy *data,\n                         const
      struct ssl_connect_data *connssl,\n                         struct rustls_client_config_builder
      *config_builder)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/rustls.c:685,1
    - Dst: read_file_into
      Src: /src/curl/lib/vtls/rustls.c:686,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:687,1
    - Dst: rustls_web_pki_server_cert_verifier_builder_add_crl
      Src: /src/curl/lib/vtls/rustls.c:692,1
    - Dst: curlx_dyn_uptr
      Src: /src/curl/lib/vtls/rustls.c:694,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/rustls.c:695,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:697,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/rustls.c:703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - conn_config
    - builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct rustls_web_pki_server_cert_verifier_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 705
    functionName: init_config_builder_verifier_crl
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_uptr
    - failf
    - rustls_failf
    - read_file_into
    - rustls_web_pki_server_cert_verifier_builder_add_crl
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_verifier_crl(\n  struct Curl_easy *data,\n
      \ const struct ssl_primary_config *conn_config,\n  struct rustls_web_pki_server_cert_verifier_builder
      *builder)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rustls_root_cert_store_builder_new
      Src: /src/curl/lib/vtls/rustls.c:720,1
    - Dst: rustls_root_cert_store_builder_add_pem
      Src: /src/curl/lib/vtls/rustls.c:722,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:727,1
    - Dst: rustls_root_cert_store_builder_load_roots_from_file
      Src: /src/curl/lib/vtls/rustls.c:734,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:738,1
    - Dst: rustls_root_cert_store_builder_build
      Src: /src/curl/lib/vtls/rustls.c:745,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:747,1
    - Dst: rustls_web_pki_server_cert_verifier_builder_new
      Src: /src/curl/lib/vtls/rustls.c:751,1
    - Dst: init_config_builder_verifier_crl
      Src: /src/curl/lib/vtls/rustls.c:754,1
    - Dst: rustls_web_pki_server_cert_verifier_builder_build
      Src: /src/curl/lib/vtls/rustls.c:762,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:765,1
    - Dst: rustls_client_config_builder_set_server_verifier
      Src: /src/curl/lib/vtls/rustls.c:770,1
    - Dst: rustls_root_cert_store_builder_free
      Src: /src/curl/lib/vtls/rustls.c:774,1
    - Dst: rustls_root_cert_store_free
      Src: /src/curl/lib/vtls/rustls.c:777,1
    - Dst: rustls_web_pki_server_cert_verifier_builder_free
      Src: /src/curl/lib/vtls/rustls.c:780,1
    - Dst: rustls_server_cert_verifier_free
      Src: /src/curl/lib/vtls/rustls.c:783,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 5
    argNames:
    - data
    - builder
    - conn_config
    - ca_info_blob
    - ssl_cafile
    argTypes:
    - struct Curl_easy*
    - struct rustls_client_config_builder*
    - struct ssl_primary_config*
    - struct curl_blob*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 707
    functionDepth: 3
    functionLinenumber: 707
    functionLinenumberEnd: 787
    functionName: init_config_builder_verifier
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - init_config_builder_verifier_crl
    - rustls_failf
    - rustls_root_cert_store_builder_load_roots_from_file
    - rustls_root_cert_store_builder_free
    - rustls_web_pki_server_cert_verifier_builder_new
    - rustls_client_config_builder_set_server_verifier
    - rustls_root_cert_store_builder_build
    - rustls_root_cert_store_builder_new
    - rustls_web_pki_server_cert_verifier_builder_build
    - rustls_server_cert_verifier_free
    - rustls_root_cert_store_builder_add_pem
    - rustls_web_pki_server_cert_verifier_builder_free
    - rustls_root_cert_store_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_verifier(struct Curl_easy *data,\n                             struct
      rustls_client_config_builder *builder,\n                             const struct
      ssl_primary_config *conn_config,\n                             const struct
      curl_blob *ca_info_blob,\n                             const char * const ssl_cafile)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rustls_platform_server_cert_verifier
      Src: /src/curl/lib/vtls/rustls.c:798,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:800,1
    - Dst: rustls_client_config_builder_set_server_verifier
      Src: /src/curl/lib/vtls/rustls.c:805,1
    - Dst: rustls_server_cert_verifier_free
      Src: /src/curl/lib/vtls/rustls.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - data
    - builder
    argTypes:
    - struct Curl_easy*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 813
    functionName: init_config_builder_platform_verifier
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_server_cert_verifier_free
    - rustls_client_config_builder_set_server_verifier
    - rustls_platform_server_cert_verifier
    - rustls_failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_platform_verifier(\n  struct Curl_easy
      *data,\n  struct rustls_client_config_builder *builder)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_open
      Src: /src/curl/lib/vtls/rustls.c:821,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/curl/lib/vtls/rustls.c:822,1
    - Dst: rustls_client_config_builder_set_key_log
      Src: /src/curl/lib/vtls/rustls.c:826,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:830,1
    - Dst: Curl_tls_keylog_close
      Src: /src/curl/lib/vtls/rustls.c:831,1
    - Dst: map_error
      Src: /src/curl/lib/vtls/rustls.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - builder
    argTypes:
    - struct Curl_easy*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 836
    functionName: init_config_builder_keylog
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_open
    - rustls_failf
    - Curl_tls_keylog_close
    - map_error
    - Curl_tls_keylog_enabled
    - rustls_client_config_builder_set_key_log
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_keylog(struct Curl_easy *data,\n                           struct
      rustls_client_config_builder *builder)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:851,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:856,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/rustls.c:861,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/rustls.c:862,1
    - Dst: read_file_into
      Src: /src/curl/lib/vtls/rustls.c:864,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:865,1
    - Dst: read_file_into
      Src: /src/curl/lib/vtls/rustls.c:871,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:872,1
    - Dst: rustls_certified_key_build
      Src: /src/curl/lib/vtls/rustls.c:877,1
    - Dst: curlx_dyn_uptr
      Src: /src/curl/lib/vtls/rustls.c:877,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/rustls.c:878,1
    - Dst: curlx_dyn_uptr
      Src: /src/curl/lib/vtls/rustls.c:879,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/rustls.c:880,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:883,1
    - Dst: rustls_certified_key_keys_match
      Src: /src/curl/lib/vtls/rustls.c:888,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:890,1
    - Dst: rustls_client_config_builder_set_certified_key
      Src: /src/curl/lib/vtls/rustls.c:898,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:902,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/rustls.c:908,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/rustls.c:909,1
    - Dst: rustls_certified_key_free
      Src: /src/curl/lib/vtls/rustls.c:911,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - data
    - conn_config
    - ssl_config
    - builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct ssl_config_data*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 914
    functionName: init_config_builder_client_auth
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_uptr
    - failf
    - rustls_failf
    - rustls_client_config_builder_set_certified_key
    - read_file_into
    - curlx_dyn_free
    - curlx_dyn_init
    - rustls_certified_key_free
    - curlx_dyn_len
    - rustls_certified_key_keys_match
    - rustls_certified_key_build
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_client_auth(struct Curl_easy *data,\n
      \                               const struct ssl_primary_config *conn_config,\n
      \                               const struct ssl_config_data *ssl_config,\n
      \                               struct rustls_client_config_builder *builder)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rustls_supported_hpke
      Src: /src/curl/lib/vtls/rustls.c:922,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:931,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:939,1
    - Dst: rustls_client_config_builder_enable_ech_grease
      Src: /src/curl/lib/vtls/rustls.c:945,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:947,1
    - Dst: infof
      Src: /src/curl/lib/vtls/rustls.c:958,1
    - Dst: curlx_base64_decode
      Src: /src/curl/lib/vtls/rustls.c:963,1
    - Dst: infof
      Src: /src/curl/lib/vtls/rustls.c:965,1
    - Dst: Curl_dnscache_get
      Src: /src/curl/lib/vtls/rustls.c:972,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:976,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:982,1
    - Dst: rustls_client_config_builder_enable_ech
      Src: /src/curl/lib/vtls/rustls.c:990,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:995,1
    - Dst: free
      Src: /src/curl/lib/vtls/rustls.c:1002,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/vtls/rustls.c:1005,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 3
    argNames:
    - data
    - connssl
    - builder
    argTypes:
    - struct Curl_easy*
    - struct ssl_connect_data*
    - struct rustls_client_config_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 917
    functionDepth: 4
    functionLinenumber: 917
    functionLinenumberEnd: 1008
    functionName: init_config_builder_ech
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_client_config_builder_enable_ech_grease
    - failf
    - rustls_failf
    - curlx_base64_decode
    - free
    - rustls_supported_hpke
    - Curl_dnscache_get
    - infof
    - Curl_resolv_unlink
    - rustls_client_config_builder_enable_ech
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_config_builder_ech(struct Curl_easy *data,\n                        const
      struct ssl_connect_data *connssl,\n                        struct rustls_client_config_builder
      *builder)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/rustls.c:1017,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/rustls.c:1018,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1029,1
    - Dst: init_config_builder
      Src: /src/curl/lib/vtls/rustls.c:1032,1
    - Dst: init_config_builder_alpn
      Src: /src/curl/lib/vtls/rustls.c:1038,1
    - Dst: rustls_client_config_builder_dangerous_set_certificate_verifier
      Src: /src/curl/lib/vtls/rustls.c:1042,1
    - Dst: init_config_builder_platform_verifier
      Src: /src/curl/lib/vtls/rustls.c:1046,1
    - Dst: rustls_client_config_builder_free
      Src: /src/curl/lib/vtls/rustls.c:1048,1
    - Dst: init_config_builder_verifier
      Src: /src/curl/lib/vtls/rustls.c:1053,1
    - Dst: rustls_client_config_builder_free
      Src: /src/curl/lib/vtls/rustls.c:1059,1
    - Dst: init_config_builder_client_auth
      Src: /src/curl/lib/vtls/rustls.c:1065,1
    - Dst: rustls_client_config_builder_free
      Src: /src/curl/lib/vtls/rustls.c:1070,1
    - Dst: ECH_ENABLED
      Src: /src/curl/lib/vtls/rustls.c:1076,1
    - Dst: init_config_builder_ech
      Src: /src/curl/lib/vtls/rustls.c:1077,1
    - Dst: rustls_client_config_builder_free
      Src: /src/curl/lib/vtls/rustls.c:1079,1
    - Dst: init_config_builder_keylog
      Src: /src/curl/lib/vtls/rustls.c:1085,1
    - Dst: rustls_client_config_builder_free
      Src: /src/curl/lib/vtls/rustls.c:1087,1
    - Dst: rustls_client_config_builder_build
      Src: /src/curl/lib/vtls/rustls.c:1091,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:1095,1
    - Dst: rustls_client_config_builder_free
      Src: /src/curl/lib/vtls/rustls.c:1096,1
    - Dst: rustls_client_config_free
      Src: /src/curl/lib/vtls/rustls.c:1097,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1101,1
    - Dst: rustls_client_connection_new
      Src: /src/curl/lib/vtls/rustls.c:1102,1
    - Dst: rustls_failf
      Src: /src/curl/lib/vtls/rustls.c:1106,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1109,1
    - Dst: rustls_connection_set_userdata
      Src: /src/curl/lib/vtls/rustls.c:1110,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 3
    argNames:
    - cf
    - data
    - backend
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct rustls_ssl_backend_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1011
    functionDepth: 5
    functionLinenumber: 1011
    functionLinenumberEnd: 1114
    functionName: cr_init_backend
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - init_config_builder_keylog
    - ECH_ENABLED
    - rustls_client_connection_new
    - rustls_failf
    - init_config_builder_ech
    - rustls_client_config_builder_build
    - init_config_builder_client_auth
    - rustls_client_config_builder_dangerous_set_certificate_verifier
    - init_config_builder_verifier
    - init_config_builder_platform_verifier
    - init_config_builder
    - rustls_connection_set_userdata
    - rustls_client_config_builder_free
    - Curl_ssl_cf_get_primary_config
    - init_config_builder_alpn
    - Curl_ssl_cf_get_config
    - rustls_client_config_free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_init_backend(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                struct rustls_ssl_backend_data *const backend)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rustls_connection_get_alpn_protocol
      Src: /src/curl/lib/vtls/rustls.c:1124,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/rustls.c:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cf
    - data
    - rconn
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct rustls_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1126
    functionName: cr_set_negotiated_alpn
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - rustls_connection_get_alpn_protocol
    linkageType: ''
    returnType: void
    signature: "void cr_set_negotiated_alpn(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n  const struct rustls_connection *rconn)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1146,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:1148,1
    - Dst: cr_init_backend
      Src: /src/curl/lib/vtls/rustls.c:1152,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:1154,1
    - Dst: rustls_connection_is_handshaking
      Src: /src/curl/lib/vtls/rustls.c:1169,1
    - Dst: cr_set_negotiated_alpn
      Src: /src/curl/lib/vtls/rustls.c:1175,1
    - Dst: cr_send
      Src: /src/curl/lib/vtls/rustls.c:1176,1
    - Dst: rustls_connection_get_protocol_version
      Src: /src/curl/lib/vtls/rustls.c:1187,1
    - Dst: rustls_connection_get_negotiated_ciphersuite_name
      Src: /src/curl/lib/vtls/rustls.c:1189,1
    - Dst: rustls_connection_get_negotiated_key_exchange_group_name
      Src: /src/curl/lib/vtls/rustls.c:1191,1
    - Dst: infof
      Src: /src/curl/lib/vtls/rustls.c:1197,1
    - Dst: rustls_connection_get_peer_certificate
      Src: /src/curl/lib/vtls/rustls.c:1209,1
    - Dst: Curl_ssl_init_certinfo
      Src: /src/curl/lib/vtls/rustls.c:1212,1
    - Dst: rustls_connection_get_peer_certificate
      Src: /src/curl/lib/vtls/rustls.c:1220,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1221,1
    - Dst: rustls_certificate_get_der
      Src: /src/curl/lib/vtls/rustls.c:1222,1
    - Dst: rustls_error
      Src: /src/curl/lib/vtls/rustls.c:1226,1
    - Dst: failf
      Src: /src/curl/lib/vtls/rustls.c:1227,1
    - Dst: map_error
      Src: /src/curl/lib/vtls/rustls.c:1230,1
    - Dst: Curl_extract_certinfo
      Src: /src/curl/lib/vtls/rustls.c:1237,1
    - Dst: rustls_connection_wants_read
      Src: /src/curl/lib/vtls/rustls.c:1250,1
    - Dst: rustls_connection_wants_write
      Src: /src/curl/lib/vtls/rustls.c:1251,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1253,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:1257,1
    - Dst: cr_send
      Src: /src/curl/lib/vtls/rustls.c:1258,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:1260,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:1270,1
    - Dst: tls_recv_more
      Src: /src/curl/lib/vtls/rustls.c:1271,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:1273,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1289,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 92
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1133
    functionDepth: 9
    functionLinenumber: 1133
    functionLinenumberEnd: 1290
    functionName: cr_connect
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - tls_recv_more
    - rustls_certificate_get_der
    - rustls_connection_get_protocol_version
    - Curl_ssl_init_certinfo
    - failf
    - cr_send
    - rustls_connection_wants_read
    - rustls_connection_get_peer_certificate
    - CURL_TRC_CF
    - rustls_connection_wants_write
    - rustls_connection_get_negotiated_ciphersuite_name
    - cr_set_negotiated_alpn
    - DEBUGASSERT
    - map_error
    - cr_init_backend
    - Curl_extract_certinfo
    - rustls_connection_get_negotiated_key_exchange_group_name
    - rustls_error
    - infof
    - rustls_connection_is_handshaking
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_connect(struct Curl_cfilter *cf,\n           struct Curl_easy
      *data, bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1301
    functionName: cr_get_internals
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *\ncr_get_internals(struct ssl_connect_data *connssl,\n                 CURLINFO
      info)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1314,1
    - Dst: rustls_connection_send_close_notify
      Src: /src/curl/lib/vtls/rustls.c:1327,1
    - Dst: cr_send
      Src: /src/curl/lib/vtls/rustls.c:1331,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1338,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:1339,1
    - Dst: cr_recv
      Src: /src/curl/lib/vtls/rustls.c:1345,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1355,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/rustls.c:1356,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1303
    functionDepth: 3
    functionLinenumber: 1303
    functionLinenumberEnd: 1366
    functionName: cr_shutdown
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - cr_send
    - rustls_connection_send_close_notify
    - DEBUGASSERT
    - cr_recv
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cr_shutdown(struct Curl_cfilter *cf,\n            struct
      Curl_easy *data,\n            const bool send_shutdown, bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/rustls.c:1376,1
    - Dst: rustls_connection_free
      Src: /src/curl/lib/vtls/rustls.c:1378,1
    - Dst: rustls_client_config_free
      Src: /src/curl/lib/vtls/rustls.c:1382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1385
    functionName: cr_close
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - rustls_connection_free
    - rustls_client_config_free
    linkageType: ''
    returnType: void
    signature: void cr_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rustls_version
      Src: /src/curl/lib/vtls/rustls.c:1389,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/rustls.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1387
    functionDepth: 6
    functionLinenumber: 1387
    functionLinenumberEnd: 1391
    functionName: cr_version
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_version
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t cr_version(char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rustls_default_crypto_provider_random
      Src: /src/curl/lib/vtls/rustls.c:1399,1
    - Dst: map_error
      Src: /src/curl/lib/vtls/rustls.c:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1401
    functionName: cr_random
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - rustls_default_crypto_provider_random
    - map_error
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cr_random(struct Curl_easy *data, unsigned char *entropy,
      size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_close
      Src: /src/curl/lib/vtls/rustls.c:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1406
    functionName: cr_cleanup
    functionSourceFile: /src/curl/lib/vtls/rustls.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_close
    linkageType: ''
    returnType: void
    signature: void cr_cleanup(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/curl/lib/vtls/keylog.c:51,1
    - Dst: curlx_fopen
      Src: /src/curl/lib/vtls/keylog.c:53,1
    - Dst: setvbuf
      Src: /src/curl/lib/vtls/keylog.c:56,1
    - Dst: setvbuf
      Src: /src/curl/lib/vtls/keylog.c:58,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/vtls/keylog.c:61,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/keylog.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: Curl_tls_keylog_open
    functionSourceFile: /src/curl/lib/vtls/keylog.c
    functionUses: 3
    functionsReached:
    - Curl_safefree
    - curlx_fopen
    - curl_getenv
    - setvbuf
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void Curl_tls_keylog_open(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_fclose
      Src: /src/curl/lib/vtls/keylog.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: Curl_tls_keylog_close
    functionSourceFile: /src/curl/lib/vtls/keylog.c
    functionUses: 3
    functionsReached:
    - curlx_fclose
    linkageType: ''
    returnType: void
    signature: void Curl_tls_keylog_close(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: Curl_tls_keylog_enabled
    functionSourceFile: /src/curl/lib/vtls/keylog.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_tls_keylog_enabled(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/keylog.c:96,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/keylog.c:102,1
    - Dst: fputs
      Src: /src/curl/lib/vtls/keylog.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 112
    functionName: Curl_tls_keylog_write_line
    functionSourceFile: /src/curl/lib/vtls/keylog.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - fputs
    linkageType: ''
    returnType: bool
    signature: bool Curl_tls_keylog_write_line(const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/keylog.c:127,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/keylog.c:133,1
    - Dst: Curl_hexbyte
      Src: /src/curl/lib/vtls/keylog.c:138,1
    - Dst: Curl_hexbyte
      Src: /src/curl/lib/vtls/keylog.c:145,1
    - Dst: fputs
      Src: /src/curl/lib/vtls/keylog.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - label
    - client_random
    - secret
    - secretlen
    argTypes:
    - char*
    - unsigned char[]
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 155
    functionName: Curl_tls_keylog_write
    functionSourceFile: /src/curl/lib/vtls/keylog.c
    functionUses: 4
    functionsReached:
    - memcpy
    - strlen
    - Curl_hexbyte
    - fputs
    linkageType: ''
    returnType: bool
    signature: "bool Curl_tls_keylog_write(const char *label,\n                      const
      unsigned char client_random[CLIENT_RANDOM_SIZE],\n                      const
      unsigned char *secret, size_t secretlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: SCH_DEV
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_DEV(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: SCH_DEV_SHOWBOOL
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_DEV_SHOWBOOL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: SCH_DEV
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_DEV(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: SCH_DEV_SHOWBOOL
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_DEV_SHOWBOOL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buffer
    - BufType
    - BufDataPtr
    - BufByteSize
    argTypes:
    - SecBuffer*
    - unsigned long
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: InitSecBuffer
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InitSecBuffer(SecBuffer *buffer, unsigned long BufType,\n                          void
      *BufDataPtr, unsigned long BufByteSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - desc
    - BufArr
    - NumArrElem
    argTypes:
    - SecBufferDesc*
    - SecBuffer*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: InitSecBufferDesc
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InitSecBufferDesc(SecBufferDesc *desc, SecBuffer *BufArr,\n                              unsigned
      long NumArrElem)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/schannel.c:176,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel.c:189,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel.c:213,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - enabled_protocols
    - cf
    - data
    argTypes:
    - DWORD*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 225
    functionName: schannel_set_ssl_version_min_max
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - curlx_verify_windows_version
    - Curl_ssl_cf_get_primary_config
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_set_ssl_version_min_max(DWORD *enabled_protocols,\n
      \                                struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: CIPHEROPTION
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHEROPTION(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/curl/lib/vtls/schannel.c:345,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/schannel.c:346,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/schannel.c:350,1
    - Dst: strncmp
      Src: /src/curl/lib/vtls/schannel.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: get_alg_id_by_name
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strchr
    - strlen
    linkageType: ''
    returnType: int
    signature: int get_alg_id_by_name(const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_number
      Src: /src/curl/lib/vtls/schannel.c:366,1
    - Dst: get_alg_id_by_name
      Src: /src/curl/lib/vtls/schannel.c:367,1
    - Dst: strncmp
      Src: /src/curl/lib/vtls/schannel.c:371,1
    - Dst: strncmp
      Src: /src/curl/lib/vtls/schannel.c:373,1
    - Dst: strchr
      Src: /src/curl/lib/vtls/schannel.c:378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - schannel_cred
    - ciphers
    - algIds
    argTypes:
    - SCHANNEL_CRED*
    - char*
    - ALG_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 385
    functionName: set_ssl_ciphers
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - strncmp
    - curlx_str_number
    - strchr
    - get_alg_id_by_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode set_ssl_ciphers(SCHANNEL_CRED *schannel_cred, char *ciphers,\n
      \               ALG_ID *algIds)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _tcschr
      Src: /src/curl/lib/vtls/schannel.c:397,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:397,1
    - Dst: _tcsncmp
      Src: /src/curl/lib/vtls/schannel.c:403,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:403,1
    - Dst: _tcsncmp
      Src: /src/curl/lib/vtls/schannel.c:405,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:405,1
    - Dst: _tcsncmp
      Src: /src/curl/lib/vtls/schannel.c:407,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:407,1
    - Dst: _tcsncmp
      Src: /src/curl/lib/vtls/schannel.c:409,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:409,1
    - Dst: _tcsncmp
      Src: /src/curl/lib/vtls/schannel.c:411,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:411,1
    - Dst: _tcsncmp
      Src: /src/curl/lib/vtls/schannel.c:413,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:413,1
    - Dst: _tcsncmp
      Src: /src/curl/lib/vtls/schannel.c:416,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:416,1
    - Dst: _tcsncmp
      Src: /src/curl/lib/vtls/schannel.c:419,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:419,1
    - Dst: _tcschr
      Src: /src/curl/lib/vtls/schannel.c:427,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:427,1
    - Dst: _tcslen
      Src: /src/curl/lib/vtls/schannel.c:432,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:435,1
    - Dst: Curl_tcsdup
      Src: /src/curl/lib/vtls/schannel.c:436,1
    - Dst: TEXT
      Src: /src/curl/lib/vtls/schannel.c:437,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - path
    - store_name
    - store_path
    - thumbprint
    argTypes:
    - TCHAR*
    - DWORD*
    - TCHAR**
    - TCHAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 442
    functionName: get_cert_location
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - _tcsncmp
    - _tcschr
    - TEXT
    - _tcslen
    - Curl_tcsdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode get_cert_location(TCHAR *path, DWORD *store_name, TCHAR **store_path,\n
      \                 TCHAR **thumbprint)"
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/schannel.c:450,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/schannel.c:451,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:465,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:477,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:477,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:484,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:484,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:489,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:489,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:497,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:497,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:503,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:503,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:511,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:514,1
    - Dst: schannel_set_ssl_version_min_max
      Src: /src/curl/lib/vtls/schannel.c:524,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:531,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:534,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/vtls/schannel.c:557,1
    - Dst: get_cert_location
      Src: /src/curl/lib/vtls/schannel.c:562,1
    - Dst: curlx_fopen
      Src: /src/curl/lib/vtls/schannel.c:566,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:569,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel.c:572,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/schannel.c:578,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:579,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel.c:582,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel.c:597,1
    - Dst: fseek
      Src: /src/curl/lib/vtls/schannel.c:600,1
    - Dst: ftell
      Src: /src/curl/lib/vtls/schannel.c:602,1
    - Dst: fseek
      Src: /src/curl/lib/vtls/schannel.c:608,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/schannel.c:610,1
    - Dst: fread
      Src: /src/curl/lib/vtls/schannel.c:612,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/vtls/schannel.c:614,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:616,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:618,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/schannel.c:628,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/schannel.c:629,1
    - Dst: MultiByteToWideChar
      Src: /src/curl/lib/vtls/schannel.c:632,1
    - Dst: PFXImportCertStore
      Src: /src/curl/lib/vtls/schannel.c:644,1
    - Dst: PFXImportCertStore
      Src: /src/curl/lib/vtls/schannel.c:647,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:649,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:652,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel.c:654,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:656,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:660,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel.c:668,1
    - Dst: CertFindCertificateInStore
      Src: /src/curl/lib/vtls/schannel.c:674,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:679,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel.c:681,1
    - Dst: CertCloseStore
      Src: /src/curl/lib/vtls/schannel.c:682,1
    - Dst: curlx_convert_tchar_to_UTF8
      Src: /src/curl/lib/vtls/schannel.c:700,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:701,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/schannel.c:705,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:706,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel.c:707,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel.c:708,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:711,1
    - Dst: CryptStringToBinary
      Src: /src/curl/lib/vtls/schannel.c:716,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel.c:722,1
    - Dst: CertCloseStore
      Src: /src/curl/lib/vtls/schannel.c:723,1
    - Dst: CertFindCertificateInStore
      Src: /src/curl/lib/vtls/schannel.c:727,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel.c:731,1
    - Dst: CertCloseStore
      Src: /src/curl/lib/vtls/schannel.c:735,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:736,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/schannel.c:746,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:748,1
    - Dst: CertFreeCertificateContext
      Src: /src/curl/lib/vtls/schannel.c:751,1
    - Dst: CertCloseStore
      Src: /src/curl/lib/vtls/schannel.c:753,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel.c:768,1
    - Dst: memset
      Src: /src/curl/lib/vtls/schannel.c:775,1
    - Dst: AcquireCredentialsHandle
      Src: /src/curl/lib/vtls/schannel.c:796,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/schannel.c:797,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:814,1
    - Dst: set_ssl_ciphers
      Src: /src/curl/lib/vtls/schannel.c:818,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:820,1
    - Dst: AcquireCredentialsHandle
      Src: /src/curl/lib/vtls/schannel.c:834,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/schannel.c:835,1
    - Dst: CertFreeCertificateContext
      Src: /src/curl/lib/vtls/schannel.c:842,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:846,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:847,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel.c:848,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 219
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 445
    functionDepth: 7
    functionLinenumber: 445
    functionLinenumberEnd: 863
    functionName: schannel_acquire_credential_handle
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - get_cert_location
    - ftell
    - CURL_UNCONST
    - fread
    - set_ssl_ciphers
    - GetLastError
    - schannel_set_ssl_version_min_max
    - curlx_fclose
    - curlx_verify_windows_version
    - calloc
    - failf
    - DEBUGF
    - curl_strequal
    - CertFindCertificateInStore
    - curlx_convert_UTF8_to_tchar
    - curlx_fopen
    - fseek
    - curlx_convert_tchar_to_UTF8
    - curlx_unicodefree
    - AcquireCredentialsHandle
    - strlen
    - free
    - MultiByteToWideChar
    - CertCloseStore
    - CertFreeCertificateContext
    - Curl_sspi_strerror
    - Curl_ssl_cf_get_primary_config
    - PFXImportCertStore
    - Curl_ssl_cf_get_config
    - DEBUGASSERT
    - Curl_safefree
    - CryptStringToBinary
    - malloc
    - memset
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_acquire_credential_handle(struct Curl_cfilter *cf,\n
      \                                  struct Curl_easy *data)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/schannel.c:873,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/schannel.c:875,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:886,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:887,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:887,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel.c:891,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:895,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel.c:911,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:916,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/curl/lib/vtls/schannel.c:930,1
    - Dst: Curl_ssl_scache_get_obj
      Src: /src/curl/lib/vtls/schannel.c:931,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:934,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:934,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:938,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:938,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/curl/lib/vtls/schannel.c:942,1
    - Dst: schannel_acquire_credential_handle
      Src: /src/curl/lib/vtls/schannel.c:947,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/vtls/schannel.c:956,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:963,1
    - Dst: Curl_alpn_to_proto_buf
      Src: /src/curl/lib/vtls/schannel.c:992,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:994,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/schannel.c:997,1
    - Dst: curlx_uitous
      Src: /src/curl/lib/vtls/schannel.c:1000,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1004,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:1005,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/curl/lib/vtls/schannel.c:1007,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1008,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1011,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:1012,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1015,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:1016,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1020,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:1021,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/schannel.c:1034,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1036,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/vtls/schannel.c:1047,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel.c:1056,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1059,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:1060,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1063,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:1064,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1078,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:1079,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1084,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1084,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/vtls/schannel.c:1088,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vtls/schannel.c:1091,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1093,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1098,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1098,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 120
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 865
    functionDepth: 8
    functionLinenumber: 865
    functionLinenumberEnd: 1112
    functionName: schannel_connect_step1
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_to_proto_buf
    - InitSecBuffer
    - curlx_verify_windows_version
    - calloc
    - failf
    - DEBUGF
    - curlx_convert_UTF8_to_tchar
    - curlx_uitous
    - InitSecBufferDesc
    - InitializeSecurityContext
    - Curl_ssl_scache_get_obj
    - Curl_ssl_scache_unlock
    - schannel_acquire_credential_handle
    - memcpy
    - Curl_ssl_scache_lock
    - Curl_sspi_strerror
    - Curl_ssl_cf_get_primary_config
    - Curl_alpn_to_proto_str
    - Curl_ssl_cf_get_config
    - DEBUGASSERT
    - Curl_safefree
    - FreeContextBuffer
    - Curl_conn_cf_send
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode schannel_connect_step1(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/schannel.c:1120,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:1133,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1138,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1138,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/schannel.c:1149,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1151,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/schannel.c:1161,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1163,1
    - Dst: realloc
      Src: /src/curl/lib/vtls/schannel.c:1174,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1178,1
    - Dst: Curl_conn_cf_recv
      Src: /src/curl/lib/vtls/schannel.c:1190,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1199,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1199,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1204,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1204,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1209,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:1217,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1217,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:1221,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1221,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1226,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/schannel.c:1226,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vtls/schannel.c:1227,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1228,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:1229,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1232,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1233,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1234,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:1235,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1238,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/schannel.c:1243,1
    - Dst: SOCKET_WRITABLE
      Src: /src/curl/lib/vtls/schannel.c:1250,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/vtls/schannel.c:1250,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:1251,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1251,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:1253,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/vtls/schannel.c:1257,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel.c:1264,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1270,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1270,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1282,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1282,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1292,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1292,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/vtls/schannel.c:1296,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1300,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vtls/schannel.c:1308,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1316,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:1317,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1320,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:1321,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1324,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:1325,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1339,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:1340,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:1347,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1347,1
    - Dst: memmove
      Src: /src/curl/lib/vtls/schannel.c:1362,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1387,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1387,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/schannel.c:1391,1
    - Dst: schannel_pkp_pin_peer_pubkey
      Src: /src/curl/lib/vtls/schannel.c:1398,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1400,1
    - Dst: Curl_verify_certificate
      Src: /src/curl/lib/vtls/schannel.c:1407,1
    - Dst: Curl_verify_host
      Src: /src/curl/lib/vtls/schannel.c:1413,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 167
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1114
    functionDepth: 9
    functionLinenumber: 1114
    functionLinenumberEnd: 1416
    functionName: schannel_connect_step2
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - SOCKET_WRITABLE
    - Curl_conn_cf_recv
    - InitSecBuffer
    - realloc
    - SCH_DEV
    - Curl_conn_cf_get_socket
    - failf
    - DEBUGF
    - schannel_pkp_pin_peer_pubkey
    - InitSecBufferDesc
    - InitializeSecurityContext
    - memmove
    - curlx_uztoul
    - memcpy
    - free
    - Curl_sspi_strerror
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    - Curl_safefree
    - malloc
    - FreeContextBuffer
    - Curl_verify_certificate
    - Curl_conn_cf_send
    - Curl_verify_host
    - infof
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode schannel_connect_step2(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - cert_context
    argTypes:
    - CERT_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1425
    functionName: valid_cert_encoding
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_cert_encoding(const CERT_CONTEXT *cert_context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CertEnumCertificatesInStore
      Src: /src/curl/lib/vtls/schannel.c:1439,1
    - Dst: func
      Src: /src/curl/lib/vtls/schannel.c:1449,1
    - Dst: CertFreeCertificateContext
      Src: /src/curl/lib/vtls/schannel.c:1454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - context
    - func
    - arg
    argTypes:
    - CERT_CONTEXT*
    - Read_crt_func
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1455
    functionName: traverse_cert_store
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - CertEnumCertificatesInStore
    - CertFreeCertificateContext
    - func
    linkageType: ''
    returnType: void
    signature: "void traverse_cert_store(const CERT_CONTEXT *context, Read_crt_func
      func,\n                    void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_cert_encoding
      Src: /src/curl/lib/vtls/schannel.c:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ccert_context
    - reverse_order
    - certs_count
    argTypes:
    - CERT_CONTEXT*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1465
    functionName: cert_counter_callback
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - valid_cert_encoding
    linkageType: ''
    returnType: bool
    signature: "bool cert_counter_callback(const CERT_CONTEXT *ccert_context, bool
      reverse_order,\n                      void *certs_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_cert_encoding
      Src: /src/curl/lib/vtls/schannel.c:1481,1
    - Dst: Curl_extract_certinfo
      Src: /src/curl/lib/vtls/schannel.c:1486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ccert_context
    - reverse_order
    - raw_arg
    argTypes:
    - CERT_CONTEXT*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1475
    functionDepth: 9
    functionLinenumber: 1475
    functionLinenumberEnd: 1491
    functionName: add_cert_to_certinfo
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_extract_certinfo
    - valid_cert_encoding
    linkageType: ''
    returnType: bool
    signature: "bool add_cert_to_certinfo(const CERT_CONTEXT *ccert_context, bool
      reverse_order,\n                     void *raw_arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/vtls/schannel.c:1501,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vtls/schannel.c:1502,1
    - Dst: CertCloseStore
      Src: /src/curl/lib/vtls/schannel.c:1504,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel.c:1507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sessionid
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1510
    functionName: schannel_session_free
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - curlx_unicodefree
    - FreeCredentialsHandle
    - CertCloseStore
    linkageType: ''
    returnType: void
    signature: void schannel_session_free(void *sessionid)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/schannel.c:1518,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:1526,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:1527,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:1529,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1529,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1539,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1541,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1543,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1545,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1547,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/vtls/schannel.c:1554,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1559,1
    - Dst: strncmp
      Src: /src/curl/lib/vtls/schannel.c:1567,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1572,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/schannel.c:1575,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/schannel.c:1580,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/curl/lib/vtls/schannel.c:1587,1
    - Dst: Curl_ssl_scache_add_obj
      Src: /src/curl/lib/vtls/schannel.c:1590,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/curl/lib/vtls/schannel.c:1592,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/vtls/schannel.c:1600,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1605,1
    - Dst: traverse_cert_store
      Src: /src/curl/lib/vtls/schannel.c:1609,1
    - Dst: Curl_ssl_init_certinfo
      Src: /src/curl/lib/vtls/schannel.c:1611,1
    - Dst: traverse_cert_store
      Src: /src/curl/lib/vtls/schannel.c:1618,1
    - Dst: CertFreeCertificateContext
      Src: /src/curl/lib/vtls/schannel.c:1621,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1629
    functionName: schannel_connect_step3
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - failf
    - DEBUGF
    - traverse_cert_store
    - Curl_ssl_scache_unlock
    - Curl_ssl_init_certinfo
    - Curl_ssl_scache_add_obj
    - Curl_ssl_scache_lock
    - CertFreeCertificateContext
    - infof
    - strncmp
    - Curl_ssl_cf_get_config
    - QueryContextAttributes
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode schannel_connect_step3(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: schannel_connect_step1
      Src: /src/curl/lib/vtls/schannel.c:1647,1
    - Dst: schannel_connect_step2
      Src: /src/curl/lib/vtls/schannel.c:1653,1
    - Dst: schannel_connect_step3
      Src: /src/curl/lib/vtls/schannel.c:1659,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:1676,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1631
    functionDepth: 10
    functionLinenumber: 1631
    functionLinenumberEnd: 1685
    functionName: schannel_connect
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - schannel_connect_step1
    - schannel_connect_step3
    - DEBUGASSERT
    - schannel_connect_step2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_connect(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *done)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1710,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:1715,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1715,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:1717,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1717,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1719,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/vtls/schannel.c:1723,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1726,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1731,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:1732,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:1733,1
    - Dst: memset
      Src: /src/curl/lib/vtls/schannel.c:1736,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/schannel.c:1738,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vtls/schannel.c:1747,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/schannel.c:1747,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1749,1
    - Dst: schannel_connect
      Src: /src/curl/lib/vtls/schannel.c:1760,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:1777,1
    - Dst: SCH_DEV_SHOWBOOL
      Src: /src/curl/lib/vtls/schannel.c:1801,1
    - Dst: SCH_DEV_SHOWBOOL
      Src: /src/curl/lib/vtls/schannel.c:1802,1
    - Dst: SCH_DEV_SHOWBOOL
      Src: /src/curl/lib/vtls/schannel.c:1803,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/vtls/schannel.c:1809,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vtls/schannel.c:1814,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/schannel.c:1814,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1816,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/vtls/schannel.c:1823,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:1841,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1841,1
    - Dst: Curl_socket_check
      Src: /src/curl/lib/vtls/schannel.c:1847,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:1850,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1850,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:1857,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1857,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1864,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:1872,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1879,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:1881,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 105
    argCount: 3
    argNames:
    - cf
    - data
    - caller
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - enum schannel_renegotiate_caller_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1697
    functionDepth: 11
    functionLinenumber: 1697
    functionLinenumberEnd: 1884
    functionName: schannel_recv_renegotiate
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - SCH_DEV
    - Curl_conn_cf_get_socket
    - failf
    - Curl_timeleft
    - schannel_connect
    - curlx_now
    - SCH_DEV_SHOWBOOL
    - curlx_timediff
    - Curl_pgrsUpdate
    - memset
    - infof
    - Curl_socket_check
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_recv_renegotiate(struct Curl_cfilter *cf, struct
      Curl_easy *data,\n                          enum schannel_renegotiate_caller_t
      caller)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:1900,1
    - Dst: schannel_recv_renegotiate
      Src: /src/curl/lib/vtls/schannel.c:1904,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/vtls/schannel.c:1911,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/schannel.c:1928,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1934,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1936,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vtls/schannel.c:1937,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1938,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:1941,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:1942,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/schannel.c:1945,1
    - Dst: EncryptMessage
      Src: /src/curl/lib/vtls/schannel.c:1948,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/vtls/schannel.c:1977,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1980,1
    - Dst: SOCKET_WRITABLE
      Src: /src/curl/lib/vtls/schannel.c:1987,1
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/vtls/schannel.c:1987,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1990,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:1995,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/vtls/schannel.c:2002,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel.c:2021,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 1886
    functionDepth: 12
    functionLinenumber: 1886
    functionLinenumberEnd: 2029
    functionName: schannel_send
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    - Curl_safefree
    - malloc
    - Curl_timeleft
    - failf
    - SOCKET_WRITABLE
    - schannel_recv_renegotiate
    - curlx_uztoul
    - EncryptMessage
    - memcpy
    - Curl_conn_cf_send
    - InitSecBuffer
    - InitSecBufferDesc
    - DEBUGASSERT
    - QueryContextAttributes
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \             const void *buf, size_t len, size_t *pnwritten)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2050,1
    - Dst: schannel_recv_renegotiate
      Src: /src/curl/lib/vtls/schannel.c:2054,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2075,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2075,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2078,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2078,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2084,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2089,1
    - Dst: realloc
      Src: /src/curl/lib/vtls/schannel.c:2106,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2110,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2117,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2117,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2121,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2121,1
    - Dst: Curl_conn_cf_recv
      Src: /src/curl/lib/vtls/schannel.c:2126,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2132,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2132,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2134,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2136,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:2140,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2140,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2145,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2145,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2149,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2149,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:2157,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vtls/schannel.c:2158,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:2161,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:2162,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:2163,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:2164,1
    - Dst: DecryptMessage
      Src: /src/curl/lib/vtls/schannel.c:2168,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2178,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2178,1
    - Dst: realloc
      Src: /src/curl/lib/vtls/schannel.c:2192,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2196,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/schannel.c:2206,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2211,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2211,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2212,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2212,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2219,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2219,1
    - Dst: memmove
      Src: /src/curl/lib/vtls/schannel.c:2228,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2234,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2234,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2245,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2247,1
    - Dst: schannel_recv_renegotiate
      Src: /src/curl/lib/vtls/schannel.c:2252,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2272,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2281,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2281,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2287,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:2288,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2295,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2295,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2298,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2298,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2303,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2303,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2314,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/schannel.c:2323,1
    - Dst: memmove
      Src: /src/curl/lib/vtls/schannel.c:2324,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2327,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2327,1
    - Dst: SCH_DEV
      Src: /src/curl/lib/vtls/schannel.c:2328,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2328,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 173
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2031
    functionDepth: 12
    functionLinenumber: 2031
    functionLinenumberEnd: 2346
    functionName: schannel_recv
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - SCH_DEV
    - memmove
    - failf
    - DEBUGF
    - Curl_conn_cf_recv
    - realloc
    - DecryptMessage
    - schannel_recv_renegotiate
    - curlx_uztoul
    - memcpy
    - InitSecBuffer
    - InitSecBufferDesc
    - Curl_sspi_strerror
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \             char *buf, size_t len, size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2348
    functionDepth: 1
    functionLinenumber: 2348
    functionLinenumberEnd: 2366
    functionName: schannel_data_pending
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: bool
    signature: "bool schannel_data_pending(struct Curl_cfilter *cf,\n                                  const
      struct Curl_easy *data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2388,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2389,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2396,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:2413,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:2414,1
    - Dst: ApplyControlToken
      Src: /src/curl/lib/vtls/schannel.c:2416,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2421,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:2422,1
    - Dst: InitSecBuffer
      Src: /src/curl/lib/vtls/schannel.c:2428,1
    - Dst: InitSecBufferDesc
      Src: /src/curl/lib/vtls/schannel.c:2429,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/vtls/schannel.c:2431,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/vtls/schannel.c:2448,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vtls/schannel.c:2451,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2455,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/vtls/schannel.c:2456,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2470,1
    - Dst: schannel_recv
      Src: /src/curl/lib/vtls/schannel.c:2488,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/schannel.c:2493,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2371
    functionDepth: 13
    functionLinenumber: 2371
    functionLinenumberEnd: 2509
    functionName: schannel_shutdown
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - ApplyControlToken
    - failf
    - curl_easy_strerror
    - FreeContextBuffer
    - CURL_TRC_CF
    - Curl_conn_cf_send
    - InitSecBuffer
    - InitSecBufferDesc
    - InitializeSecurityContext
    - Curl_sspi_strerror
    - infof
    - schannel_recv
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_shutdown(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  bool send_shutdown, bool
      *done)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2517,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2518,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vtls/schannel.c:2522,1
    - Dst: infof
      Src: /src/curl/lib/vtls/schannel.c:2522,1
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/vtls/schannel.c:2523,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel.c:2524,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/curl/lib/vtls/schannel.c:2529,1
    - Dst: schannel_session_free
      Src: /src/curl/lib/vtls/schannel.c:2530,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/curl/lib/vtls/schannel.c:2531,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel.c:2537,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/schannel.c:2545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2511
    functionDepth: 2
    functionLinenumber: 2511
    functionLinenumberEnd: 2549
    functionName: schannel_close
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - schannel_session_free
    - DEBUGF
    - Curl_ssl_scache_unlock
    - Curl_ssl_scache_lock
    - infof
    - DeleteSecurityContext
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void schannel_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURLX_FUNCTION_CAST
      Src: /src/curl/lib/vtls/schannel.c:2560,1
    - Dst: GetProcAddress
      Src: /src/curl/lib/vtls/schannel.c:2561,1
    - Dst: GetModuleHandleA
      Src: /src/curl/lib/vtls/schannel.c:2561,1
    - Dst: p_wine_get_version
      Src: /src/curl/lib/vtls/schannel.c:2567,1
    - Dst: atoi
      Src: /src/curl/lib/vtls/schannel.c:2569,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/vtls/schannel.c:2573,1
    - Dst: Curl_sspi_global_init
      Src: /src/curl/lib/vtls/schannel.c:2578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2551
    functionDepth: 1
    functionLinenumber: 2551
    functionLinenumberEnd: 2579
    functionName: schannel_init
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - curlx_verify_windows_version
    - GetModuleHandleA
    - GetProcAddress
    - CURLX_FUNCTION_CAST
    - Curl_sspi_global_init
    - p_wine_get_version
    - atoi
    linkageType: ''
    returnType: int
    signature: int schannel_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_sspi_global_cleanup
      Src: /src/curl/lib/vtls/schannel.c:2583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2581
    functionDepth: 1
    functionLinenumber: 2581
    functionLinenumberEnd: 2584
    functionName: schannel_cleanup
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_sspi_global_cleanup
    linkageType: ''
    returnType: void
    signature: void schannel_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/schannel.c:2588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2586
    functionDepth: 6
    functionLinenumber: 2586
    functionLinenumberEnd: 2589
    functionName: schannel_version
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t schannel_version(char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_win32_random
      Src: /src/curl/lib/vtls/schannel.c:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2597
    functionName: schannel_random
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - Curl_win32_random
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_random(struct Curl_easy *data,\n                                unsigned
      char *entropy, size_t length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2611,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/vtls/schannel.c:2625,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2631,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vtls/schannel.c:2632,1
    - Dst: memset
      Src: /src/curl/lib/vtls/schannel.c:2643,1
    - Dst: Curl_parseX509
      Src: /src/curl/lib/vtls/schannel.c:2644,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2649,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/curl/lib/vtls/schannel.c:2653,1
    - Dst: failf
      Src: /src/curl/lib/vtls/schannel.c:2658,1
    - Dst: CertFreeCertificateContext
      Src: /src/curl/lib/vtls/schannel.c:2663,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - cf
    - data
    - pinnedpubkey
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2599
    functionDepth: 7
    functionLinenumber: 2599
    functionLinenumberEnd: 2666
    functionName: schannel_pkp_pin_peer_pubkey
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 1
    functionsReached:
    - Curl_parseX509
    - failf
    - Curl_sspi_strerror
    - Curl_pin_peer_pubkey
    - CertFreeCertificateContext
    - memset
    - DEBUGASSERT
    - QueryContextAttributes
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_pkp_pin_peer_pubkey(struct Curl_cfilter *cf,\n                                             struct
      Curl_easy *data,\n                                             const char *pinnedpubkey)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/vtls/schannel.c:2684,1
    - Dst: CryptAcquireContext
      Src: /src/curl/lib/vtls/schannel.c:2686,1
    - Dst: CryptCreateHash
      Src: /src/curl/lib/vtls/schannel.c:2691,1
    - Dst: CryptHashData
      Src: /src/curl/lib/vtls/schannel.c:2696,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/schannel.c:2696,1
    - Dst: CryptHashData
      Src: /src/curl/lib/vtls/schannel.c:2698,1
    - Dst: CryptGetHashParam
      Src: /src/curl/lib/vtls/schannel.c:2703,1
    - Dst: CryptGetHashParam
      Src: /src/curl/lib/vtls/schannel.c:2711,1
    - Dst: CryptDestroyHash
      Src: /src/curl/lib/vtls/schannel.c:2716,1
    - Dst: CryptReleaseContext
      Src: /src/curl/lib/vtls/schannel.c:2719,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 6
    argNames:
    - input
    - inputlen
    - checksum
    - checksumlen
    - provType
    - algId
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - DWORD
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2668
    functionDepth: 1
    functionLinenumber: 2668
    functionLinenumberEnd: 2720
    functionName: schannel_checksum
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - CryptReleaseContext
    - CryptCreateHash
    - CryptDestroyHash
    - CURL_UNCONST
    - CryptHashData
    - memset
    - CryptGetHashParam
    - CryptAcquireContext
    linkageType: ''
    returnType: void
    signature: "void schannel_checksum(const unsigned char *input,\n                              size_t
      inputlen,\n                              unsigned char *checksum,\n                              size_t
      checksumlen,\n                              DWORD provType,\n                              const
      unsigned int algId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schannel_checksum
      Src: /src/curl/lib/vtls/schannel.c:2727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - input
    - inputlen
    - sha256sum
    - sha256len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2722
    functionDepth: 2
    functionLinenumber: 2722
    functionLinenumberEnd: 2730
    functionName: schannel_sha256sum
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - schannel_checksum
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode schannel_sha256sum(const unsigned char *input,\n                                   size_t
      inputlen,\n                                   unsigned char *sha256sum,\n                                   size_t
      sha256len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2732
    functionDepth: 1
    functionLinenumber: 2732
    functionLinenumberEnd: 2740
    functionName: schannel_get_internals
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *schannel_get_internals(struct ssl_connect_data *connssl,\n                                    CURLINFO
      info)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/schannel.c:2745,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2755,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/vtls/schannel.c:2761,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/schannel.c:2762,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/schannel.c:2778,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vtls/schannel.c:2779,1
    - Dst: schannel_sha256sum
      Src: /src/curl/lib/vtls/schannel.c:2789,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/schannel.c:2793,1
    - Dst: strcmp
      Src: /src/curl/lib/vtls/schannel.c:2800,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2742
    functionDepth: 3
    functionLinenumber: 2742
    functionLinenumberEnd: 2806
    functionName: Curl_schannel_get_cached_cert_store
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 1
    functionsReached:
    - schannel_sha256sum
    - curlx_now
    - CURL_UNCONST
    - curlx_timediff
    - strcmp
    - memcmp
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    - Curl_hash_pick
    linkageType: ''
    returnType: HCERTSTORE
    signature: "HCERTSTORE Curl_schannel_get_cached_cert_store(struct Curl_cfilter
      *cf,\n                                               const struct Curl_easy
      *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2811,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2812,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/schannel.c:2812,1
    - Dst: CertCloseStore
      Src: /src/curl/lib/vtls/schannel.c:2816,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:2818,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:2819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2808
    functionDepth: 1
    functionLinenumber: 2808
    functionLinenumberEnd: 2820
    functionName: schannel_cert_share_free
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 0
    functionsReached:
    - free
    - CertCloseStore
    - DEBUGASSERT
    - memcmp
    linkageType: ''
    returnType: void
    signature: void schannel_cert_share_free(void *key, size_t key_len, void *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/schannel.c:2826,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/schannel.c:2833,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/vtls/schannel.c:2839,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/schannel.c:2840,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/schannel.c:2843,1
    - Dst: Curl_hash_add2
      Src: /src/curl/lib/vtls/schannel.c:2847,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/schannel.c:2848,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:2851,1
    - Dst: schannel_sha256sum
      Src: /src/curl/lib/vtls/schannel.c:2857,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/schannel.c:2865,1
    - Dst: CertCloseStore
      Src: /src/curl/lib/vtls/schannel.c:2874,1
    - Dst: free
      Src: /src/curl/lib/vtls/schannel.c:2876,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/schannel.c:2878,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - cf
    - data
    - cert_store
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - HCERTSTORE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2883
      start: 2822
    functionDepth: 3
    functionLinenumber: 2822
    functionLinenumberEnd: 2883
    functionName: Curl_schannel_set_cached_cert_store
    functionSourceFile: /src/curl/lib/vtls/schannel.c
    functionUses: 1
    functionsReached:
    - calloc
    - schannel_sha256sum
    - strdup
    - curlx_now
    - CURL_UNCONST
    - free
    - Curl_hash_add2
    - CertCloseStore
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    - Curl_hash_pick
    linkageType: ''
    returnType: bool
    signature: "bool Curl_schannel_set_cached_cert_store(struct Curl_cfilter *cf,\n
      \                                        const struct Curl_easy *data,\n                                         HCERTSTORE
      cert_store)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: GOOD_SCACHE
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOD_SCACHE(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SCACHE
      Src: /src/curl/lib/vtls/vtls_scache.c:95,1
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls_scache.c:96,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: cf_ssl_scache_get
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - GOOD_SCACHE
    - failf
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_ssl_scache
    signature: struct Curl_ssl_scache *cf_ssl_scache_get(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:108,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/vtls_scache.c:108,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:109,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/vtls_scache.c:109,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:110,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - udata
    - obj
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: cf_ssl_scache_session_ldestroy
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - free
    - CURL_UNCONST
    linkageType: ''
    returnType: void
    signature: void cf_ssl_scache_session_ldestroy(void *udata, void *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_session_create2
      Src: /src/curl/lib/vtls/vtls_scache.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - sdata
    - sdata_len
    - ietf_tls_id
    - alpn
    - valid_until
    - earlydata_max
    - psession
    argTypes:
    - void*
    - size_t
    - int
    - char*
    - curl_off_t
    - size_t
    - struct Curl_ssl_session**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: Curl_ssl_session_create
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_session_create2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_create(void *sdata, size_t sdata_len,\n
      \                       int ietf_tls_id, const char *alpn,\n                        curl_off_t
      valid_until, size_t earlydata_max,\n                        struct Curl_ssl_session
      **psession)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:135,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/vtls_scache.c:140,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:142,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:143,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/vtls_scache.c:155,1
    - Dst: cf_ssl_scache_session_ldestroy
      Src: /src/curl/lib/vtls/vtls_scache.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 9
    argNames:
    - sdata
    - sdata_len
    - ietf_tls_id
    - alpn
    - valid_until
    - earlydata_max
    - quic_tp
    - quic_tp_len
    - psession
    argTypes:
    - void*
    - size_t
    - int
    - char*
    - curl_off_t
    - size_t
    - unsigned char*
    - size_t
    - struct Curl_ssl_session**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 163
    functionName: Curl_ssl_session_create2
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 3
    functionsReached:
    - free
    - calloc
    - cf_ssl_scache_session_ldestroy
    - strdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_create2(void *sdata, size_t sdata_len,\n
      \                        int ietf_tls_id, const char *alpn,\n                         curl_off_t
      valid_until, size_t earlydata_max,\n                         unsigned char *quic_tp,
      size_t quic_tp_len,\n                         struct Curl_ssl_session **psession)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_node_llist
      Src: /src/curl/lib/vtls/vtls_scache.c:169,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/vtls/vtls_scache.c:170,1
    - Dst: cf_ssl_scache_session_ldestroy
      Src: /src/curl/lib/vtls/vtls_scache.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: Curl_ssl_session_destroy
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - Curl_node_llist
    - cf_ssl_scache_session_ldestroy
    - Curl_node_remove
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_session_destroy(struct Curl_ssl_session *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_destroy
      Src: /src/curl/lib/vtls/vtls_scache.c:179,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:181,1
    - Dst: struct Curl_ssl_scache_peer*::sobj_free
      Src: /src/curl/lib/vtls/vtls_scache.c:183,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls_scache.c:187,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls_scache.c:189,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls_scache.c:190,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls_scache.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct Curl_ssl_scache_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: cf_ssl_scache_clear_peer
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - Curl_llist_destroy
    - DEBUGASSERT
    - struct Curl_ssl_scache_peer*::sobj_free
    linkageType: ''
    returnType: void
    signature: void cf_ssl_scache_clear_peer(struct Curl_ssl_scache_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:201,1
    - Dst: struct Curl_ssl_scache_peer*::sobj_free
      Src: /src/curl/lib/vtls/vtls_scache.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - peer
    - sobj
    - sobj_free
    argTypes:
    - struct Curl_ssl_scache_peer*
    - void*
    - Curl_ssl_scache_obj_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: cf_ssl_scache_peer_set_obj
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - struct Curl_ssl_scache_peer*::sobj_free
    linkageType: ''
    returnType: void
    signature: "void cf_ssl_scache_peer_set_obj(struct Curl_ssl_scache_peer *peer,\n
      \                                      void *sobj,\n                                       Curl_ssl_scache_obj_dtor
      *sobj_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_peer_key_is_global
      Src: /src/curl/lib/vtls/vtls_scache.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct Curl_ssl_scache_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: cf_ssl_cache_peer_update
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - cf_ssl_peer_key_is_global
    linkageType: ''
    returnType: void
    signature: void cf_ssl_cache_peer_update(struct Curl_ssl_scache_peer *peer)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:233,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/vtls_scache.c:235,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls_scache.c:241,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls_scache.c:242,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/vtls_scache.c:250,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/vtls_scache.c:255,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/vtls_scache.c:260,1
    - Dst: cf_ssl_cache_peer_update
      Src: /src/curl/lib/vtls/vtls_scache.c:265,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:269,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 7
    argNames:
    - peer
    - ssl_peer_key
    - clientcert
    - srp_username
    - srp_password
    - salt
    - hmac
    argTypes:
    - struct Curl_ssl_scache_peer*
    - char*
    - char*
    - char*
    - char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 222
    functionDepth: 5
    functionLinenumber: 222
    functionLinenumberEnd: 271
    functionName: cf_ssl_scache_peer_init
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - strdup
    - cf_ssl_cache_peer_update
    - memcpy
    - cf_ssl_scache_clear_peer
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_scache_peer_init(struct Curl_ssl_scache_peer *peer,\n
      \                       const char *ssl_peer_key,\n                        const
      char *clientcert,\n                        const char *srp_username,\n                        const
      char *srp_password,\n                        const unsigned char *salt,\n                        const
      unsigned char *hmac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:277,1
    - Dst: Curl_node_llist
      Src: /src/curl/lib/vtls/vtls_scache.c:277,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/curl/lib/vtls/vtls_scache.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - peer
    - s
    argTypes:
    - struct Curl_ssl_scache_peer*
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: cf_scache_session_remove
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_node_llist
    - Curl_ssl_session_destroy
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void cf_scache_session_remove(struct Curl_ssl_scache_peer *peer,\n
      \                                    struct Curl_ssl_session *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - now
    argTypes:
    - struct Curl_ssl_session*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: cf_scache_session_expired
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool cf_scache_session_expired(struct Curl_ssl_session *s,\n                                      curl_off_t
      now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/vtls/vtls_scache.c:290,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/vtls/vtls_scache.c:292,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/vtls/vtls_scache.c:293,1
    - Dst: cf_scache_session_expired
      Src: /src/curl/lib/vtls/vtls_scache.c:294,1
    - Dst: cf_scache_session_remove
      Src: /src/curl/lib/vtls/vtls_scache.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - now
    argTypes:
    - struct Curl_ssl_scache_peer*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 6
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: cf_scache_peer_remove_expired
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_node_elem
    - cf_scache_session_remove
    - Curl_node_next
    - cf_scache_session_expired
    - Curl_llist_head
    linkageType: ''
    returnType: void
    signature: "void cf_scache_peer_remove_expired(struct Curl_ssl_scache_peer *peer,\n
      \                                         curl_off_t now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_head
      Src: /src/curl/lib/vtls/vtls_scache.c:301,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/vtls/vtls_scache.c:303,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/vtls/vtls_scache.c:304,1
    - Dst: cf_scache_session_remove
      Src: /src/curl/lib/vtls/vtls_scache.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct Curl_ssl_scache_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: cf_scache_peer_remove_non13
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_node_elem
    - cf_scache_session_remove
    - Curl_llist_head
    - Curl_node_next
    linkageType: ''
    returnType: void
    signature: void cf_scache_peer_remove_non13(struct Curl_ssl_scache_peer *peer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/vtls/vtls_scache.c:319,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/vtls_scache.c:323,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:325,1
    - Dst: Curl_llist_init
      Src: /src/curl/lib/vtls/vtls_scache.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - max_peers
    - max_sessions_per_peer
    - pscache
    argTypes:
    - size_t
    - size_t
    - struct Curl_ssl_scache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 342
    functionName: Curl_ssl_scache_create
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - free
    - calloc
    - Curl_llist_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_scache_create(size_t max_peers,\n                                size_t
      max_sessions_per_peer,\n                                struct Curl_ssl_scache
      **pscache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SCACHE
      Src: /src/curl/lib/vtls/vtls_scache.c:346,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:350,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:352,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls_scache.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - scache
    argTypes:
    - struct Curl_ssl_scache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 5
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: Curl_ssl_scache_destroy
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 4
    functionsReached:
    - GOOD_SCACHE
    - free
    - cf_ssl_scache_clear_peer
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_scache_destroy(struct Curl_ssl_scache *scache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SHARE_ssl_scache
      Src: /src/curl/lib/vtls/vtls_scache.c:360,1
    - Dst: Curl_share_lock
      Src: /src/curl/lib/vtls/vtls_scache.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: Curl_ssl_scache_lock
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 3
    functionsReached:
    - Curl_share_lock
    - CURL_SHARE_ssl_scache
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_scache_lock(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_SHARE_ssl_scache
      Src: /src/curl/lib/vtls/vtls_scache.c:367,1
    - Dst: Curl_share_unlock
      Src: /src/curl/lib/vtls/vtls_scache.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: Curl_ssl_scache_unlock
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 3
    functionsReached:
    - CURL_SHARE_ssl_scache
    - Curl_share_unlock
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_scache_unlock(struct Curl_easy *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:383,1
    - Dst: _fullpath
      Src: /src/curl/lib/vtls/vtls_scache.c:386,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:387,1
    - Dst: realpath
      Src: /src/curl/lib/vtls/vtls_scache.c:391,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:393,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - buf
    - name
    - path
    - is_local
    argTypes:
    - struct dynbuf*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 403
    functionName: cf_ssl_peer_key_add_path
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - _fullpath
    - curlx_dyn_addf
    - realpath
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_peer_key_add_path(struct dynbuf *buf,\n                                         const
      char *name,\n                                         const char *path,\n                                         bool
      *is_local)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:414,1
    - Dst: Curl_sha256it
      Src: /src/curl/lib/vtls/vtls_scache.c:417,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - name
    - blob
    argTypes:
    - struct dynbuf*
    - char*
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 428
    functionName: cf_ssl_peer_key_add_hash
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_sha256it
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_peer_key_add_hash(struct dynbuf *buf,\n                                         const
      char *name,\n                                         struct curl_blob *blob)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls_scache.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - peer_key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: cf_ssl_peer_key_is_global
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool cf_ssl_peer_key_is_global(const char *peer_key)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/vtls_scache.c:446,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/vtls_scache.c:453,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:455,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/vtls_scache.c:463,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/vtls_scache.c:466,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/vtls_scache.c:469,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:472,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/vtls_scache.c:479,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/vtls_scache.c:484,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/vtls_scache.c:489,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:495,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:500,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:507,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:513,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:518,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:523,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:528,1
    - Dst: cf_ssl_peer_key_add_path
      Src: /src/curl/lib/vtls/vtls_scache.c:533,1
    - Dst: cf_ssl_peer_key_add_path
      Src: /src/curl/lib/vtls/vtls_scache.c:536,1
    - Dst: cf_ssl_peer_key_add_path
      Src: /src/curl/lib/vtls/vtls_scache.c:539,1
    - Dst: cf_ssl_peer_key_add_path
      Src: /src/curl/lib/vtls/vtls_scache.c:542,1
    - Dst: cf_ssl_peer_key_add_hash
      Src: /src/curl/lib/vtls/vtls_scache.c:546,1
    - Dst: cf_ssl_peer_key_add_hash
      Src: /src/curl/lib/vtls/vtls_scache.c:551,1
    - Dst: cf_ssl_peer_key_add_hash
      Src: /src/curl/lib/vtls/vtls_scache.c:556,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:562,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/vtls_scache.c:568,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/vtls_scache.c:574,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:584,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vtls/vtls_scache.c:588,1
    - Dst: curlx_dyn_take
      Src: /src/curl/lib/vtls/vtls_scache.c:593,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/vtls_scache.c:598,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 160
    argCount: 4
    argNames:
    - cf
    - peer
    - tls_id
    - ppeer_key
    argTypes:
    - struct Curl_cfilter*
    - struct ssl_peer*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 441
    functionDepth: 3
    functionLinenumber: 441
    functionLinenumberEnd: 600
    functionName: Curl_ssl_peer_key_make
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - cf_ssl_peer_key_add_hash
    - cf_ssl_peer_key_add_path
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_take
    - Curl_ssl_cf_get_primary_config
    - curlx_dyn_addf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_peer_key_make(struct Curl_cfilter *cf,\n                                const
      struct ssl_peer *peer,\n                                const char *tls_id,\n
      \                               char **ppeer_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safecmp
      Src: /src/curl/lib/vtls/vtls_scache.c:614,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/vtls/vtls_scache.c:617,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/vtls/vtls_scache.c:618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - peer
    - conn_config
    argTypes:
    - struct Curl_ssl_scache_peer*
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 622
    functionName: cf_ssl_scache_match_auth
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_safecmp
    - Curl_timestrcmp
    linkageType: ''
    returnType: bool
    signature: "bool cf_ssl_scache_match_auth(struct Curl_ssl_scache_peer *peer,\n
      \                                    struct ssl_primary_config *conn_config)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SCACHE
      Src: /src/curl/lib/vtls/vtls_scache.c:635,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:639,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls_scache.c:645,1
    - Dst: cf_ssl_scache_match_auth
      Src: /src/curl/lib/vtls/vtls_scache.c:646,1
    - Dst: cf_ssl_scache_match_auth
      Src: /src/curl/lib/vtls/vtls_scache.c:656,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls_scache.c:660,1
    - Dst: Curl_hmacit
      Src: /src/curl/lib/vtls/vtls_scache.c:661,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls_scache.c:669,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:671,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/vtls_scache.c:673,1
    - Dst: cf_ssl_cache_peer_update
      Src: /src/curl/lib/vtls/vtls_scache.c:678,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:684,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 5
    argNames:
    - data
    - scache
    - ssl_peer_key
    - conn_config
    - ppeer
    argTypes:
    - struct Curl_easy*
    - struct Curl_ssl_scache*
    - char*
    - struct ssl_primary_config*
    - struct Curl_ssl_scache_peer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 687
    functionName: cf_ssl_find_peer_by_key
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - GOOD_SCACHE
    - strlen
    - curl_strequal
    - strdup
    - cf_ssl_cache_peer_update
    - cf_ssl_scache_match_auth
    - CURL_TRC_SSLS
    - memcmp
    - Curl_hmacit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_find_peer_by_key(struct Curl_easy *data,\n                        struct
      Curl_ssl_scache *scache,\n                        const char *ssl_peer_key,\n
      \                       struct ssl_primary_config *conn_config,\n                        struct
      Curl_ssl_scache_peer **ppeer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_count
      Src: /src/curl/lib/vtls/vtls_scache.c:704,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:713,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:715,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - scache
    argTypes:
    - struct Curl_ssl_scache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 689
    functionDepth: 5
    functionLinenumber: 689
    functionLinenumberEnd: 717
    functionName: cf_ssl_get_free_peer
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - cf_ssl_scache_clear_peer
    - Curl_llist_count
    - DEBUGASSERT
    linkageType: ''
    returnType: struct Curl_ssl_scache_peer
    signature: 'struct Curl_ssl_scache_peer *

      cf_ssl_get_free_peer(struct Curl_ssl_scache *scache)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_find_peer_by_key
      Src: /src/curl/lib/vtls/vtls_scache.c:731,1
    - Dst: cf_ssl_get_free_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:742,1
    - Dst: cf_ssl_scache_peer_init
      Src: /src/curl/lib/vtls/vtls_scache.c:750,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:761,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - data
    - scache
    - ssl_peer_key
    - conn_config
    - ppeer
    argTypes:
    - struct Curl_easy*
    - struct Curl_ssl_scache*
    - char*
    - struct ssl_primary_config*
    - struct Curl_ssl_scache_peer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 719
    functionDepth: 6
    functionLinenumber: 719
    functionLinenumberEnd: 764
    functionName: cf_ssl_add_peer
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - cf_ssl_scache_clear_peer
    - cf_ssl_get_free_peer
    - cf_ssl_scache_peer_init
    - cf_ssl_find_peer_by_key
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_add_peer(struct Curl_easy *data,\n                struct
      Curl_ssl_scache *scache,\n                const char *ssl_peer_key,\n                struct
      ssl_primary_config *conn_config,\n                struct Curl_ssl_scache_peer
      **ppeer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_llist_destroy
      Src: /src/curl/lib/vtls/vtls_scache.c:772,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/vtls/vtls_scache.c:773,1
    - Dst: cf_scache_peer_remove_expired
      Src: /src/curl/lib/vtls/vtls_scache.c:777,1
    - Dst: cf_scache_peer_remove_non13
      Src: /src/curl/lib/vtls/vtls_scache.c:778,1
    - Dst: Curl_llist_append
      Src: /src/curl/lib/vtls/vtls_scache.c:779,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/vtls/vtls_scache.c:780,1
    - Dst: Curl_node_remove
      Src: /src/curl/lib/vtls/vtls_scache.c:781,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/vtls/vtls_scache.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - peer
    - s
    - now
    argTypes:
    - struct Curl_ssl_scache_peer*
    - struct Curl_ssl_session*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 766
    functionDepth: 7
    functionLinenumber: 766
    functionLinenumberEnd: 784
    functionName: cf_scache_peer_add_session
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_llist_head
    - Curl_llist_destroy
    - Curl_llist_append
    - cf_scache_peer_remove_expired
    - Curl_llist_count
    - Curl_node_remove
    - cf_scache_peer_remove_non13
    linkageType: ''
    returnType: void
    signature: "void cf_scache_peer_add_session(struct Curl_ssl_scache_peer *peer,\n
      \                                      struct Curl_ssl_session *s,\n                                       curl_off_t
      now)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/vtls_scache.c:793,1
    - Dst: time
      Src: /src/curl/lib/vtls/vtls_scache.c:795,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/curl/lib/vtls/vtls_scache.c:799,1
    - Dst: cf_scache_session_expired
      Src: /src/curl/lib/vtls/vtls_scache.c:812,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:813,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/curl/lib/vtls/vtls_scache.c:814,1
    - Dst: cf_ssl_add_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:818,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:820,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/curl/lib/vtls/vtls_scache.c:821,1
    - Dst: cf_scache_peer_add_session
      Src: /src/curl/lib/vtls/vtls_scache.c:825,1
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls_scache.c:829,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:833,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/vtls/vtls_scache.c:838,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - cf
    - data
    - scache
    - ssl_peer_key
    - s
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct Curl_ssl_scache*
    - char*
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 786
    functionDepth: 8
    functionLinenumber: 786
    functionLinenumberEnd: 840
    functionName: cf_scache_add_session
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_SSLS
    - cf_scache_peer_add_session
    - Curl_ssl_session_destroy
    - cf_ssl_add_peer
    - Curl_ssl_cf_get_primary_config
    - Curl_llist_count
    - cf_scache_session_expired
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_scache_add_session(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct Curl_ssl_scache
      *scache,\n                                      const char *ssl_peer_key,\n
      \                                     struct Curl_ssl_session *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/curl/lib/vtls/vtls_scache.c:847,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/vtls_scache.c:848,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:850,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/curl/lib/vtls/vtls_scache.c:853,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/curl/lib/vtls/vtls_scache.c:857,1
    - Dst: cf_scache_add_session
      Src: /src/curl/lib/vtls/vtls_scache.c:858,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/curl/lib/vtls/vtls_scache.c:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cf
    - data
    - ssl_peer_key
    - s
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 842
    functionDepth: 9
    functionLinenumber: 842
    functionLinenumberEnd: 861
    functionName: Curl_ssl_scache_put
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - cf_scache_add_session
    - Curl_ssl_scache_unlock
    - cf_ssl_scache_get
    - Curl_ssl_session_destroy
    - Curl_ssl_scache_lock
    - Curl_ssl_cf_get_config
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_scache_put(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             const char *ssl_peer_key,\n                             struct
      Curl_ssl_session *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_scache_put
      Src: /src/curl/lib/vtls/vtls_scache.c:871,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/curl/lib/vtls/vtls_scache.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - cf
    - data
    - ssl_peer_key
    - s
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - struct Curl_ssl_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 863
    functionDepth: 10
    functionLinenumber: 863
    functionLinenumberEnd: 874
    functionName: Curl_ssl_scache_return
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - Curl_ssl_scache_put
    - Curl_ssl_session_destroy
    linkageType: ''
    returnType: void
    signature: "void Curl_ssl_scache_return(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            const char *ssl_peer_key,\n                            struct
      Curl_ssl_session *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/curl/lib/vtls/vtls_scache.c:881,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/vtls_scache.c:882,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/curl/lib/vtls/vtls_scache.c:892,1
    - Dst: cf_ssl_find_peer_by_key
      Src: /src/curl/lib/vtls/vtls_scache.c:893,1
    - Dst: cf_scache_peer_remove_expired
      Src: /src/curl/lib/vtls/vtls_scache.c:896,1
    - Dst: time
      Src: /src/curl/lib/vtls/vtls_scache.c:896,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/vtls/vtls_scache.c:897,1
    - Dst: Curl_node_take_elem
      Src: /src/curl/lib/vtls/vtls_scache.c:899,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:906,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/vtls/vtls_scache.c:910,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:913,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/curl/lib/vtls/vtls_scache.c:915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - cf
    - data
    - ssl_peer_key
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - struct Curl_ssl_session**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 876
    functionDepth: 7
    functionLinenumber: 876
    functionLinenumberEnd: 917
    functionName: Curl_ssl_scache_take
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 2
    functionsReached:
    - Curl_node_take_elem
    - Curl_ssl_scache_unlock
    - cf_ssl_scache_get
    - CURL_TRC_SSLS
    - cf_ssl_find_peer_by_key
    - cf_scache_peer_remove_expired
    - Curl_ssl_scache_lock
    - Curl_ssl_cf_get_primary_config
    - Curl_llist_count
    - Curl_llist_head
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_scache_take(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              const char *ssl_peer_key,\n
      \                             struct Curl_ssl_session **ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/curl/lib/vtls/vtls_scache.c:925,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/vtls_scache.c:926,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:930,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:931,1
    - Dst: cf_ssl_add_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:938,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:940,1
    - Dst: cf_ssl_scache_peer_set_obj
      Src: /src/curl/lib/vtls/vtls_scache.c:944,1
    - Dst: sobj_free
      Src: /src/curl/lib/vtls/vtls_scache.c:949,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - cf
    - data
    - ssl_peer_key
    - sobj
    - sobj_free
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - void*
    - Curl_ssl_scache_obj_dtor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 919
    functionDepth: 7
    functionLinenumber: 919
    functionLinenumberEnd: 951
    functionName: Curl_ssl_scache_add_obj
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - cf_ssl_scache_peer_set_obj
    - cf_ssl_scache_get
    - CURL_TRC_SSLS
    - sobj_free
    - cf_ssl_add_peer
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_scache_add_obj(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 const char *ssl_peer_key,\n
      \                                void *sobj,\n                                 Curl_ssl_scache_obj_dtor
      *sobj_free)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/curl/lib/vtls/vtls_scache.c:957,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/vtls_scache.c:958,1
    - Dst: cf_ssl_find_peer_by_key
      Src: /src/curl/lib/vtls/vtls_scache.c:966,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - ssl_peer_key
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 953
    functionDepth: 4
    functionLinenumber: 953
    functionLinenumberEnd: 976
    functionName: Curl_ssl_scache_get_obj
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_cf_get_primary_config
    - cf_ssl_scache_get
    - cf_ssl_find_peer_by_key
    - CURL_TRC_SSLS
    linkageType: ''
    returnType: void
    signature: "void *Curl_ssl_scache_get_obj(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              const char *ssl_peer_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/curl/lib/vtls/vtls_scache.c:982,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/vtls_scache.c:983,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/curl/lib/vtls/vtls_scache.c:991,1
    - Dst: cf_ssl_find_peer_by_key
      Src: /src/curl/lib/vtls/vtls_scache.c:992,1
    - Dst: cf_ssl_scache_clear_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:995,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/curl/lib/vtls/vtls_scache.c:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - ssl_peer_key
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 978
    functionDepth: 5
    functionLinenumber: 978
    functionLinenumberEnd: 997
    functionName: Curl_ssl_scache_remove_all
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_scache_unlock
    - cf_ssl_scache_get
    - cf_ssl_find_peer_by_key
    - Curl_ssl_scache_lock
    - cf_ssl_scache_clear_peer
    - Curl_ssl_cf_get_primary_config
    linkageType: ''
    returnType: void
    signature: "void Curl_ssl_scache_remove_all(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                const char *ssl_peer_key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls_scache.c:1007,1
    - Dst: Curl_rand
      Src: /src/curl/lib/vtls/vtls_scache.c:1011,1
    - Dst: Curl_hmacit
      Src: /src/curl/lib/vtls/vtls_scache.c:1015,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls_scache.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct Curl_ssl_scache_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1003
    functionDepth: 2
    functionLinenumber: 1003
    functionLinenumberEnd: 1023
    functionName: cf_ssl_scache_peer_set_hmac
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    - strlen
    - DEBUGASSERT
    - Curl_hmacit
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode cf_ssl_scache_peer_set_hmac(struct Curl_ssl_scache_peer *peer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOD_SCACHE
      Src: /src/curl/lib/vtls/vtls_scache.c:1035,1
    - Dst: cf_ssl_scache_match_auth
      Src: /src/curl/lib/vtls/vtls_scache.c:1042,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls_scache.c:1045,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls_scache.c:1046,1
    - Dst: Curl_hmacit
      Src: /src/curl/lib/vtls/vtls_scache.c:1054,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls_scache.c:1057,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls_scache.c:1061,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls_scache.c:1064,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls_scache.c:1065,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - scache
    - salt
    - hmac
    - ppeer
    argTypes:
    - struct Curl_ssl_scache*
    - unsigned char*
    - unsigned char*
    - struct Curl_ssl_scache_peer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1075
    functionName: cf_ssl_find_peer_by_hmac
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 0
    functionsReached:
    - GOOD_SCACHE
    - strlen
    - cf_ssl_scache_match_auth
    - memcpy
    - memcmp
    - Curl_hmacit
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_find_peer_by_hmac(struct Curl_ssl_scache *scache,\n
      \                        const unsigned char *salt,\n                         const
      unsigned char *hmac,\n                         struct Curl_ssl_scache_peer **ppeer)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/curl/lib/vtls/vtls_scache.c:1082,1
    - Dst: Curl_ssl_session_unpack
      Src: /src/curl/lib/vtls/vtls_scache.c:1097,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/curl/lib/vtls/vtls_scache.c:1101,1
    - Dst: cf_ssl_add_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:1105,1
    - Dst: cf_ssl_find_peer_by_hmac
      Src: /src/curl/lib/vtls/vtls_scache.c:1119,1
    - Dst: cf_ssl_get_free_peer
      Src: /src/curl/lib/vtls/vtls_scache.c:1123,1
    - Dst: cf_ssl_scache_peer_init
      Src: /src/curl/lib/vtls/vtls_scache.c:1125,1
    - Dst: cf_scache_peer_add_session
      Src: /src/curl/lib/vtls/vtls_scache.c:1134,1
    - Dst: time
      Src: /src/curl/lib/vtls/vtls_scache.c:1134,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:1136,1
    - Dst: Curl_llist_count
      Src: /src/curl/lib/vtls/vtls_scache.c:1139,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/curl/lib/vtls/vtls_scache.c:1144,1
    - Dst: Curl_ssl_session_destroy
      Src: /src/curl/lib/vtls/vtls_scache.c:1145,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 6
    argNames:
    - data
    - ssl_peer_key
    - shmac
    - shmac_len
    - sdata
    - sdata_len
    argTypes:
    - struct Curl_easy*
    - char*
    - unsigned char*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1077
    functionDepth: 8
    functionLinenumber: 1077
    functionLinenumberEnd: 1147
    functionName: Curl_ssl_session_import
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - cf_ssl_scache_peer_init
    - Curl_ssl_scache_unlock
    - cf_ssl_find_peer_by_hmac
    - cf_ssl_scache_get
    - cf_scache_peer_add_session
    - CURL_TRC_SSLS
    - Curl_ssl_session_destroy
    - cf_ssl_add_peer
    - Curl_ssl_scache_lock
    - Curl_ssl_session_unpack
    - cf_ssl_get_free_peer
    - Curl_llist_count
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_import(struct Curl_easy *data,\n                                 const
      char *ssl_peer_key,\n                                 const unsigned char *shmac,
      size_t shmac_len,\n                                 const void *sdata, size_t
      sdata_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_scache_get
      Src: /src/curl/lib/vtls/vtls_scache.c:1153,1
    - Dst: time
      Src: /src/curl/lib/vtls/vtls_scache.c:1158,1
    - Dst: Curl_ssl_scache_lock
      Src: /src/curl/lib/vtls/vtls_scache.c:1166,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/vtls_scache.c:1168,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/vtls_scache.c:1169,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/vtls_scache.c:1178,1
    - Dst: cf_scache_peer_remove_expired
      Src: /src/curl/lib/vtls/vtls_scache.c:1179,1
    - Dst: Curl_llist_head
      Src: /src/curl/lib/vtls/vtls_scache.c:1180,1
    - Dst: Curl_node_elem
      Src: /src/curl/lib/vtls/vtls_scache.c:1184,1
    - Dst: cf_ssl_scache_peer_set_hmac
      Src: /src/curl/lib/vtls/vtls_scache.c:1186,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/vtls_scache.c:1190,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls_scache.c:1191,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls_scache.c:1194,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/vtls_scache.c:1198,1
    - Dst: Curl_ssl_session_pack
      Src: /src/curl/lib/vtls/vtls_scache.c:1199,1
    - Dst: export_fn
      Src: /src/curl/lib/vtls/vtls_scache.c:1203,1
    - Dst: curlx_dyn_uptr
      Src: /src/curl/lib/vtls/vtls_scache.c:1204,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/vtls_scache.c:1204,1
    - Dst: curlx_dyn_uptr
      Src: /src/curl/lib/vtls/vtls_scache.c:1205,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/vtls_scache.c:1205,1
    - Dst: Curl_node_next
      Src: /src/curl/lib/vtls/vtls_scache.c:1211,1
    - Dst: CURL_TRC_SSLS
      Src: /src/curl/lib/vtls/vtls_scache.c:1216,1
    - Dst: Curl_ssl_scache_unlock
      Src: /src/curl/lib/vtls/vtls_scache.c:1220,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/vtls_scache.c:1221,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/vtls_scache.c:1222,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 3
    argNames:
    - data
    - export_fn
    - userptr
    argTypes:
    - struct Curl_easy*
    - curl_ssls_export_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1149
    functionDepth: 7
    functionLinenumber: 1149
    functionLinenumberEnd: 1224
    functionName: Curl_ssl_session_export
    functionSourceFile: /src/curl/lib/vtls/vtls_scache.c
    functionUses: 1
    functionsReached:
    - cf_ssl_scache_peer_set_hmac
    - curlx_dyn_uptr
    - Curl_node_elem
    - export_fn
    - cf_ssl_scache_get
    - Curl_ssl_scache_unlock
    - curlx_dyn_reset
    - CURL_TRC_SSLS
    - curlx_dyn_addn
    - Curl_ssl_session_pack
    - curlx_dyn_init
    - curlx_dyn_free
    - Curl_ssl_scache_lock
    - cf_scache_peer_remove_expired
    - curlx_dyn_len
    - Curl_node_next
    - Curl_llist_head
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_session_export(struct Curl_easy *data,\n                                 curl_ssls_export_cb
      *export_fn,\n                                 void *userptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/curl/lib/vtls/vtls_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: CS_ZIP_IDX
    functionSourceFile: /src/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_ZIP_IDX(a, b, c, d, e, f, g, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - id
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: CS_ENTRY
    functionSourceFile: /src/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_ENTRY(id, a, b, c, d, e, f, g, h)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/vtls/cipher_suite.c:562,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/cipher_suite.c:576,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/vtls/cipher_suite.c:577,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - cs_str
    - cs_len
    - zip
    argTypes:
    - char*
    - size_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 596
    functionName: cs_str_to_zip
    functionSourceFile: /src/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached:
    - curl_strnequal
    - strlen
    linkageType: ''
    returnType: int
    signature: "int cs_str_to_zip(const char *cs_str, size_t cs_len,\n                         uint8_t
      zip[6])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/cipher_suite.c:626,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/cipher_suite.c:632,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/cipher_suite.c:634,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - zip
    - buf
    - buf_size
    argTypes:
    - uint8_t[]
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 598
    functionDepth: 6
    functionLinenumber: 598
    functionLinenumberEnd: 642
    functionName: cs_zip_to_str
    functionSourceFile: /src/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached:
    - strlen
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: "int cs_zip_to_str(const uint8_t zip[6],\n                         char
      *buf, size_t buf_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cs_str_to_zip
      Src: /src/curl/lib/vtls/cipher_suite.c:649,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/cipher_suite.c:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - cs_str
    - cs_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 657
    functionName: Curl_cipher_suite_lookup_id
    functionSourceFile: /src/curl/lib/vtls/cipher_suite.c
    functionUses: 1
    functionsReached:
    - cs_str_to_zip
    - memcmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Curl_cipher_suite_lookup_id(const char *cs_str, size_t cs_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 671
    functionName: cs_is_separator
    functionSourceFile: /src/curl/lib/vtls/cipher_suite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cs_is_separator(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cs_is_separator
      Src: /src/curl/lib/vtls/cipher_suite.c:676,1
    - Dst: cs_is_separator
      Src: /src/curl/lib/vtls/cipher_suite.c:679,1
    - Dst: Curl_cipher_suite_lookup_id
      Src: /src/curl/lib/vtls/cipher_suite.c:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 673
    functionDepth: 5
    functionLinenumber: 673
    functionLinenumberEnd: 682
    functionName: Curl_cipher_suite_walk_str
    functionSourceFile: /src/curl/lib/vtls/cipher_suite.c
    functionUses: 2
    functionsReached:
    - cs_is_separator
    - Curl_cipher_suite_lookup_id
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Curl_cipher_suite_walk_str(const char **str, const char **end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cs_zip_to_str
      Src: /src/curl/lib/vtls/cipher_suite.c:702,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/cipher_suite.c:705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - id
    - buf
    - buf_size
    - prefer_rfc
    argTypes:
    - uint16_t
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 684
    functionDepth: 7
    functionLinenumber: 684
    functionLinenumberEnd: 708
    functionName: Curl_cipher_suite_get_str
    functionSourceFile: /src/curl/lib/vtls/cipher_suite.c
    functionUses: 1
    functionsReached:
    - cs_zip_to_str
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: "int Curl_cipher_suite_get_str(uint16_t id, char *buf, size_t buf_size,\n
      \                             bool prefer_rfc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: OSSL_UI_METHOD_CAST
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_UI_METHOD_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: OSSL_UI_METHOD_CAST
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_UI_METHOD_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: ASN1_STRING_get0_data
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASN1_STRING_get0_data(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: X509_get0_notBefore
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_get0_notBefore(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: X509_get0_notAfter
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_get0_notAfter(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: OpenSSL_version_num
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OpenSSL_version_num()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: DECLARE_PKEY_PARAM_BIGNUM
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PKEY_PARAM_BIGNUM(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: FREE_PKEY_PARAM_BIGNUM
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_PKEY_PARAM_BIGNUM(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: DECLARE_PKEY_PARAM_BIGNUM
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PKEY_PARAM_BIGNUM(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/curl/lib/vtls/openssl.c:261,1
    - Dst: Curl_ssl_push_certinfo_len
      Src: /src/curl/lib/vtls/openssl.c:262,1
    - Dst: BIO_reset
      Src: /src/curl/lib/vtls/openssl.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - mem
    - label
    - num
    argTypes:
    - struct Curl_easy*
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: push_certinfo
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_push_certinfo_len
    - BIO_reset
    - BIO_get_mem_data
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode push_certinfo(struct Curl_easy *data,\n                              BIO
      *mem, const char *label, int num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:276,1
    - Dst: BN_print
      Src: /src/curl/lib/vtls/openssl.c:279,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - data
    - mem
    - num
    - type
    - name
    - bn
    argTypes:
    - struct Curl_easy*
    - BIO*
    - int
    - char*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 6
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: pubkey_show
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - push_certinfo
    - BN_print
    - curl_msnprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pubkey_show(struct Curl_easy *data,\n                            BIO
      *mem,\n                            int num,\n                            const
      char *type,\n                            const char *name,\n                            const
      BIGNUM *bn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _type
    - ','
    - _name
    - ','
    - _num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: print_pubkey_BN
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_pubkey_BN(_type, _name, _num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _type
    - ','
    - _name
    - ','
    - _num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: print_pubkey_BN
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_pubkey_BN(_type, _name, _num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2t_ASN1_OBJECT
      Src: /src/curl/lib/vtls/openssl.c:300,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/curl/lib/vtls/openssl.c:302,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - buf
    - len
    argTypes:
    - ASN1_OBJECT*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: asn1_object_dump
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - i2t_ASN1_OBJECT
    - CURL_UNCONST
    linkageType: ''
    returnType: int
    signature: int asn1_object_dump(const ASN1_OBJECT *a, char *buf, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/curl/lib/vtls/openssl.c:316,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:316,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/curl/lib/vtls/openssl.c:319,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/curl/lib/vtls/openssl.c:323,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/curl/lib/vtls/openssl.c:325,1
    - Dst: BIO_new
      Src: /src/curl/lib/vtls/openssl.c:328,1
    - Dst: BIO_s_mem
      Src: /src/curl/lib/vtls/openssl.c:328,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/curl/lib/vtls/openssl.c:333,1
    - Dst: asn1_object_dump
      Src: /src/curl/lib/vtls/openssl.c:335,1
    - Dst: X509V3_EXT_print
      Src: /src/curl/lib/vtls/openssl.c:339,1
    - Dst: ASN1_STRING_print
      Src: /src/curl/lib/vtls/openssl.c:340,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/curl/lib/vtls/openssl.c:340,1
    - Dst: BIO_get_mem_ptr
      Src: /src/curl/lib/vtls/openssl.c:342,1
    - Dst: Curl_ssl_push_certinfo_len
      Src: /src/curl/lib/vtls/openssl.c:343,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - data
    - certnum
    - extsarg
    argTypes:
    - struct Curl_easy*
    - int
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 350
    functionName: X509V3_ext
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - X509_EXTENSION_get_object
    - asn1_object_dump
    - sk_X509_EXTENSION_num
    - BIO_free
    - X509V3_EXT_print
    - BIO_s_mem
    - BIO_get_mem_ptr
    - BIO_new
    - CURL_UNCONST
    - STACK_OF
    - Curl_ssl_push_certinfo_len
    - sk_X509_EXTENSION_value
    - ASN1_STRING_print
    - X509_EXTENSION_get_data
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode X509V3_ext(struct Curl_easy *data,\n                           int
      certnum,\n                           const STACK_OF(X509_EXTENSION) *extsarg)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/curl/lib/vtls/openssl.c:355,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:360,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/curl/lib/vtls/openssl.c:362,1
    - Dst: sk_X509_num
      Src: /src/curl/lib/vtls/openssl.c:366,1
    - Dst: Curl_ssl_init_certinfo
      Src: /src/curl/lib/vtls/openssl.c:368,1
    - Dst: BIO_new
      Src: /src/curl/lib/vtls/openssl.c:372,1
    - Dst: BIO_s_mem
      Src: /src/curl/lib/vtls/openssl.c:372,1
    - Dst: sk_X509_value
      Src: /src/curl/lib/vtls/openssl.c:378,1
    - Dst: X509_NAME_print_ex
      Src: /src/curl/lib/vtls/openssl.c:383,1
    - Dst: X509_get_subject_name
      Src: /src/curl/lib/vtls/openssl.c:383,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:384,1
    - Dst: X509_NAME_print_ex
      Src: /src/curl/lib/vtls/openssl.c:388,1
    - Dst: X509_get_issuer_name
      Src: /src/curl/lib/vtls/openssl.c:388,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:389,1
    - Dst: BIO_printf
      Src: /src/curl/lib/vtls/openssl.c:393,1
    - Dst: X509_get_version
      Src: /src/curl/lib/vtls/openssl.c:393,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:394,1
    - Dst: X509_get_serialNumber
      Src: /src/curl/lib/vtls/openssl.c:398,1
    - Dst: BIO_puts
      Src: /src/curl/lib/vtls/openssl.c:400,1
    - Dst: BIO_printf
      Src: /src/curl/lib/vtls/openssl.c:402,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:403,1
    - Dst: X509_get0_signature
      Src: /src/curl/lib/vtls/openssl.c:413,1
    - Dst: X509_ALGOR_get0
      Src: /src/curl/lib/vtls/openssl.c:416,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/curl/lib/vtls/openssl.c:417,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:418,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/curl/lib/vtls/openssl.c:423,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/curl/lib/vtls/openssl.c:425,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/curl/lib/vtls/openssl.c:427,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:428,1
    - Dst: X509V3_ext
      Src: /src/curl/lib/vtls/openssl.c:434,1
    - Dst: X509_get0_extensions
      Src: /src/curl/lib/vtls/openssl.c:434,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/curl/lib/vtls/openssl.c:443,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:444,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/curl/lib/vtls/openssl.c:447,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:448,1
    - Dst: X509V3_ext
      Src: /src/curl/lib/vtls/openssl.c:452,1
    - Dst: ASN1_TIME_print
      Src: /src/curl/lib/vtls/openssl.c:461,1
    - Dst: X509_get0_notBefore
      Src: /src/curl/lib/vtls/openssl.c:461,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:462,1
    - Dst: ASN1_TIME_print
      Src: /src/curl/lib/vtls/openssl.c:466,1
    - Dst: X509_get0_notAfter
      Src: /src/curl/lib/vtls/openssl.c:466,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:467,1
    - Dst: X509_get_pubkey
      Src: /src/curl/lib/vtls/openssl.c:471,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:473,1
    - Dst: EVP_PKEY_id
      Src: /src/curl/lib/vtls/openssl.c:477,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/curl/lib/vtls/openssl.c:486,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:494,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:495,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:497,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:498,1
    - Dst: RSA_get0_key
      Src: /src/curl/lib/vtls/openssl.c:500,1
    - Dst: BIO_printf
      Src: /src/curl/lib/vtls/openssl.c:502,1
    - Dst: BN_num_bits
      Src: /src/curl/lib/vtls/openssl.c:502,1
    - Dst: BIO_printf
      Src: /src/curl/lib/vtls/openssl.c:504,1
    - Dst: BN_num_bits
      Src: /src/curl/lib/vtls/openssl.c:504,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:506,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:509,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:510,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:511,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:512,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/curl/lib/vtls/openssl.c:523,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:530,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:531,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:532,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:533,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:535,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:536,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:537,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:538,1
    - Dst: DSA_get0_pqg
      Src: /src/curl/lib/vtls/openssl.c:540,1
    - Dst: DSA_get0_key
      Src: /src/curl/lib/vtls/openssl.c:541,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:544,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:545,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:546,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:547,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:548,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:549,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:550,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:551,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/curl/lib/vtls/openssl.c:560,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:567,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:568,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:569,1
    - Dst: DECLARE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:570,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:572,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:573,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:574,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/curl/lib/vtls/openssl.c:575,1
    - Dst: DH_get0_pqg
      Src: /src/curl/lib/vtls/openssl.c:577,1
    - Dst: DH_get0_key
      Src: /src/curl/lib/vtls/openssl.c:578,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:580,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:581,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:582,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:584,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:585,1
    - Dst: print_pubkey_BN
      Src: /src/curl/lib/vtls/openssl.c:587,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:588,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:589,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:590,1
    - Dst: FREE_PKEY_PARAM_BIGNUM
      Src: /src/curl/lib/vtls/openssl.c:591,1
    - Dst: EVP_PKEY_free
      Src: /src/curl/lib/vtls/openssl.c:596,1
    - Dst: BIO_printf
      Src: /src/curl/lib/vtls/openssl.c:601,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:602,1
    - Dst: PEM_write_bio_X509
      Src: /src/curl/lib/vtls/openssl.c:606,1
    - Dst: push_certinfo
      Src: /src/curl/lib/vtls/openssl.c:607,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:611,1
    - Dst: Curl_ssl_free_certinfo
      Src: /src/curl/lib/vtls/openssl.c:615,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 169
    argCount: 2
    argNames:
    - data
    - ssl
    argTypes:
    - struct Curl_easy*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 618
    functionName: ossl_certchain
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_RSA
    - EVP_PKEY_get0_DSA
    - PEM_write_bio_X509
    - BIO_printf
    - BIO_free
    - BIO_s_mem
    - i2a_ASN1_OBJECT
    - X509V3_ext
    - RSA_get0_key
    - Curl_ssl_init_certinfo
    - sk_X509_num
    - X509_get_version
    - X509_ALGOR_get0
    - EVP_PKEY_free
    - EVP_PKEY_id
    - X509_get_serialNumber
    - X509_NAME_print_ex
    - X509_get_X509_PUBKEY
    - EVP_PKEY_get0_DH
    - DH_get0_key
    - FREE_PKEY_PARAM_BIGNUM
    - X509_get0_notBefore
    - BIO_new
    - STACK_OF
    - X509_get0_notAfter
    - X509_get0_signature
    - EVP_PKEY_get_bn_param
    - BN_num_bits
    - push_certinfo
    - X509_get_subject_name
    - X509_get0_extensions
    - DSA_get0_pqg
    - DECLARE_PKEY_PARAM_BIGNUM
    - DSA_get0_key
    - Curl_ssl_free_certinfo
    - DEBUGASSERT
    - ASN1_TIME_print
    - SSL_get_peer_cert_chain
    - X509_PUBKEY_get0_param
    - print_pubkey_BN
    - X509_get_issuer_name
    - X509_get_pubkey
    - infof
    - DH_get0_pqg
    - sk_X509_value
    - BIO_puts
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_certchain(struct Curl_easy *data, SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: BIO_set_init
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_init(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: BIO_get_data
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_data(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: BIO_set_data
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_data(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: BIO_get_shutdown
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_shutdown(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 630
    functionName: BIO_set_shutdown
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_shutdown(x,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_shutdown
      Src: /src/curl/lib/vtls/openssl.c:634,1
    - Dst: BIO_set_init
      Src: /src/curl/lib/vtls/openssl.c:635,1
    - Dst: BIO_set_data
      Src: /src/curl/lib/vtls/openssl.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 641
    functionName: ossl_bio_cf_create
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_shutdown
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int ossl_bio_cf_create(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: ossl_bio_cf_destroy
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_bio_cf_destroy(BIO *bio)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/curl/lib/vtls/openssl.c:652,1
    - Dst: BIO_get_shutdown
      Src: /src/curl/lib/vtls/openssl.c:659,1
    - Dst: BIO_set_shutdown
      Src: /src/curl/lib/vtls/openssl.c:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 682
    functionName: ossl_bio_cf_ctrl
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - BIO_set_shutdown
    - BIO_get_shutdown
    linkageType: ''
    returnType: long
    signature: long ossl_bio_cf_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/curl/lib/vtls/openssl.c:686,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/openssl.c:689,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:693,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/vtls/openssl.c:697,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:699,1
    - Dst: BIO_clear_retry_flags
      Src: /src/curl/lib/vtls/openssl.c:701,1
    - Dst: BIO_set_retry_write
      Src: /src/curl/lib/vtls/openssl.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 709
    functionName: ossl_bio_cf_out_write
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - BIO_get_data
    - BIO_set_retry_write
    - CF_DATA_CURRENT
    - Curl_conn_cf_send
    - BIO_clear_retry_flags
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int ossl_bio_cf_out_write(BIO *bio, const char *buf, int blen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/curl/lib/vtls/openssl.c:713,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/openssl.c:716,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:720,1
    - Dst: Curl_conn_cf_recv
      Src: /src/curl/lib/vtls/openssl.c:727,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:728,1
    - Dst: BIO_clear_retry_flags
      Src: /src/curl/lib/vtls/openssl.c:730,1
    - Dst: BIO_set_retry_read
      Src: /src/curl/lib/vtls/openssl.c:734,1
    - Dst: Curl_ssl_setup_x509_store
      Src: /src/curl/lib/vtls/openssl.c:746,1
    - Dst: BIO_clear_retry_flags
      Src: /src/curl/lib/vtls/openssl.c:748,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 755
    functionName: ossl_bio_cf_in_read
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_conn_cf_recv
    - Curl_ssl_setup_x509_store
    - BIO_get_data
    - CF_DATA_CURRENT
    - BIO_set_retry_read
    - BIO_clear_retry_flags
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int ossl_bio_cf_in_read(BIO *bio, char *buf, int blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 775
    functionName: ossl_bio_cf_method_create
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *ossl_bio_cf_method_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 778
    functionName: ossl_bio_cf_method_free
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_bio_cf_method_free(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/curl/lib/vtls/openssl.c:783,1
    - Dst: BIO_meth_set_write
      Src: /src/curl/lib/vtls/openssl.c:785,1
    - Dst: BIO_meth_set_read
      Src: /src/curl/lib/vtls/openssl.c:786,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/curl/lib/vtls/openssl.c:787,1
    - Dst: BIO_meth_set_create
      Src: /src/curl/lib/vtls/openssl.c:788,1
    - Dst: BIO_meth_set_destroy
      Src: /src/curl/lib/vtls/openssl.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 792
    functionName: ossl_bio_cf_method_create
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_meth_new
    - BIO_meth_set_destroy
    - BIO_meth_set_create
    - BIO_meth_set_write
    - BIO_meth_set_read
    - BIO_meth_set_ctrl
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *ossl_bio_cf_method_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/curl/lib/vtls/openssl.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 798
    functionName: ossl_bio_cf_method_free
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void ossl_bio_cf_method_free(BIO_METHOD *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_tls_keylog_write_line
      Src: /src/curl/lib/vtls/openssl.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 809
    functionName: ossl_keylog_callback
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_write_line
    linkageType: ''
    returnType: void
    signature: void ossl_keylog_callback(const SSL *ssl, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/curl/lib/vtls/openssl.c:823,1
    - Dst: SSL_get_session
      Src: /src/curl/lib/vtls/openssl.c:825,1
    - Dst: ERR_pop_to_mark
      Src: /src/curl/lib/vtls/openssl.c:828,1
    - Dst: SSL_get_client_random
      Src: /src/curl/lib/vtls/openssl.c:835,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/curl/lib/vtls/openssl.c:837,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/openssl.c:841,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/openssl.c:842,1
    - Dst: ERR_pop_to_mark
      Src: /src/curl/lib/vtls/openssl.c:846,1
    - Dst: Curl_tls_keylog_write
      Src: /src/curl/lib/vtls/openssl.c:855,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ssl
    - keylog_done
    argTypes:
    - SSL*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 857
    functionName: ossl_log_tls12_secret
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_set_mark
    - ERR_pop_to_mark
    - memcpy
    - SSL_get_session
    - SSL_SESSION_get_master_key
    - SSL_get_client_random
    - Curl_tls_keylog_write
    linkageType: ''
    returnType: void
    signature: void ossl_log_tls12_secret(const SSL *ssl, bool *keylog_done)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 896
    functionName: SSL_ERROR_to_str
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SSL_ERROR_to_str(int err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:903,1
    - Dst: Curl_ossl_version
      Src: /src/curl/lib/vtls/openssl.c:906,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:907,1
    - Dst: ERR_error_string_n
      Src: /src/curl/lib/vtls/openssl.c:917,1
    - Dst: ERR_error_string_n
      Src: /src/curl/lib/vtls/openssl.c:919,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/openssl.c:924,1
    - Dst: strcpy
      Src: /src/curl/lib/vtls/openssl.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - error
    - buf
    - size
    argTypes:
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 929
    functionName: ossl_strerror
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_ossl_version
    - strlen
    - ERR_error_string_n
    - DEBUGASSERT
    - strcpy
    linkageType: ''
    returnType: char
    signature: char *ossl_strerror(unsigned long error, char *buf, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:934,1
    - Dst: curlx_uztosi
      Src: /src/curl/lib/vtls/openssl.c:937,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/openssl.c:937,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/openssl.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - num
    - encrypting
    - password
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 944
    functionName: passwd_callback
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curlx_uztosi
    - strlen
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int passwd_callback(char *buf, int num, int encrypting,\n                           void
      *password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_status
      Src: /src/curl/lib/vtls/openssl.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: rand_enough
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - RAND_status
    linkageType: ''
    returnType: bool
    signature: bool rand_enough(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand_enough
      Src: /src/curl/lib/vtls/openssl.c:960,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:968,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/openssl.c:979,1
    - Dst: curlx_wait_ms
      Src: /src/curl/lib/vtls/openssl.c:980,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/openssl.c:983,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/openssl.c:983,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/openssl.c:985,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/openssl.c:985,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/openssl.c:987,1
    - Dst: RAND_add
      Src: /src/curl/lib/vtls/openssl.c:990,1
    - Dst: rand_enough
      Src: /src/curl/lib/vtls/openssl.c:991,1
    - Dst: RAND_file_name
      Src: /src/curl/lib/vtls/openssl.c:1005,1
    - Dst: RAND_load_file
      Src: /src/curl/lib/vtls/openssl.c:1008,1
    - Dst: rand_enough
      Src: /src/curl/lib/vtls/openssl.c:1009,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:1014,1
    - Dst: rand_enough
      Src: /src/curl/lib/vtls/openssl.c:1015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 1018
    functionName: ossl_seed
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curlx_wait_ms
    - failf
    - curlx_now
    - rand_enough
    - RAND_add
    - RAND_file_name
    - memcpy
    - infof
    - RAND_load_file
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_seed(struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/openssl.c:1033,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/openssl.c:1035,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/openssl.c:1037,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/openssl.c:1039,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/openssl.c:1041,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1029
    functionDepth: 3
    functionLinenumber: 1029
    functionLinenumberEnd: 1044
    functionName: ossl_do_file_type
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: int
    signature: int ossl_do_file_type(const char *type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/curl/lib/vtls/openssl.c:1055,1
    - Dst: UI_get0_user_data
      Src: /src/curl/lib/vtls/openssl.c:1058,1
    - Dst: UI_get_input_flags
      Src: /src/curl/lib/vtls/openssl.c:1059,1
    - Dst: UI_set_result
      Src: /src/curl/lib/vtls/openssl.c:1060,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/openssl.c:1063,1
    - Dst: UI_method_get_reader
      Src: /src/curl/lib/vtls/openssl.c:1067,1
    - Dst: UI_OpenSSL
      Src: /src/curl/lib/vtls/openssl.c:1067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1068
    functionName: ssl_ui_reader
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - UI_OpenSSL
    - UI_set_result
    - UI_get0_user_data
    - UI_method_get_reader
    - UI_get_input_flags
    - UI_get_string_type
    linkageType: ''
    returnType: int
    signature: int ssl_ui_reader(UI *ui, UI_STRING *uis)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/curl/lib/vtls/openssl.c:1075,1
    - Dst: UI_get0_user_data
      Src: /src/curl/lib/vtls/openssl.c:1078,1
    - Dst: UI_get_input_flags
      Src: /src/curl/lib/vtls/openssl.c:1079,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/openssl.c:1082,1
    - Dst: UI_method_get_writer
      Src: /src/curl/lib/vtls/openssl.c:1086,1
    - Dst: UI_OpenSSL
      Src: /src/curl/lib/vtls/openssl.c:1086,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1087
    functionName: ssl_ui_writer
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - UI_method_get_writer
    - UI_OpenSSL
    - UI_get0_user_data
    - UI_get_input_flags
    - UI_get_string_type
    linkageType: ''
    returnType: int
    signature: int ssl_ui_writer(UI *ui, UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_strnequal
      Src: /src/curl/lib/vtls/openssl.c:1094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 3
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: is_pkcs11_uri
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - curl_strnequal
    linkageType: ''
    returnType: bool
    signature: bool is_pkcs11_uri(const char *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/curl/lib/vtls/openssl.c:1112,1
    - Dst: d2i_X509_bio
      Src: /src/curl/lib/vtls/openssl.c:1118,1
    - Dst: PEM_read_bio_X509
      Src: /src/curl/lib/vtls/openssl.c:1122,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:1123,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/curl/lib/vtls/openssl.c:1135,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:1137,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:1138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - blob
    - type
    - key_passwd
    argTypes:
    - SSL_CTX*
    - struct curl_blob*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1140
    functionName: use_certificate_blob
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_new_mem_buf
    - SSL_CTX_use_certificate
    - d2i_X509_bio
    - CURL_UNCONST
    - PEM_read_bio_X509
    - X509_free
    linkageType: ''
    returnType: int
    signature: "int use_certificate_blob(SSL_CTX *ctx, const struct curl_blob *blob,\n
      \                               int type, const char *key_passwd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/curl/lib/vtls/openssl.c:1147,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/curl/lib/vtls/openssl.c:1152,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:1153,1
    - Dst: d2i_PrivateKey_bio
      Src: /src/curl/lib/vtls/openssl.c:1155,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/curl/lib/vtls/openssl.c:1162,1
    - Dst: EVP_PKEY_free
      Src: /src/curl/lib/vtls/openssl.c:1163,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:1165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - blob
    - type
    - key_passwd
    argTypes:
    - SSL_CTX*
    - struct curl_blob*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1167
    functionName: use_privatekey_blob
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_new_mem_buf
    - PEM_read_bio_PrivateKey
    - CURL_UNCONST
    - SSL_CTX_use_PrivateKey
    - d2i_PrivateKey_bio
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int use_privatekey_blob(SSL_CTX *ctx, const struct curl_blob *blob,\n
      \                              int type, const char *key_passwd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/curl/lib/vtls/openssl.c:1175,1
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vtls/openssl.c:1179,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/curl/lib/vtls/openssl.c:1181,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:1182,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/curl/lib/vtls/openssl.c:1186,1
    - Dst: ERR_peek_error
      Src: /src/curl/lib/vtls/openssl.c:1188,1
    - Dst: SSL_CTX_clear_chain_certs
      Src: /src/curl/lib/vtls/openssl.c:1195,1
    - Dst: PEM_read_bio_X509
      Src: /src/curl/lib/vtls/openssl.c:1200,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:1201,1
    - Dst: SSL_CTX_add0_chain_cert
      Src: /src/curl/lib/vtls/openssl.c:1204,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:1205,1
    - Dst: ERR_peek_last_error
      Src: /src/curl/lib/vtls/openssl.c:1211,1
    - Dst: ERR_GET_LIB
      Src: /src/curl/lib/vtls/openssl.c:1212,1
    - Dst: ERR_GET_REASON
      Src: /src/curl/lib/vtls/openssl.c:1213,1
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vtls/openssl.c:1214,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:1220,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:1221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - blob
    - key_passwd
    argTypes:
    - SSL_CTX*
    - struct curl_blob*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1223
    functionName: use_certificate_chain_blob
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_new_mem_buf
    - SSL_CTX_use_certificate
    - SSL_CTX_add0_chain_cert
    - ERR_GET_LIB
    - CURL_UNCONST
    - ERR_peek_error
    - PEM_read_bio_X509
    - X509_free
    - ERR_GET_REASON
    - ERR_clear_error
    - PEM_read_bio_X509_AUX
    - ERR_peek_last_error
    - SSL_CTX_clear_chain_certs
    linkageType: ''
    returnType: int
    signature: "int use_certificate_chain_blob(SSL_CTX *ctx, const struct curl_blob
      *blob,\n                           const char *key_passwd)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/curl/lib/vtls/openssl.c:1532,1
    - Dst: BIO_new_mem_buf
      Src: /src/curl/lib/vtls/openssl.c:1534,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1536,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:1538,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:1538,1
    - Dst: BIO_new
      Src: /src/curl/lib/vtls/openssl.c:1544,1
    - Dst: BIO_s_file
      Src: /src/curl/lib/vtls/openssl.c:1544,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1546,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:1548,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:1548,1
    - Dst: BIO_read_filename
      Src: /src/curl/lib/vtls/openssl.c:1553,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:1553,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1554,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:1555,1
    - Dst: d2i_PKCS12_bio
      Src: /src/curl/lib/vtls/openssl.c:1560,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:1561,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1564,1
    - Dst: PKCS12_PBE_add
      Src: /src/curl/lib/vtls/openssl.c:1569,1
    - Dst: PKCS12_parse
      Src: /src/curl/lib/vtls/openssl.c:1571,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1572,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:1575,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:1575,1
    - Dst: PKCS12_free
      Src: /src/curl/lib/vtls/openssl.c:1577,1
    - Dst: PKCS12_free
      Src: /src/curl/lib/vtls/openssl.c:1581,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/curl/lib/vtls/openssl.c:1583,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1584,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:1587,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:1587,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/curl/lib/vtls/openssl.c:1592,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1593,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/curl/lib/vtls/openssl.c:1598,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1599,1
    - Dst: sk_X509_num
      Src: /src/curl/lib/vtls/openssl.c:1605,1
    - Dst: sk_X509_pop
      Src: /src/curl/lib/vtls/openssl.c:1613,1
    - Dst: SSL_CTX_add_client_CA
      Src: /src/curl/lib/vtls/openssl.c:1614,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:1615,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1616,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/curl/lib/vtls/openssl.c:1619,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:1620,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1621,1
    - Dst: EVP_PKEY_free
      Src: /src/curl/lib/vtls/openssl.c:1629,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:1630,1
    - Dst: sk_X509_pop_free
      Src: /src/curl/lib/vtls/openssl.c:1635,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 5
    argNames:
    - data
    - ctx
    - cert_blob
    - cert_file
    - key_passwd
    argTypes:
    - struct Curl_easy*
    - SSL_CTX*
    - struct curl_blob*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1642
    functionName: pkcs12load
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_new_mem_buf
    - SSL_CTX_add_client_CA
    - CURL_UNCONST
    - sk_X509_pop
    - sk_X509_num
    - SSL_CTX_check_private_key
    - EVP_PKEY_free
    - PKCS12_free
    - ERR_get_error
    - failf
    - SSL_CTX_use_certificate
    - SSL_CTX_add_extra_chain_cert
    - BIO_new
    - X509_free
    - STACK_OF
    - d2i_PKCS12_bio
    - BIO_s_file
    - SSL_CTX_use_PrivateKey
    - sk_X509_pop_free
    - PKCS12_parse
    - BIO_read_filename
    - PKCS12_PBE_add
    - ossl_strerror
    linkageType: ''
    returnType: int
    signature: "int pkcs12load(struct Curl_easy *data,\n                      SSL_CTX*
      ctx,\n                      const struct curl_blob *cert_blob,\n                      const
      char *cert_file,\n                      const char *key_passwd)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ossl_do_file_type
      Src: /src/curl/lib/vtls/openssl.c:1657,1
    - Dst: SSL_CTX_set_default_passwd_cb_userdata
      Src: /src/curl/lib/vtls/openssl.c:1668,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/curl/lib/vtls/openssl.c:1670,1
    - Dst: use_certificate_chain_blob
      Src: /src/curl/lib/vtls/openssl.c:1677,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/curl/lib/vtls/openssl.c:1678,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1680,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:1685,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:1685,1
    - Dst: use_certificate_blob
      Src: /src/curl/lib/vtls/openssl.c:1697,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/curl/lib/vtls/openssl.c:1698,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1700,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:1705,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:1705,1
    - Dst: engineload
      Src: /src/curl/lib/vtls/openssl.c:1712,1
    - Dst: providerload
      Src: /src/curl/lib/vtls/openssl.c:1717,1
    - Dst: pkcs12load
      Src: /src/curl/lib/vtls/openssl.c:1722,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1728,1
    - Dst: ossl_do_file_type
      Src: /src/curl/lib/vtls/openssl.c:1737,1
    - Dst: use_privatekey_blob
      Src: /src/curl/lib/vtls/openssl.c:1743,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/curl/lib/vtls/openssl.c:1744,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1746,1
    - Dst: enginecheck
      Src: /src/curl/lib/vtls/openssl.c:1753,1
    - Dst: providercheck
      Src: /src/curl/lib/vtls/openssl.c:1758,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1764,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1769,1
    - Dst: SSL_new
      Src: /src/curl/lib/vtls/openssl.c:1773,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1775,1
    - Dst: SSL_get_certificate
      Src: /src/curl/lib/vtls/openssl.c:1779,1
    - Dst: X509_get_pubkey
      Src: /src/curl/lib/vtls/openssl.c:1782,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/curl/lib/vtls/openssl.c:1783,1
    - Dst: SSL_get_privatekey
      Src: /src/curl/lib/vtls/openssl.c:1783,1
    - Dst: EVP_PKEY_free
      Src: /src/curl/lib/vtls/openssl.c:1784,1
    - Dst: SSL_get_privatekey
      Src: /src/curl/lib/vtls/openssl.c:1791,1
    - Dst: EVP_PKEY_id
      Src: /src/curl/lib/vtls/openssl.c:1794,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/curl/lib/vtls/openssl.c:1799,1
    - Dst: RSA_flags
      Src: /src/curl/lib/vtls/openssl.c:1800,1
    - Dst: RSA_free
      Src: /src/curl/lib/vtls/openssl.c:1802,1
    - Dst: SSL_free
      Src: /src/curl/lib/vtls/openssl.c:1807,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/curl/lib/vtls/openssl.c:1815,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1816,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 97
    argCount: 9
    argNames:
    - data
    - ctx
    - cert_file
    - cert_blob
    - cert_type
    - key_file
    - key_blob
    - key_type
    - key_passwd
    argTypes:
    - struct Curl_easy*
    - SSL_CTX*
    - char*
    - struct curl_blob*
    - char*
    - char*
    - struct curl_blob*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1645
    functionDepth: 4
    functionLinenumber: 1645
    functionLinenumberEnd: 1822
    functionName: client_cert
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - enginecheck
    - use_privatekey_blob
    - SSL_CTX_check_private_key
    - EVP_PKEY_free
    - EVP_PKEY_id
    - use_certificate_blob
    - ERR_get_error
    - providerload
    - SSL_CTX_set_default_passwd_cb_userdata
    - failf
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_use_certificate_file
    - SSL_new
    - EVP_PKEY_copy_parameters
    - pkcs12load
    - use_certificate_chain_blob
    - engineload
    - providercheck
    - RSA_free
    - SSL_CTX_use_PrivateKey_file
    - SSL_get_certificate
    - EVP_PKEY_get1_RSA
    - RSA_flags
    - SSL_get_privatekey
    - SSL_CTX_set_default_passwd_cb
    - X509_get_pubkey
    - ossl_do_file_type
    - ossl_strerror
    - SSL_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode client_cert(struct Curl_easy *data,\n                            SSL_CTX*
      ctx,\n                            char *cert_file,\n                            const
      struct curl_blob *cert_blob,\n                            const char *cert_type,\n
      \                           char *key_file,\n                            const
      struct curl_blob *key_blob,\n                            const char *key_type,\n
      \                           char *key_passwd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/curl/lib/vtls/openssl.c:1828,1
    - Dst: BIO_s_mem
      Src: /src/curl/lib/vtls/openssl.c:1828,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vtls/openssl.c:1836,1
    - Dst: X509_NAME_print_ex
      Src: /src/curl/lib/vtls/openssl.c:1837,1
    - Dst: BIO_get_mem_ptr
      Src: /src/curl/lib/vtls/openssl.c:1839,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/openssl.c:1840,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:1841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - d
    argTypes:
    - X509_NAME*
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1845
    functionName: x509_name_oneline
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_get_mem_ptr
    - BIO_s_mem
    - BIO_new
    - curlx_dyn_reset
    - curlx_dyn_addn
    - X509_NAME_print_ex
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode x509_name_oneline(X509_NAME *a, struct dynbuf *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_ssl
      Src: /src/curl/lib/vtls/openssl.c:1868,1
    - Dst: OPENSSL_load_builtin_modules
      Src: /src/curl/lib/vtls/openssl.c:1870,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/curl/lib/vtls/openssl.c:1873,1
    - Dst: CONF_modules_load_file
      Src: /src/curl/lib/vtls/openssl.c:1877,1
    - Dst: SSL_load_error_strings
      Src: /src/curl/lib/vtls/openssl.c:1883,1
    - Dst: SSLeay_add_ssl_algorithms
      Src: /src/curl/lib/vtls/openssl.c:1886,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/curl/lib/vtls/openssl.c:1889,1
    - Dst: Curl_tls_keylog_open
      Src: /src/curl/lib/vtls/openssl.c:1892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1854
    functionDepth: 3
    functionLinenumber: 1854
    functionLinenumberEnd: 1895
    functionName: ossl_init
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_tls_keylog_open
    - OPENSSL_load_builtin_modules
    - CONF_modules_load_file
    - ENGINE_load_builtin_engines
    - SSLeay_add_ssl_algorithms
    - OPENSSL_init_ssl
    - SSL_load_error_strings
    - OpenSSL_add_all_algorithms
    linkageType: ''
    returnType: int
    signature: int ossl_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_cleanup
      Src: /src/curl/lib/vtls/openssl.c:1905,1
    - Dst: ENGINE_cleanup
      Src: /src/curl/lib/vtls/openssl.c:1909,1
    - Dst: ERR_free_strings
      Src: /src/curl/lib/vtls/openssl.c:1913,1
    - Dst: ERR_remove_thread_state
      Src: /src/curl/lib/vtls/openssl.c:1916,1
    - Dst: CONF_modules_free
      Src: /src/curl/lib/vtls/openssl.c:1919,1
    - Dst: SSL_COMP_free_compression_methods
      Src: /src/curl/lib/vtls/openssl.c:1922,1
    - Dst: Curl_tls_keylog_close
      Src: /src/curl/lib/vtls/openssl.c:1926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1898
    functionDepth: 2
    functionLinenumber: 1898
    functionLinenumberEnd: 1927
    functionName: ossl_cleanup
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_free_strings
    - Curl_tls_keylog_close
    - CONF_modules_free
    - SSL_COMP_free_compression_methods
    - EVP_cleanup
    - ENGINE_cleanup
    - ERR_remove_thread_state
    linkageType: ''
    returnType: void
    signature: void ossl_cleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/curl/lib/vtls/openssl.c:1935,1
    - Dst: ENGINE_finish
      Src: /src/curl/lib/vtls/openssl.c:1940,1
    - Dst: ENGINE_free
      Src: /src/curl/lib/vtls/openssl.c:1941,1
    - Dst: ENGINE_init
      Src: /src/curl/lib/vtls/openssl.c:1944,1
    - Dst: ENGINE_free
      Src: /src/curl/lib/vtls/openssl.c:1947,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1948,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:1949,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:1949,1
    - Dst: ossl_set_provider
      Src: /src/curl/lib/vtls/openssl.c:1961,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - data
    - name
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1931
    functionDepth: 2
    functionLinenumber: 1931
    functionLinenumberEnd: 1967
    functionName: ossl_set_engine
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - failf
    - ENGINE_init
    - ENGINE_finish
    - ENGINE_by_id
    - ENGINE_free
    - ossl_strerror
    - ossl_set_provider
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_set_engine(struct Curl_easy *data, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_default
      Src: /src/curl/lib/vtls/openssl.c:1975,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:1976,1
    - Dst: ENGINE_get_id
      Src: /src/curl/lib/vtls/openssl.c:1977,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:1980,1
    - Dst: ENGINE_get_id
      Src: /src/curl/lib/vtls/openssl.c:1981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1971
    functionDepth: 1
    functionLinenumber: 1971
    functionLinenumberEnd: 1989
    functionName: ossl_set_engine_default
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - ENGINE_set_default
    - failf
    - ENGINE_get_id
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_set_engine_default(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/curl/lib/vtls/openssl.c:2000,1
    - Dst: ENGINE_get_next
      Src: /src/curl/lib/vtls/openssl.c:2000,1
    - Dst: curl_slist_append
      Src: /src/curl/lib/vtls/openssl.c:2001,1
    - Dst: ENGINE_get_id
      Src: /src/curl/lib/vtls/openssl.c:2001,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/vtls/openssl.c:2003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1993
    functionDepth: 3
    functionLinenumber: 1993
    functionLinenumberEnd: 2011
    functionName: ossl_engines_list
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_next
    - ENGINE_get_first
    - curl_slist_free_all
    - curl_slist_append
    - ENGINE_get_id
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *ossl_engines_list(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/curl/lib/vtls/openssl.c:2018,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/curl/lib/vtls/openssl.c:2022,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/curl/lib/vtls/openssl.c:2025,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/openssl.c:2027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2029
    functionName: ossl_provider_cleanup
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void ossl_provider_cleanup(struct Curl_easy *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_cleanup
      Src: /src/curl/lib/vtls/openssl.c:2049,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/vtls/openssl.c:2052,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/vtls/openssl.c:2055,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/openssl.c:2060,1
    - Dst: curlx_str
      Src: /src/curl/lib/vtls/openssl.c:2060,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/vtls/openssl.c:2060,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/vtls/openssl.c:2061,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/curl/lib/vtls/openssl.c:2064,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/openssl.c:2068,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/curl/lib/vtls/openssl.c:2070,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/curl/lib/vtls/openssl.c:2080,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:2081,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/curl/lib/vtls/openssl.c:2085,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/curl/lib/vtls/openssl.c:2092,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2095,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:2096,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:2096,1
    - Dst: ossl_provider_cleanup
      Src: /src/curl/lib/vtls/openssl.c:2098,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/curl/lib/vtls/openssl.c:2104,1
    - Dst: ossl_provider_cleanup
      Src: /src/curl/lib/vtls/openssl.c:2106,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - data
    - iname
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2041
    functionDepth: 2
    functionLinenumber: 2041
    functionLinenumberEnd: 2113
    functionName: ossl_set_provider
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - ERR_get_error
    - failf
    - strdup
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - memcpy
    - ossl_provider_cleanup
    - curlx_strlen
    - curlx_str_single
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_try_load
    - infof
    - ossl_strerror
    - curlx_str_until
    - OSSL_LIB_CTX_free
    - curlx_str
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ossl_set_provider(struct Curl_easy *data, const char *iname)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:2129,1
    - Dst: SSL_get_shutdown
      Src: /src/curl/lib/vtls/openssl.c:2137,1
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vtls/openssl.c:2140,1
    - Dst: SSL_read
      Src: /src/curl/lib/vtls/openssl.c:2142,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2143,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vtls/openssl.c:2147,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2152,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/curl/lib/vtls/openssl.c:2156,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2161,1
    - Dst: SSL_get_shutdown
      Src: /src/curl/lib/vtls/openssl.c:2170,1
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vtls/openssl.c:2172,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2173,1
    - Dst: SSL_shutdown
      Src: /src/curl/lib/vtls/openssl.c:2174,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2176,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vtls/openssl.c:2180,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2181,1
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vtls/openssl.c:2190,1
    - Dst: SSL_read
      Src: /src/curl/lib/vtls/openssl.c:2191,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2192,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vtls/openssl.c:2196,1
    - Dst: SSL_shutdown
      Src: /src/curl/lib/vtls/openssl.c:2199,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2200,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2202,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2209,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2213,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:2219,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:2220,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:2222,1
    - Dst: SSL_ERROR_to_str
      Src: /src/curl/lib/vtls/openssl.c:2223,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 88
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2117
    functionDepth: 2
    functionLinenumber: 2117
    functionLinenumberEnd: 2235
    functionName: ossl_shutdown
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - struct Curl_cfilter*::next::cft::is_alive
    - SSL_shutdown
    - CURL_TRC_CF
    - SSL_get_error
    - SSL_get_shutdown
    - ERR_clear_error
    - SSL_ERROR_to_str
    - ossl_strerror
    - SSL_read
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_shutdown(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool send_shutdown, bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:2243,1
    - Dst: SSL_free
      Src: /src/curl/lib/vtls/openssl.c:2247,1
    - Dst: SSL_CTX_free
      Src: /src/curl/lib/vtls/openssl.c:2251,1
    - Dst: ossl_bio_cf_method_free
      Src: /src/curl/lib/vtls/openssl.c:2256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2237
    functionDepth: 1
    functionLinenumber: 2237
    functionLinenumberEnd: 2259
    functionName: ossl_close
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - DEBUGASSERT
    - SSL_free
    - ossl_bio_cf_method_free
    linkageType: ''
    returnType: void
    signature: void ossl_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/curl/lib/vtls/openssl.c:2269,1
    - Dst: ENGINE_free
      Src: /src/curl/lib/vtls/openssl.c:2270,1
    - Dst: ossl_provider_cleanup
      Src: /src/curl/lib/vtls/openssl.c:2277,1
    - Dst: ERR_remove_thread_state
      Src: /src/curl/lib/vtls/openssl.c:2284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2265
    functionDepth: 2
    functionLinenumber: 2265
    functionLinenumberEnd: 2286
    functionName: ossl_close_all
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    - ossl_provider_cleanup
    - ERR_remove_thread_state
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: void ossl_close_all(struct Curl_easy *data)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/curl/lib/vtls/openssl.c:2320,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/openssl.c:2329,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/vtls/openssl.c:2334,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/vtls/openssl.c:2341,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:2351,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2352,1
    - Dst: X509_get_ext_d2i
      Src: /src/curl/lib/vtls/openssl.c:2357,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/curl/lib/vtls/openssl.c:2370,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/curl/lib/vtls/openssl.c:2375,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/curl/lib/vtls/openssl.c:2385,1
    - Dst: ASN1_STRING_length
      Src: /src/curl/lib/vtls/openssl.c:2386,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/openssl.c:2399,1
    - Dst: Curl_cert_hostcheck
      Src: /src/curl/lib/vtls/openssl.c:2402,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:2404,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/openssl.c:2412,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:2414,1
    - Dst: GENERAL_NAMES_free
      Src: /src/curl/lib/vtls/openssl.c:2422,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:2432,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2433,1
    - Dst: X509_get_subject_name
      Src: /src/curl/lib/vtls/openssl.c:2446,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/curl/lib/vtls/openssl.c:2449,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/curl/lib/vtls/openssl.c:2459,1
    - Dst: X509_NAME_get_entry
      Src: /src/curl/lib/vtls/openssl.c:2459,1
    - Dst: ASN1_STRING_type
      Src: /src/curl/lib/vtls/openssl.c:2466,1
    - Dst: ASN1_STRING_length
      Src: /src/curl/lib/vtls/openssl.c:2467,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:2468,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/curl/lib/vtls/openssl.c:2468,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/curl/lib/vtls/openssl.c:2471,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/openssl.c:2477,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2480,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2490,1
    - Dst: Curl_cert_hostcheck
      Src: /src/curl/lib/vtls/openssl.c:2494,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2496,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:2501,1
    - Dst: OPENSSL_free
      Src: /src/curl/lib/vtls/openssl.c:2504,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 95
    argCount: 4
    argNames:
    - data
    - conn
    - peer
    - server_cert
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - struct ssl_peer*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2312
    functionDepth: 6
    functionLinenumber: 2312
    functionLinenumberEnd: 2508
    functionName: ossl_verifyhost
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_cert_hostcheck
    - CURL_UNCONST
    - X509_get_ext_d2i
    - sk_GENERAL_NAME_value
    - failf
    - curlx_inet_pton
    - X509_NAME_ENTRY_get_data
    - STACK_OF
    - X509_NAME_get_entry
    - ASN1_STRING_type
    - ASN1_STRING_length
    - strlen
    - X509_get_subject_name
    - ASN1_STRING_to_UTF8
    - sk_GENERAL_NAME_num
    - DEBUGASSERT
    - OPENSSL_free
    - X509_NAME_get_index_by_NID
    - ASN1_STRING_get0_data
    - memcmp
    - infof
    - GENERAL_NAMES_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_verifyhost(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                struct ssl_peer *peer,\n
      \                               X509 *server_cert)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/curl/lib/vtls/openssl.c:2526,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:2535,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/curl/lib/vtls/openssl.c:2537,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2540,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/curl/lib/vtls/openssl.c:2545,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2547,1
    - Dst: OCSP_response_status
      Src: /src/curl/lib/vtls/openssl.c:2552,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2554,1
    - Dst: OCSP_response_status_str
      Src: /src/curl/lib/vtls/openssl.c:2555,1
    - Dst: OCSP_response_get1_basic
      Src: /src/curl/lib/vtls/openssl.c:2560,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2562,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/curl/lib/vtls/openssl.c:2567,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2569,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/curl/lib/vtls/openssl.c:2573,1
    - Dst: OCSP_basic_verify
      Src: /src/curl/lib/vtls/openssl.c:2575,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2576,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/curl/lib/vtls/openssl.c:2582,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2584,1
    - Dst: sk_X509_num
      Src: /src/curl/lib/vtls/openssl.c:2589,1
    - Dst: sk_X509_value
      Src: /src/curl/lib/vtls/openssl.c:2590,1
    - Dst: X509_check_issued
      Src: /src/curl/lib/vtls/openssl.c:2591,1
    - Dst: OCSP_cert_to_id
      Src: /src/curl/lib/vtls/openssl.c:2595,1
    - Dst: EVP_sha1
      Src: /src/curl/lib/vtls/openssl.c:2595,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:2599,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2602,1
    - Dst: OCSP_resp_find_status
      Src: /src/curl/lib/vtls/openssl.c:2608,1
    - Dst: OCSP_CERTID_free
      Src: /src/curl/lib/vtls/openssl.c:2610,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2612,1
    - Dst: OCSP_check_validity
      Src: /src/curl/lib/vtls/openssl.c:2625,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2626,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:2631,1
    - Dst: OCSP_cert_status_str
      Src: /src/curl/lib/vtls/openssl.c:2632,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:2640,1
    - Dst: OCSP_crl_reason_str
      Src: /src/curl/lib/vtls/openssl.c:2641,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/curl/lib/vtls/openssl.c:2652,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/curl/lib/vtls/openssl.c:2653,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 102
    argCount: 3
    argNames:
    - cf
    - data
    - octx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2511
    functionDepth: 1
    functionLinenumber: 2511
    functionLinenumberEnd: 2656
    functionName: verifystatus
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - OCSP_BASICRESP_free
    - sk_X509_num
    - EVP_sha1
    - OCSP_basic_verify
    - failf
    - OCSP_response_status_str
    - SSL_CTX_get_cert_store
    - STACK_OF
    - X509_free
    - SSL_get1_peer_certificate
    - OCSP_CERTID_free
    - OCSP_cert_status_str
    - SSL_get_tlsext_status_ocsp_resp
    - OCSP_response_get1_basic
    - OCSP_crl_reason_str
    - OCSP_response_status
    - DEBUGASSERT
    - SSL_get_peer_cert_chain
    - OCSP_RESPONSE_free
    - X509_check_issued
    - OCSP_cert_to_id
    - d2i_OCSP_RESPONSE
    - OCSP_check_validity
    - OCSP_resp_find_status
    - infof
    - sk_X509_value
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode verifystatus(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             struct ossl_ctx *octx)"
  - BBCount: 30
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 2
    argNames:
    - ssl_ver
    - msg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2743
    functionName: ssl_msg_type
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ssl_msg_type(int ssl_ver, int msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2745
    functionDepth: 0
    functionLinenumber: 2745
    functionLinenumberEnd: 2763
    functionName: tls_rt_type
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *tls_rt_type(int type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/openssl.c:2779,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:2815,1
    - Dst: tls_rt_type
      Src: /src/curl/lib/vtls/openssl.c:2845,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/curl/lib/vtls/openssl.c:2855,1
    - Dst: ssl_msg_type
      Src: /src/curl/lib/vtls/openssl.c:2859,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:2862,1
    - Dst: Curl_debug
      Src: /src/curl/lib/vtls/openssl.c:2866,1
    - Dst: Curl_debug
      Src: /src/curl/lib/vtls/openssl.c:2869,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 7
    argNames:
    - direction
    - ssl_ver
    - content_type
    - buf
    - len
    - ssl
    - userp
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2768
    functionDepth: 8
    functionLinenumber: 2768
    functionLinenumberEnd: 2872
    functionName: ossl_trace
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - tls_rt_type
    - SSL_alert_desc_string_long
    - CF_DATA_CURRENT
    - ssl_msg_type
    - Curl_debug
    linkageType: ''
    returnType: void
    signature: "void ossl_trace(int direction, int ssl_ver, int content_type,\n                       const
      void *buf, size_t len, SSL *ssl,\n                       void *userp)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:2884,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/curl/lib/vtls/openssl.c:2924,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/curl/lib/vtls/openssl.c:2958,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - cf
    - ctx
    - ssl_version_min
    argTypes:
    - struct Curl_cfilter*
    - SSL_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2963
      start: 2880
    functionDepth: 0
    functionLinenumber: 2880
    functionLinenumberEnd: 2963
    functionName: ossl_set_ssl_version_min_max
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_cf_get_primary_config
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_min_proto_version
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_set_ssl_version_min_max(struct Curl_cfilter *cf, SSL_CTX
      *ctx,\n                             unsigned int ssl_version_min)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:2983,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:2995,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/curl/lib/vtls/openssl.c:2996,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3001,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/openssl.c:3004,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/openssl.c:3007,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/openssl.c:3010,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/openssl.c:3019,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/openssl.c:3022,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3032,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - ctx_options
    - cf
    - data
    argTypes:
    - ctx_option_t*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3037
      start: 2978
    functionDepth: 1
    functionLinenumber: 2978
    functionLinenumberEnd: 3037
    functionName: ossl_set_ssl_version_min_max_legacy
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - SSL_CTX_set_max_proto_version
    - failf
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_set_ssl_version_min_max_legacy(ctx_option_t *ctx_options,\n
      \                                   struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/openssl.c:3057,1
    - Dst: i2d_SSL_SESSION
      Src: /src/curl/lib/vtls/openssl.c:3064,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/openssl.c:3070,1
    - Dst: i2d_SSL_SESSION
      Src: /src/curl/lib/vtls/openssl.c:3076,1
    - Dst: SSL_SESSION_get_max_early_data
      Src: /src/curl/lib/vtls/openssl.c:3083,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/vtls/openssl.c:3086,1
    - Dst: Curl_ssl_session_create2
      Src: /src/curl/lib/vtls/openssl.c:3093,1
    - Dst: time
      Src: /src/curl/lib/vtls/openssl.c:3095,1
    - Dst: SSL_SESSION_get_timeout
      Src: /src/curl/lib/vtls/openssl.c:3096,1
    - Dst: Curl_ssl_scache_put
      Src: /src/curl/lib/vtls/openssl.c:3101,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:3107,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 8
    argNames:
    - cf
    - data
    - ssl_peer_key
    - session
    - ietf_tls_id
    - alpn
    - quic_tp
    - quic_tp_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - SSL_SESSION*
    - int
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3040
    functionDepth: 10
    functionLinenumber: 3040
    functionLinenumberEnd: 3109
    functionName: Curl_ossl_add_session
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - malloc
    - Curl_ssl_session_create2
    - SSL_SESSION_get_timeout
    - SSL_SESSION_get_max_early_data
    - free
    - i2d_SSL_SESSION
    - Curl_ssl_scache_put
    - Curl_memdup0
    - Curl_ssl_cf_get_config
    - time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ossl_add_session(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const char *ssl_peer_key,\n
      \                              SSL_SESSION *session,\n                               int
      ietf_tls_id,\n                               const char *alpn,\n                               unsigned
      char *quic_tp,\n                               size_t quic_tp_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/curl/lib/vtls/openssl.c:3116,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/openssl.c:3118,1
    - Dst: Curl_ossl_add_session
      Src: /src/curl/lib/vtls/openssl.c:3120,1
    - Dst: SSL_version
      Src: /src/curl/lib/vtls/openssl.c:3121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - ssl_sessionid
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3114
    functionDepth: 11
    functionLinenumber: 3114
    functionLinenumberEnd: 3125
    functionName: ossl_new_session_cb
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_app_data
    - CF_DATA_CURRENT
    - Curl_ossl_add_session
    - SSL_version
    linkageType: ''
    returnType: int
    signature: int ossl_new_session_cb(SSL *ssl, SSL_SESSION *ssl_sessionid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/curl/lib/vtls/openssl.c:3132,1
    - Dst: BIO_new_mem_buf
      Src: /src/curl/lib/vtls/openssl.c:3141,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/curl/lib/vtls/openssl.c:3145,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:3147,1
    - Dst: sk_X509_INFO_num
      Src: /src/curl/lib/vtls/openssl.c:3152,1
    - Dst: sk_X509_INFO_value
      Src: /src/curl/lib/vtls/openssl.c:3153,1
    - Dst: X509_STORE_add_cert
      Src: /src/curl/lib/vtls/openssl.c:3155,1
    - Dst: X509_STORE_add_crl
      Src: /src/curl/lib/vtls/openssl.c:3165,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/curl/lib/vtls/openssl.c:3180,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:3184,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - store
    - ca_info_blob
    argTypes:
    - X509_STORE*
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3188
    functionName: load_cacert_from_memory
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - sk_X509_INFO_value
    - X509_STORE_add_cert
    - sk_X509_INFO_pop_free
    - BIO_free
    - BIO_new_mem_buf
    - STACK_OF
    - X509_STORE_add_crl
    - PEM_X509_INFO_read_bio
    - sk_X509_INFO_num
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode load_cacert_from_memory(X509_STORE *store,\n                                        const
      struct curl_blob *ca_info_blob)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenSystemStoreA
      Src: /src/curl/lib/vtls/openssl.c:3201,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/curl/lib/vtls/openssl.c:3221,1
    - Dst: CertGetNameStringA
      Src: /src/curl/lib/vtls/openssl.c:3228,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3230,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3232,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/curl/lib/vtls/openssl.c:3239,1
    - Dst: CompareFileTime
      Src: /src/curl/lib/vtls/openssl.c:3240,1
    - Dst: CompareFileTime
      Src: /src/curl/lib/vtls/openssl.c:3241,1
    - Dst: CertGetIntendedKeyUsage
      Src: /src/curl/lib/vtls/openssl.c:3245,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/openssl.c:3251,1
    - Dst: CertGetEnhancedKeyUsage
      Src: /src/curl/lib/vtls/openssl.c:3262,1
    - Dst: realloc
      Src: /src/curl/lib/vtls/openssl.c:3264,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3267,1
    - Dst: CertGetEnhancedKeyUsage
      Src: /src/curl/lib/vtls/openssl.c:3276,1
    - Dst: GetLastError
      Src: /src/curl/lib/vtls/openssl.c:3281,1
    - Dst: strcmp
      Src: /src/curl/lib/vtls/openssl.c:3289,1
    - Dst: d2i_X509
      Src: /src/curl/lib/vtls/openssl.c:3306,1
    - Dst: X509_STORE_add_cert
      Src: /src/curl/lib/vtls/openssl.c:3313,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3315,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:3319,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:3322,1
    - Dst: CertFreeCertificateContext
      Src: /src/curl/lib/vtls/openssl.c:3323,1
    - Dst: CertCloseStore
      Src: /src/curl/lib/vtls/openssl.c:3324,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 69
    argCount: 4
    argNames:
    - data
    - win_store
    - store
    - padded
    argTypes:
    - struct Curl_easy*
    - char*
    - X509_STORE*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3191
    functionDepth: 1
    functionLinenumber: 3191
    functionLinenumberEnd: 3331
    functionName: ossl_win_load_store
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_cert
    - CertOpenSystemStoreA
    - CertGetIntendedKeyUsage
    - failf
    - CompareFileTime
    - realloc
    - CertGetEnhancedKeyUsage
    - X509_free
    - free
    - strcmp
    - d2i_X509
    - CertGetNameStringA
    - CertFreeCertificateContext
    - CertCloseStore
    - infof
    - GetSystemTimeAsFileTime
    - GetLastError
    - CertEnumCertificatesInStore
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_win_load_store(struct Curl_easy *data,\n                                    const
      char *win_store,\n                                    X509_STORE *store,\n                                    bool
      *padded)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/vtls/openssl.c:3351,1
    - Dst: ossl_win_load_store
      Src: /src/curl/lib/vtls/openssl.c:3353,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:3357,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - cf
    - data
    - store
    - padded
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509_STORE*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3333
    functionDepth: 2
    functionLinenumber: 3333
    functionLinenumberEnd: 3366
    functionName: ossl_windows_load_anchors
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - CURL_TRC_CF
    - CURL_ARRAYSIZE
    - ossl_win_load_store
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_windows_load_anchors(struct Curl_cfilter *cf,\n                                          struct
      Curl_easy *data,\n                                          X509_STORE *store,\n
      \                                         bool *padded)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:3375,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/openssl.c:3376,1
    - Dst: ossl_windows_load_anchors
      Src: /src/curl/lib/vtls/openssl.c:3388,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3392,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3396,1
    - Dst: load_cacert_from_memory
      Src: /src/curl/lib/vtls/openssl.c:3402,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3404,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3408,1
    - Dst: X509_STORE_load_file
      Src: /src/curl/lib/vtls/openssl.c:3416,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3419,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3423,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3425,1
    - Dst: X509_STORE_load_path
      Src: /src/curl/lib/vtls/openssl.c:3429,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3432,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3436,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3438,1
    - Dst: X509_STORE_load_locations
      Src: /src/curl/lib/vtls/openssl.c:3444,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3447,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3454,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3459,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3461,1
    - Dst: X509_STORE_set_default_paths
      Src: /src/curl/lib/vtls/openssl.c:3470,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3471,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 4
    argNames:
    - cf
    - data
    - octx
    - store
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3479
      start: 3370
    functionDepth: 3
    functionLinenumber: 3370
    functionLinenumberEnd: 3479
    functionName: ossl_load_trust_anchors
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - failf
    - X509_STORE_load_locations
    - load_cacert_from_memory
    - ossl_windows_load_anchors
    - X509_STORE_load_file
    - X509_STORE_set_default_paths
    - infof
    - Curl_ssl_cf_get_primary_config
    - Curl_ssl_cf_get_config
    - X509_STORE_load_path
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_load_trust_anchors(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        struct ossl_ctx *octx,\n
      \                                       X509_STORE *store)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:3486,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/openssl.c:3487,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:3492,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3497,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3501,1
    - Dst: ossl_load_trust_anchors
      Src: /src/curl/lib/vtls/openssl.c:3502,1
    - Dst: X509_STORE_add_lookup
      Src: /src/curl/lib/vtls/openssl.c:3510,1
    - Dst: X509_LOOKUP_file
      Src: /src/curl/lib/vtls/openssl.c:3510,1
    - Dst: X509_load_crl_file
      Src: /src/curl/lib/vtls/openssl.c:3512,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3513,1
    - Dst: X509_STORE_set_flags
      Src: /src/curl/lib/vtls/openssl.c:3516,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3518,1
    - Dst: X509_STORE_set_flags
      Src: /src/curl/lib/vtls/openssl.c:3527,1
    - Dst: X509_STORE_set_flags
      Src: /src/curl/lib/vtls/openssl.c:3537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - cf
    - data
    - octx
    - store
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3541
      start: 3481
    functionDepth: 4
    functionLinenumber: 3481
    functionLinenumberEnd: 3541
    functionName: ossl_populate_x509_store
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - X509_LOOKUP_file
    - X509_STORE_add_lookup
    - X509_STORE_set_flags
    - infof
    - Curl_ssl_cf_get_primary_config
    - X509_load_crl_file
    - Curl_ssl_cf_get_config
    - ossl_load_trust_anchors
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_populate_x509_store(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         struct ossl_ctx *octx,\n
      \                                        X509_STORE *store)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:3558,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:3559,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/openssl.c:3559,1
    - Dst: X509_STORE_free
      Src: /src/curl/lib/vtls/openssl.c:3563,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:3565,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:3566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - key
    - key_len
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3555
    functionDepth: 1
    functionLinenumber: 3555
    functionLinenumberEnd: 3567
    functionName: oss_x509_share_free
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - memcmp
    - X509_STORE_free
    linkageType: ''
    returnType: void
    signature: void oss_x509_share_free(void *key, size_t key_len, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/openssl.c:3577,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vtls/openssl.c:3578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - mb
    argTypes:
    - struct Curl_easy*
    - struct ossl_x509_share*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3569
    functionDepth: 1
    functionLinenumber: 3569
    functionLinenumberEnd: 3583
    functionName: ossl_cached_x509_store_expired
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curlx_timediff
    - curlx_now
    linkageType: ''
    returnType: bool
    signature: "bool ossl_cached_x509_store_expired(const struct Curl_easy *data,\n
      \                              const struct ossl_x509_share *mb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:3589,1
    - Dst: strcmp
      Src: /src/curl/lib/vtls/openssl.c:3593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - mb
    argTypes:
    - struct Curl_cfilter*
    - struct ossl_x509_share*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3594
      start: 3585
    functionDepth: 0
    functionLinenumber: 3585
    functionLinenumberEnd: 3594
    functionName: ossl_cached_x509_store_different
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_cf_get_primary_config
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool ossl_cached_x509_store_different(struct Curl_cfilter *cf,\n                                 const
      struct ossl_x509_share *mb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:3604,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/vtls/openssl.c:3606,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:3607,1
    - Dst: ossl_cached_x509_store_expired
      Src: /src/curl/lib/vtls/openssl.c:3610,1
    - Dst: ossl_cached_x509_store_different
      Src: /src/curl/lib/vtls/openssl.c:3611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - cf
    - data
    - pempty
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3617
      start: 3596
    functionDepth: 2
    functionLinenumber: 3596
    functionLinenumberEnd: 3617
    functionName: ossl_get_cached_x509_store
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_cached_x509_store_different
    - ossl_cached_x509_store_expired
    - CURL_UNCONST
    - DEBUGASSERT
    - Curl_hash_pick
    linkageType: ''
    returnType: X509_STORE
    signature: "X509_STORE *ossl_get_cached_x509_store(struct Curl_cfilter *cf,\n
      \                                             const struct Curl_easy *data,\n
      \                                             bool *pempty)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:3624,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:3628,1
    - Dst: Curl_hash_pick
      Src: /src/curl/lib/vtls/openssl.c:3631,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:3632,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/openssl.c:3636,1
    - Dst: Curl_hash_add2
      Src: /src/curl/lib/vtls/openssl.c:3639,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vtls/openssl.c:3640,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:3643,1
    - Dst: X509_STORE_up_ref
      Src: /src/curl/lib/vtls/openssl.c:3648,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/openssl.c:3652,1
    - Dst: X509_STORE_free
      Src: /src/curl/lib/vtls/openssl.c:3654,1
    - Dst: X509_STORE_free
      Src: /src/curl/lib/vtls/openssl.c:3660,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:3661,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/openssl.c:3664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - cf
    - data
    - store
    - is_empty
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509_STORE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3669
      start: 3619
    functionDepth: 3
    functionLinenumber: 3619
    functionLinenumberEnd: 3669
    functionName: ossl_set_cached_x509_store
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - calloc
    - strdup
    - X509_STORE_free
    - curlx_now
    - CURL_UNCONST
    - free
    - X509_STORE_up_ref
    - Curl_hash_add2
    - Curl_ssl_cf_get_primary_config
    - DEBUGASSERT
    - Curl_hash_pick
    linkageType: ''
    returnType: void
    signature: "void ossl_set_cached_x509_store(struct Curl_cfilter *cf,\n                                       const
      struct Curl_easy *data,\n                                       X509_STORE *store,\n
      \                                      bool is_empty)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:3675,1
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/openssl.c:3676,1
    - Dst: ERR_set_mark
      Src: /src/curl/lib/vtls/openssl.c:3691,1
    - Dst: ossl_get_cached_x509_store
      Src: /src/curl/lib/vtls/openssl.c:3693,1
    - Dst: X509_STORE_up_ref
      Src: /src/curl/lib/vtls/openssl.c:3694,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/curl/lib/vtls/openssl.c:3695,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/curl/lib/vtls/openssl.c:3699,1
    - Dst: ossl_populate_x509_store
      Src: /src/curl/lib/vtls/openssl.c:3701,1
    - Dst: ossl_set_cached_x509_store
      Src: /src/curl/lib/vtls/openssl.c:3703,1
    - Dst: ERR_pop_to_mark
      Src: /src/curl/lib/vtls/openssl.c:3707,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - cf
    - data
    - octx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3710
      start: 3671
    functionDepth: 5
    functionLinenumber: 3671
    functionLinenumberEnd: 3710
    functionName: Curl_ssl_setup_x509_store
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - ossl_set_cached_x509_store
    - ERR_set_mark
    - ERR_pop_to_mark
    - X509_STORE_up_ref
    - SSL_CTX_get_cert_store
    - ossl_get_cached_x509_store
    - Curl_ssl_cf_get_primary_config
    - ossl_populate_x509_store
    - SSL_CTX_set_cert_store
    - Curl_ssl_cf_get_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_setup_x509_store(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct ossl_ctx *octx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/curl/lib/vtls/openssl.c:3719,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/curl/lib/vtls/openssl.c:3721,1
    - Dst: ossl_populate_x509_store
      Src: /src/curl/lib/vtls/openssl.c:3722,1
    - Dst: ERR_pop_to_mark
      Src: /src/curl/lib/vtls/openssl.c:3724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - octx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3727
      start: 3712
    functionDepth: 5
    functionLinenumber: 3712
    functionLinenumberEnd: 3727
    functionName: Curl_ssl_setup_x509_store
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - ERR_set_mark
    - ossl_populate_x509_store
    - ERR_pop_to_mark
    - SSL_CTX_get_cert_store
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_setup_x509_store(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct ossl_ctx *octx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/openssl.c:3739,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:3740,1
    - Dst: Curl_alpn_copy
      Src: /src/curl/lib/vtls/openssl.c:3745,1
    - Dst: Curl_ssl_scache_take
      Src: /src/curl/lib/vtls/openssl.c:3751,1
    - Dst: d2i_SSL_SESSION
      Src: /src/curl/lib/vtls/openssl.c:3759,1
    - Dst: SSL_set_session
      Src: /src/curl/lib/vtls/openssl.c:3762,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3763,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:3765,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:3765,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3769,1
    - Dst: SSL_SESSION_get_max_early_data
      Src: /src/curl/lib/vtls/openssl.c:3774,1
    - Dst: SSL_version
      Src: /src/curl/lib/vtls/openssl.c:3776,1
    - Dst: sess_reuse_cb
      Src: /src/curl/lib/vtls/openssl.c:3779,1
    - Dst: Curl_alpn_restrict_to
      Src: /src/curl/lib/vtls/openssl.c:3786,1
    - Dst: SSL_SESSION_free
      Src: /src/curl/lib/vtls/openssl.c:3793,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3796,1
    - Dst: Curl_ssl_scache_return
      Src: /src/curl/lib/vtls/openssl.c:3799,1
    - Dst: memset
      Src: /src/curl/lib/vtls/openssl.c:3805,1
    - Dst: Curl_alpn_to_proto_buf
      Src: /src/curl/lib/vtls/openssl.c:3806,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3808,1
    - Dst: SSL_set_alpn_protos
      Src: /src/curl/lib/vtls/openssl.c:3811,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3812,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 6
    argNames:
    - octx
    - cf
    - data
    - peer
    - alpns_requested
    - sess_reuse_cb
    argTypes:
    - struct ossl_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - Curl_ossl_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3731
    functionDepth: 11
    functionLinenumber: 3731
    functionLinenumberEnd: 3819
    functionName: ossl_init_session_and_alpns
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_to_proto_buf
    - SSL_set_session
    - SSL_version
    - sess_reuse_cb
    - ERR_get_error
    - failf
    - SSL_SESSION_get_max_early_data
    - SSL_set_alpn_protos
    - d2i_SSL_SESSION
    - Curl_alpn_copy
    - Curl_ssl_scache_return
    - Curl_ssl_cf_get_primary_config
    - Curl_ssl_cf_get_config
    - Curl_alpn_restrict_to
    - SSL_SESSION_free
    - Curl_ssl_scache_take
    - memset
    - infof
    - ossl_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_init_session_and_alpns(struct ossl_ctx *octx,\n                            struct
      Curl_cfilter *cf,\n                            struct Curl_easy *data,\n                            struct
      ssl_peer *peer,\n                            const struct alpn_spec *alpns_requested,\n
      \                           Curl_ossl_init_session_reuse_cb *sess_reuse_cb)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ECH_ENABLED
      Src: /src/curl/lib/vtls/openssl.c:3833,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3837,1
    - Dst: SSL_set_enable_ech_grease
      Src: /src/curl/lib/vtls/openssl.c:3839,1
    - Dst: SSL_set_options
      Src: /src/curl/lib/vtls/openssl.c:3841,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3850,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/openssl.c:3853,1
    - Dst: curlx_base64_decode
      Src: /src/curl/lib/vtls/openssl.c:3854,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3856,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/curl/lib/vtls/openssl.c:3860,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3862,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:3864,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:3868,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3873,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/openssl.c:3876,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/curl/lib/vtls/openssl.c:3877,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3879,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3886,1
    - Dst: Curl_dnscache_get
      Src: /src/curl/lib/vtls/openssl.c:3892,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3895,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3907,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/curl/lib/vtls/openssl.c:3908,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3909,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3915,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3919,1
    - Dst: Curl_resolv_unlink
      Src: /src/curl/lib/vtls/openssl.c:3923,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3928,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3933,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/curl/lib/vtls/openssl.c:3935,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3939,1
    - Dst: SSL_set_min_proto_version
      Src: /src/curl/lib/vtls/openssl.c:3945,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:3946,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 4
    argNames:
    - octx
    - cf
    - data
    - peer
    argTypes:
    - struct ossl_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3951
      start: 3822
    functionDepth: 4
    functionLinenumber: 3822
    functionLinenumberEnd: 3951
    functionName: ossl_init_ech
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ECH_ENABLED
    - strlen
    - SSL_set_min_proto_version
    - curlx_base64_decode
    - SSL_set1_ech_config_list
    - free
    - SSL_ech_set1_server_names
    - SSL_set_enable_ech_grease
    - Curl_dnscache_get
    - infof
    - Curl_resolv_unlink
    - SSL_set_options
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_init_ech(struct ossl_ctx *octx,\n                              struct
      Curl_cfilter *cf,\n                              struct Curl_easy *data,\n                              struct
      ssl_peer *peer)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/curl/lib/vtls/openssl.c:3965,1
    - Dst: SSL_new
      Src: /src/curl/lib/vtls/openssl.c:3966,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3968,1
    - Dst: SSL_set_app_data
      Src: /src/curl/lib/vtls/openssl.c:3972,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:3975,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/curl/lib/vtls/openssl.c:3976,1
    - Dst: SSL_set_connect_state
      Src: /src/curl/lib/vtls/openssl.c:3979,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/curl/lib/vtls/openssl.c:3982,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:3983,1
    - Dst: ossl_init_ech
      Src: /src/curl/lib/vtls/openssl.c:3990,1
    - Dst: ossl_init_session_and_alpns
      Src: /src/curl/lib/vtls/openssl.c:3996,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 7
    argNames:
    - octx
    - cf
    - data
    - peer
    - alpns_requested
    - ssl_user_data
    - sess_reuse_cb
    argTypes:
    - struct ossl_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - void*
    - Curl_ossl_init_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3998
      start: 3955
    functionDepth: 12
    functionLinenumber: 3955
    functionLinenumberEnd: 3998
    functionName: ossl_init_ssl
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_init_ech
    - failf
    - SSL_set_app_data
    - SSL_new
    - ossl_init_session_and_alpns
    - SSL_set_connect_state
    - SSL_set_tlsext_host_name
    - SSL_set_tlsext_status_type
    - Curl_ssl_cf_get_primary_config
    - SSL_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_init_ssl(struct ossl_ctx *octx,\n                              struct
      Curl_cfilter *cf,\n                              struct Curl_easy *data,\n                              struct
      ssl_peer *peer,\n                              const struct alpn_spec *alpns_requested,\n
      \                             void *ssl_user_data,\n                              Curl_ossl_init_session_reuse_cb
      *sess_reuse_cb)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:4007,1
    - Dst: TLS_client_method
      Src: /src/curl/lib/vtls/openssl.c:4023,1
    - Dst: SSLv23_client_method
      Src: /src/curl/lib/vtls/openssl.c:4025,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4029,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4032,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4035,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4043,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/curl/lib/vtls/openssl.c:4048,1
    - Dst: TLS_method
      Src: /src/curl/lib/vtls/openssl.c:4050,1
    - Dst: SSLv23_client_method
      Src: /src/curl/lib/vtls/openssl.c:4052,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4056,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 5
    argNames:
    - cf
    - data
    - peer
    - pmethod
    - pssl_version_min
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - SSL_METHOD**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 4001
    functionDepth: 0
    functionLinenumber: 4001
    functionLinenumberEnd: 4061
    functionName: ossl_init_method
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - failf
    - SSLv23_client_method
    - OSSL_QUIC_client_method
    - TLS_client_method
    - TLS_method
    - Curl_ssl_cf_get_primary_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_init_method(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct ssl_peer *peer,\n
      \                                const SSL_METHOD **pmethod,\n                                 unsigned
      int *pssl_version_min)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4267
      start: 4266
    functionDepth: 0
    functionLinenumber: 4266
    functionLinenumberEnd: 4267
    functionName: OSSL_CURVE_CAST
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_CURVE_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4269
      start: 4268
    functionDepth: 0
    functionLinenumber: 4268
    functionLinenumberEnd: 4269
    functionName: OSSL_CURVE_CAST
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_CURVE_CAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4279
      start: 4278
    functionDepth: 0
    functionLinenumber: 4278
    functionLinenumberEnd: 4279
    functionName: OSSL_SIGALG_CAST
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SIGALG_CAST(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:4378,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/curl/lib/vtls/openssl.c:4380,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:4381,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:4384,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/openssl.c:4388,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/openssl.c:4390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - cf
    - data
    - alpns
    - scs
    - do_early_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct alpn_spec*
    - struct Curl_ssl_session*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4394
      start: 4366
    functionDepth: 1
    functionLinenumber: 4366
    functionLinenumberEnd: 4394
    functionName: ossl_on_session_reuse
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_alpn_set_negotiated
    - strlen
    - CURL_TRC_CF
    - Curl_alpn_contains_proto
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_on_session_reuse(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct alpn_spec *alpns,\n
      \                                     struct Curl_ssl_session *scs,\n                                      bool
      *do_early_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/vtls/openssl.c:4400,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/curl/lib/vtls/openssl.c:4405,1
    - Dst: SSL_get0_group_name
      Src: /src/curl/lib/vtls/openssl.c:4407,1
    - Dst: OBJ_nid2sn
      Src: /src/curl/lib/vtls/openssl.c:4410,1
    - Dst: SSL_get_negotiated_group
      Src: /src/curl/lib/vtls/openssl.c:4410,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:4415,1
    - Dst: SSL_get_version
      Src: /src/curl/lib/vtls/openssl.c:4416,1
    - Dst: SSL_get_cipher
      Src: /src/curl/lib/vtls/openssl.c:4417,1
    - Dst: OBJ_nid2sn
      Src: /src/curl/lib/vtls/openssl.c:4419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - octx
    argTypes:
    - struct Curl_easy*
    - struct ossl_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4396
    functionDepth: 1
    functionLinenumber: 4396
    functionLinenumberEnd: 4426
    functionName: Curl_ossl_report_handshake
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_peer_signature_type_nid
    - SSL_get_cipher
    - Curl_trc_is_verbose
    - SSL_get0_group_name
    - OBJ_nid2sn
    - SSL_get_negotiated_group
    - infof
    - SSL_get_version
    linkageType: ''
    returnType: void
    signature: "void Curl_ossl_report_handshake(struct Curl_easy *data,\n                                struct
      ossl_ctx *octx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:4436,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:4437,1
    - Dst: Curl_ossl_ctx_init
      Src: /src/curl/lib/vtls/openssl.c:4439,1
    - Dst: ossl_bio_cf_method_create
      Src: /src/curl/lib/vtls/openssl.c:4446,1
    - Dst: BIO_new
      Src: /src/curl/lib/vtls/openssl.c:4449,1
    - Dst: BIO_set_data
      Src: /src/curl/lib/vtls/openssl.c:4453,1
    - Dst: BIO_up_ref
      Src: /src/curl/lib/vtls/openssl.c:4460,1
    - Dst: SSL_set0_rbio
      Src: /src/curl/lib/vtls/openssl.c:4461,1
    - Dst: SSL_set0_wbio
      Src: /src/curl/lib/vtls/openssl.c:4462,1
    - Dst: SSL_set_bio
      Src: /src/curl/lib/vtls/openssl.c:4464,1
    - Dst: memset
      Src: /src/curl/lib/vtls/openssl.c:4470,1
    - Dst: Curl_alpn_to_proto_str
      Src: /src/curl/lib/vtls/openssl.c:4471,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:4472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4477
      start: 4428
    functionDepth: 1
    functionLinenumber: 4428
    functionLinenumberEnd: 4477
    functionName: ossl_connect_step1
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_ossl_ctx_init
    - BIO_up_ref
    - BIO_new
    - memset
    - Curl_alpn_to_proto_str
    - SSL_set0_rbio
    - BIO_set_data
    - SSL_set_bio
    - SSL_set0_wbio
    - ossl_bio_cf_method_create
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_connect_step1(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ECH_ENABLED
      Src: /src/curl/lib/vtls/openssl.c:4500,1
    - Dst: SSL_ech_get1_retry_config
      Src: /src/curl/lib/vtls/openssl.c:4503,1
    - Dst: SSL_get0_ech_retry_configs
      Src: /src/curl/lib/vtls/openssl.c:4505,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/vtls/openssl.c:4513,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:4515,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:4516,1
    - Dst: SSL_ech_get1_status
      Src: /src/curl/lib/vtls/openssl.c:4518,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:4519,1
    - Dst: SSL_ech_accepted
      Src: /src/curl/lib/vtls/openssl.c:4522,1
    - Dst: SSL_get_servername_type
      Src: /src/curl/lib/vtls/openssl.c:4523,1
    - Dst: SSL_get_servername
      Src: /src/curl/lib/vtls/openssl.c:4524,1
    - Dst: SSL_get0_ech_name_override
      Src: /src/curl/lib/vtls/openssl.c:4525,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:4526,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:4532,1
    - Dst: OPENSSL_free
      Src: /src/curl/lib/vtls/openssl.c:4534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - data
    - ssl
    - reason
    argTypes:
    - struct Curl_easy*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4537
      start: 4481
    functionDepth: 1
    functionLinenumber: 4481
    functionLinenumberEnd: 4537
    functionName: ossl_trace_ech_retry_configs
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_ech_get1_retry_config
    - ECH_ENABLED
    - SSL_ech_accepted
    - SSL_get_servername_type
    - curlx_base64_encode
    - SSL_get0_ech_name_override
    - SSL_get_servername
    - SSL_get0_ech_retry_configs
    - free
    - infof
    - SSL_ech_get1_status
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: "void ossl_trace_ech_retry_configs(struct Curl_easy *data, SSL* ssl,\n
      \                                        int reason)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/openssl.c:4547,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:4548,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:4549,1
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vtls/openssl.c:4552,1
    - Dst: SSL_connect
      Src: /src/curl/lib/vtls/openssl.c:4554,1
    - Dst: Curl_ssl_setup_x509_store
      Src: /src/curl/lib/vtls/openssl.c:4559,1
    - Dst: Curl_tls_keylog_enabled
      Src: /src/curl/lib/vtls/openssl.c:4569,1
    - Dst: ossl_log_tls12_secret
      Src: /src/curl/lib/vtls/openssl.c:4570,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vtls/openssl.c:4577,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:4578,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:4581,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:4586,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:4592,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:4599,1
    - Dst: Curl_xfer_pause_recv
      Src: /src/curl/lib/vtls/openssl.c:4600,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:4618,1
    - Dst: ERR_GET_LIB
      Src: /src/curl/lib/vtls/openssl.c:4621,1
    - Dst: ERR_GET_REASON
      Src: /src/curl/lib/vtls/openssl.c:4622,1
    - Dst: SSL_get_verify_result
      Src: /src/curl/lib/vtls/openssl.c:4629,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4632,1
    - Dst: X509_verify_cert_error_string
      Src: /src/curl/lib/vtls/openssl.c:4633,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4636,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4646,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:4647,1
    - Dst: HAVE_BORINGSSL_LIKE
      Src: /src/curl/lib/vtls/openssl.c:4652,1
    - Dst: ossl_trace_ech_retry_configs
      Src: /src/curl/lib/vtls/openssl.c:4659,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4662,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:4663,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4668,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:4669,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vtls/openssl.c:4683,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4684,1
    - Dst: SSL_ERROR_to_str
      Src: /src/curl/lib/vtls/openssl.c:4685,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4691
      start: 4541
    functionDepth: 6
    functionLinenumber: 4541
    functionLinenumberEnd: 4691
    functionName: ossl_connect_step2
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - HAVE_BORINGSSL_LIKE
    - ossl_log_tls12_secret
    - ERR_GET_LIB
    - Curl_xfer_pause_recv
    - ERR_get_error
    - failf
    - SSL_get_verify_result
    - CURL_TRC_CF
    - Curl_ssl_setup_x509_store
    - SSL_connect
    - SSL_ERROR_to_str
    - Curl_ssl_cf_get_config
    - DEBUGASSERT
    - ossl_trace_ech_retry_configs
    - curlx_strerror
    - X509_verify_cert_error_string
    - SSL_get_error
    - ERR_GET_REASON
    - ERR_clear_error
    - ossl_strerror
    - Curl_tls_keylog_enabled
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_connect_step2(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_PUBKEY
      Src: /src/curl/lib/vtls/openssl.c:4798,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/curl/lib/vtls/openssl.c:4798,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/openssl.c:4802,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/curl/lib/vtls/openssl.c:4807,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/curl/lib/vtls/openssl.c:4807,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/curl/lib/vtls/openssl.c:4820,1
    - Dst: free
      Src: /src/curl/lib/vtls/openssl.c:4824,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - data
    - cert
    - pinnedpubkey
    argTypes:
    - struct Curl_easy*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4827
      start: 4778
    functionDepth: 1
    functionLinenumber: 4778
    functionLinenumberEnd: 4827
    functionName: ossl_pkp_pin_peer_pubkey
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - i2d_X509_PUBKEY
    - Curl_pin_peer_pubkey
    - X509_get_X509_PUBKEY
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_pkp_pin_peer_pubkey(struct Curl_easy *data, X509* cert,\n
      \                                        const char *pinnedpubkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/curl/lib/vtls/openssl.c:4835,1
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/vtls/openssl.c:4840,1
    - Dst: SSL_get_verify_result
      Src: /src/curl/lib/vtls/openssl.c:4843,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/curl/lib/vtls/openssl.c:4845,1
    - Dst: SSL_get0_verified_chain
      Src: /src/curl/lib/vtls/openssl.c:4847,1
    - Dst: sk_X509_num
      Src: /src/curl/lib/vtls/openssl.c:4848,1
    - Dst: sk_X509_value
      Src: /src/curl/lib/vtls/openssl.c:4862,1
    - Dst: X509_get0_signature
      Src: /src/curl/lib/vtls/openssl.c:4864,1
    - Dst: X509_ALGOR_get0
      Src: /src/curl/lib/vtls/openssl.c:4865,1
    - Dst: OBJ_obj2txt
      Src: /src/curl/lib/vtls/openssl.c:4866,1
    - Dst: X509_get0_pubkey
      Src: /src/curl/lib/vtls/openssl.c:4868,1
    - Dst: EVP_PKEY_bits
      Src: /src/curl/lib/vtls/openssl.c:4869,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/curl/lib/vtls/openssl.c:4873,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/curl/lib/vtls/openssl.c:4877,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:4879,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/curl/lib/vtls/openssl.c:4882,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:4888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - data
    - ssl
    argTypes:
    - struct Curl_easy*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4895
      start: 4833
    functionDepth: 6
    functionLinenumber: 4833
    functionLinenumberEnd: 4895
    functionName: infof_certstack
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - X509_get0_pubkey
    - SSL_get_peer_cert_chain
    - SSL_get_verify_result
    - OBJ_obj2txt
    - EVP_PKEY_get0_type_name
    - SSL_get0_verified_chain
    - curl_msnprintf
    - Curl_trc_is_verbose
    - STACK_OF
    - X509_get0_signature
    - sk_X509_num
    - infof
    - X509_ALGOR_get0
    - sk_X509_value
    - EVP_PKEY_get_group_name
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_bits
    linkageType: ''
    returnType: void
    signature: void infof_certstack(struct Curl_easy *data, const SSL *ssl)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:4904,1
    - Dst: BIO_new_mem_buf
      Src: /src/curl/lib/vtls/openssl.c:4913,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4916,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:4917,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:4917,1
    - Dst: BIO_new
      Src: /src/curl/lib/vtls/openssl.c:4923,1
    - Dst: BIO_s_file
      Src: /src/curl/lib/vtls/openssl.c:4923,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4925,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:4926,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:4926,1
    - Dst: BIO_read_filename
      Src: /src/curl/lib/vtls/openssl.c:4931,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4933,1
    - Dst: PEM_read_bio_X509
      Src: /src/curl/lib/vtls/openssl.c:4941,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4944,1
    - Dst: X509_check_issued
      Src: /src/curl/lib/vtls/openssl.c:4950,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4952,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:4958,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:4964,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:4966,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - cf
    - data
    - server_cert
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4968
      start: 4900
    functionDepth: 2
    functionLinenumber: 4900
    functionLinenumberEnd: 4968
    functionName: ossl_check_issuer
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - BIO_s_file
    - failf
    - X509_check_issued
    - BIO_free
    - BIO_new_mem_buf
    - BIO_new
    - PEM_read_bio_X509
    - X509_free
    - BIO_read_filename
    - infof
    - Curl_ssl_cf_get_primary_config
    - ossl_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_check_issuer(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  X509 *server_cert)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/openssl.c:4979,1
    - Dst: ossl_pkp_pin_peer_pubkey
      Src: /src/curl/lib/vtls/openssl.c:4986,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:4988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - server_cert
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4991
      start: 4970
    functionDepth: 2
    functionLinenumber: 4970
    functionLinenumberEnd: 4991
    functionName: ossl_check_pinned_key
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_pkp_pin_peer_pubkey
    - failf
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_check_pinned_key(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      X509 *server_cert)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:4999,1
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/vtls/openssl.c:5008,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/openssl.c:5011,1
    - Dst: BIO_new
      Src: /src/curl/lib/vtls/openssl.c:5012,1
    - Dst: BIO_s_mem
      Src: /src/curl/lib/vtls/openssl.c:5012,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5014,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:5015,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:5015,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:5020,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/openssl.c:5020,1
    - Dst: x509_name_oneline
      Src: /src/curl/lib/vtls/openssl.c:5023,1
    - Dst: X509_get_subject_name
      Src: /src/curl/lib/vtls/openssl.c:5023,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:5024,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/openssl.c:5024,1
    - Dst: ASN1_TIME_print
      Src: /src/curl/lib/vtls/openssl.c:5026,1
    - Dst: X509_get0_notBefore
      Src: /src/curl/lib/vtls/openssl.c:5026,1
    - Dst: BIO_get_mem_data
      Src: /src/curl/lib/vtls/openssl.c:5027,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:5028,1
    - Dst: BIO_reset
      Src: /src/curl/lib/vtls/openssl.c:5029,1
    - Dst: ASN1_TIME_print
      Src: /src/curl/lib/vtls/openssl.c:5031,1
    - Dst: X509_get0_notAfter
      Src: /src/curl/lib/vtls/openssl.c:5031,1
    - Dst: BIO_get_mem_data
      Src: /src/curl/lib/vtls/openssl.c:5032,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:5033,1
    - Dst: BIO_reset
      Src: /src/curl/lib/vtls/openssl.c:5034,1
    - Dst: x509_name_oneline
      Src: /src/curl/lib/vtls/openssl.c:5036,1
    - Dst: X509_get_issuer_name
      Src: /src/curl/lib/vtls/openssl.c:5036,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5039,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:5043,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/openssl.c:5043,1
    - Dst: BIO_free
      Src: /src/curl/lib/vtls/openssl.c:5046,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/openssl.c:5047,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - cf
    - data
    - server_cert
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5049
      start: 4995
    functionDepth: 2
    functionLinenumber: 4995
    functionLinenumberEnd: 5049
    functionName: ossl_infof_cert
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_data
    - BIO_free
    - BIO_s_mem
    - ERR_get_error
    - failf
    - X509_get0_notBefore
    - BIO_new
    - X509_get0_notAfter
    - BIO_reset
    - curlx_dyn_ptr
    - X509_get_subject_name
    - Curl_trc_is_verbose
    - x509_name_oneline
    - curlx_dyn_free
    - curlx_dyn_init
    - Curl_ssl_cf_get_primary_config
    - ASN1_TIME_print
    - X509_get_issuer_name
    - infof
    - ossl_strerror
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_infof_cert(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                X509 *server_cert)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/curl/lib/vtls/openssl.c:5077,1
    - Dst: i2d_X509
      Src: /src/curl/lib/vtls/openssl.c:5080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - cf
    - data
    - user_data
    - i
    - pder
    - pder_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5085
      start: 5059
    functionDepth: 0
    functionLinenumber: 5059
    functionLinenumberEnd: 5085
    functionName: ossl_chain_get_der
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - i2d_X509
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_chain_get_der(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   void *user_data,\n                                   size_t
      i,\n                                   unsigned char **pder,\n                                   size_t
      *pder_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:5093,1
    - Dst: memset
      Src: /src/curl/lib/vtls/openssl.c:5103,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/curl/lib/vtls/openssl.c:5104,1
    - Dst: sk_X509_num
      Src: /src/curl/lib/vtls/openssl.c:5105,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5109,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/curl/lib/vtls/openssl.c:5114,1
    - Dst: Curl_vtls_apple_verify
      Src: /src/curl/lib/vtls/openssl.c:5116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - cf
    - data
    - octx
    - peer
    - pverified
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    - struct ssl_peer*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5121
      start: 5087
    functionDepth: 0
    functionLinenumber: 5087
    functionLinenumberEnd: 5121
    functionName: ossl_apple_verify
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_peer_cert_chain
    - failf
    - SSL_get_tlsext_status_ocsp_resp
    - memset
    - sk_X509_num
    - Curl_ssl_cf_get_primary_config
    - Curl_vtls_apple_verify
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_apple_verify(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct ossl_ctx *octx,\n
      \                                 struct ssl_peer *peer,\n                                  bool
      *pverified)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/openssl.c:5130,1
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/openssl.c:5131,1
    - Dst: ossl_certchain
      Src: /src/curl/lib/vtls/openssl.c:5141,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/curl/lib/vtls/openssl.c:5146,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5151,1
    - Dst: ossl_infof_cert
      Src: /src/curl/lib/vtls/openssl.c:5157,1
    - Dst: infof_certstack
      Src: /src/curl/lib/vtls/openssl.c:5160,1
    - Dst: ossl_verifyhost
      Src: /src/curl/lib/vtls/openssl.c:5164,1
    - Dst: SSL_get_verify_result
      Src: /src/curl/lib/vtls/openssl.c:5169,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:5174,1
    - Dst: ossl_apple_verify
      Src: /src/curl/lib/vtls/openssl.c:5183,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:5187,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5195,1
    - Dst: X509_verify_cert_error_string
      Src: /src/curl/lib/vtls/openssl.c:5196,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:5200,1
    - Dst: verifystatus
      Src: /src/curl/lib/vtls/openssl.c:5206,1
    - Dst: ossl_check_issuer
      Src: /src/curl/lib/vtls/openssl.c:5212,1
    - Dst: ossl_check_pinned_key
      Src: /src/curl/lib/vtls/openssl.c:5216,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:5219,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 65
    argCount: 4
    argNames:
    - cf
    - data
    - octx
    - peer
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ossl_ctx*
    - struct ssl_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5221
      start: 5124
    functionDepth: 7
    functionLinenumber: 5124
    functionLinenumberEnd: 5221
    functionName: Curl_ossl_check_peer_cert
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_certchain
    - SSL_get_verify_result
    - failf
    - verifystatus
    - ossl_verifyhost
    - ossl_infof_cert
    - ossl_apple_verify
    - X509_verify_cert_error_string
    - ossl_check_pinned_key
    - X509_free
    - infof_certstack
    - SSL_get1_peer_certificate
    - ossl_check_issuer
    - infof
    - Curl_ssl_cf_get_primary_config
    - Curl_ssl_cf_get_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ossl_check_peer_cert(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct ossl_ctx *octx,\n
      \                                  struct ssl_peer *peer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:5230,1
    - Dst: Curl_ossl_check_peer_cert
      Src: /src/curl/lib/vtls/openssl.c:5239,1
    - Dst: Curl_ssl_scache_remove_all
      Src: /src/curl/lib/vtls/openssl.c:5242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5245
      start: 5223
    functionDepth: 8
    functionLinenumber: 5223
    functionLinenumberEnd: 5245
    functionName: ossl_connect_step3
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - Curl_ossl_check_peer_cert
    - DEBUGASSERT
    - Curl_ssl_scache_remove_all
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_connect_step3(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:5258,1
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/vtls/openssl.c:5260,1
    - Dst: SSL_write_early_data
      Src: /src/curl/lib/vtls/openssl.c:5262,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:5263,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vtls/openssl.c:5268,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:5286,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:5288,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vtls/openssl.c:5290,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5292,1
    - Dst: SSL_ERROR_to_str
      Src: /src/curl/lib/vtls/openssl.c:5293,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5295,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:5303,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5304,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:5305,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5311,1
    - Dst: SSL_ERROR_to_str
      Src: /src/curl/lib/vtls/openssl.c:5312,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/vtls/openssl.c:5317,1
    - Dst: infof
      Src: /src/curl/lib/vtls/openssl.c:5320,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5323
      start: 5248
    functionDepth: 6
    functionLinenumber: 5248
    functionLinenumberEnd: 5323
    functionName: ossl_send_earlydata
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - curlx_strerror
    - CURL_TRC_CF
    - curl_msnprintf
    - failf
    - SSL_get_error
    - SSL_ERROR_to_str
    - Curl_bufq_skip
    - infof
    - SSL_write_early_data
    - Curl_bufq_peek
    - DEBUGASSERT
    - ossl_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_send_earlydata(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:5343,1
    - Dst: ossl_connect_step1
      Src: /src/curl/lib/vtls/openssl.c:5344,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:5350,1
    - Dst: ossl_send_earlydata
      Src: /src/curl/lib/vtls/openssl.c:5356,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:5362,1
    - Dst: ossl_connect_step2
      Src: /src/curl/lib/vtls/openssl.c:5365,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:5371,1
    - Dst: ossl_connect_step3
      Src: /src/curl/lib/vtls/openssl.c:5372,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:5380,1
    - Dst: SSL_get_early_data_status
      Src: /src/curl/lib/vtls/openssl.c:5382,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:5389,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5401
      start: 5326
    functionDepth: 9
    functionLinenumber: 5326
    functionLinenumberEnd: 5401
    functionName: ossl_connect
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ossl_connect_step2
    - ossl_send_earlydata
    - ossl_connect_step3
    - CURL_TRC_CF
    - SSL_get_early_data_status
    - ossl_connect_step1
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_connect(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5409
      start: 5403
    functionDepth: 0
    functionLinenumber: 5403
    functionLinenumberEnd: 5409
    functionName: ossl_data_pending
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ossl_data_pending(struct Curl_cfilter *cf,\n                              const
      struct Curl_easy *data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:5429,1
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vtls/openssl.c:5431,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:5440,1
    - Dst: SSL_write
      Src: /src/curl/lib/vtls/openssl.c:5446,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vtls/openssl.c:5451,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:5472,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:5474,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vtls/openssl.c:5476,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5478,1
    - Dst: SSL_ERROR_to_str
      Src: /src/curl/lib/vtls/openssl.c:5479,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5481,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:5489,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5490,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:5491,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5497,1
    - Dst: SSL_ERROR_to_str
      Src: /src/curl/lib/vtls/openssl.c:5498,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 5
    argNames:
    - cf
    - data
    - mem
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5506
      start: 5411
    functionDepth: 6
    functionLinenumber: 5411
    functionLinenumberEnd: 5506
    functionName: ossl_send
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - curlx_strerror
    - failf
    - curl_msnprintf
    - SSL_write
    - SSL_get_error
    - ERR_clear_error
    - SSL_ERROR_to_str
    - ossl_strerror
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_send(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,\n                          const void *mem,\n                          size_t
      len,\n                          size_t *pnwritten)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:5524,1
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vtls/openssl.c:5527,1
    - Dst: SSL_read
      Src: /src/curl/lib/vtls/openssl.c:5531,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vtls/openssl.c:5537,1
    - Dst: connclose
      Src: /src/curl/lib/vtls/openssl.c:5547,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vtls/openssl.c:5565,1
    - Dst: ossl_strerror
      Src: /src/curl/lib/vtls/openssl.c:5571,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vtls/openssl.c:5573,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5575,1
    - Dst: SSL_ERROR_to_str
      Src: /src/curl/lib/vtls/openssl.c:5576,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5577,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5588,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vtls/openssl.c:5596,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5598,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5601,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/openssl.c:5620,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - buffersize
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5623
      start: 5508
    functionDepth: 6
    functionLinenumber: 5508
    functionLinenumberEnd: 5623
    functionName: ossl_recv
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - curlx_strerror
    - failf
    - curl_msnprintf
    - CURL_TRC_CF
    - SSL_get_error
    - ERR_clear_error
    - connclose
    - SSL_ERROR_to_str
    - ossl_strerror
    - SSL_read
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_recv(struct Curl_cfilter *cf,\n                          struct
      Curl_easy *data,   /* transfer */\n                          char *buf,                /*
      store read data here */\n                          size_t buffersize,        /*
      max amount to read */\n                          size_t *pnread)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/lib/vtls/openssl.c:5647,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5658,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/curl/lib/vtls/openssl.c:5662,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/curl/lib/vtls/openssl.c:5667,1
    - Dst: X509_get_signature_nid
      Src: /src/curl/lib/vtls/openssl.c:5667,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5668,1
    - Dst: EVP_sha256
      Src: /src/curl/lib/vtls/openssl.c:5676,1
    - Dst: EVP_get_digestbynid
      Src: /src/curl/lib/vtls/openssl.c:5679,1
    - Dst: OBJ_nid2sn
      Src: /src/curl/lib/vtls/openssl.c:5681,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5682,1
    - Dst: X509_digest
      Src: /src/curl/lib/vtls/openssl.c:5689,1
    - Dst: failf
      Src: /src/curl/lib/vtls/openssl.c:5690,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/openssl.c:5696,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/openssl.c:5701,1
    - Dst: X509_free
      Src: /src/curl/lib/vtls/openssl.c:5704,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - data
    - sockindex
    - binding
    argTypes:
    - struct Curl_easy*
    - int
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5713
      start: 5625
    functionDepth: 1
    functionLinenumber: 5625
    functionLinenumberEnd: 5713
    functionName: ossl_get_channel_binding
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - X509_get_signature_nid
    - failf
    - EVP_sha256
    - OBJ_find_sigid_algs
    - curlx_dyn_addn
    - X509_free
    - strcmp
    - SSL_get1_peer_certificate
    - OBJ_nid2sn
    - EVP_get_digestbynid
    - X509_digest
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_get_channel_binding(struct Curl_easy *data, int sockindex,\n
      \                                        struct dynbuf *binding)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_version
      Src: /src/curl/lib/vtls/openssl.c:5720,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/vtls/openssl.c:5722,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5725,1
    - Dst: ISBLANK
      Src: /src/curl/lib/vtls/openssl.c:5727,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5733,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5736,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5739,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5742,1
    - Dst: OpenSSL_version
      Src: /src/curl/lib/vtls/openssl.c:5743,1
    - Dst: OpenSSL_version_num
      Src: /src/curl/lib/vtls/openssl.c:5751,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/openssl.c:5766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5777
      start: 5715
    functionDepth: 6
    functionLinenumber: 5715
    functionLinenumberEnd: 5777
    functionName: Curl_ossl_version
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 1
    functionsReached:
    - curl_strnequal
    - curl_msnprintf
    - OpenSSL_version_num
    - OpenSSL_version
    - ISBLANK
    linkageType: ''
    returnType: size_t
    signature: size_t Curl_ossl_version(char *buffer, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_seed
      Src: /src/curl/lib/vtls/openssl.c:5785,1
    - Dst: rand_enough
      Src: /src/curl/lib/vtls/openssl.c:5789,1
    - Dst: RAND_bytes
      Src: /src/curl/lib/vtls/openssl.c:5793,1
    - Dst: curlx_uztosi
      Src: /src/curl/lib/vtls/openssl.c:5793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5795
      start: 5780
    functionDepth: 2
    functionLinenumber: 5780
    functionLinenumberEnd: 5795
    functionName: ossl_random
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - curlx_uztosi
    - RAND_bytes
    - rand_enough
    - ossl_seed
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_random(struct Curl_easy *data,\n                            unsigned
      char *entropy, size_t length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/curl/lib/vtls/openssl.c:5807,1
    - Dst: EVP_DigestInit
      Src: /src/curl/lib/vtls/openssl.c:5810,1
    - Dst: EVP_sha256
      Src: /src/curl/lib/vtls/openssl.c:5810,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/curl/lib/vtls/openssl.c:5811,1
    - Dst: EVP_DigestUpdate
      Src: /src/curl/lib/vtls/openssl.c:5814,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/curl/lib/vtls/openssl.c:5815,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/curl/lib/vtls/openssl.c:5816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - tmp
    - tmplen
    - sha256sum
    - unused
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5818
      start: 5798
    functionDepth: 0
    functionLinenumber: 5798
    functionLinenumberEnd: 5818
    functionName: ossl_sha256sum
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_destroy
    - EVP_DigestUpdate
    - EVP_DigestInit
    - EVP_sha256
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ossl_sha256sum(const unsigned char *tmp, /* input */\n                               size_t
      tmplen,\n                               unsigned char *sha256sum /* output */,\n
      \                              size_t unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5828
      start: 5821
    functionDepth: 0
    functionLinenumber: 5821
    functionLinenumberEnd: 5828
    functionName: ossl_cert_status_request
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ossl_cert_status_request(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/openssl.c:5835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5838
      start: 5830
    functionDepth: 1
    functionLinenumber: 5830
    functionLinenumberEnd: 5838
    functionName: ossl_get_internals
    functionSourceFile: /src/curl/lib/vtls/openssl.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *ossl_get_internals(struct ssl_connect_data *connssl,\n                                CURLINFO
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: CLONE_STRING
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLONE_STRING(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: CLONE_BLOB
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLONE_BLOB(var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:110,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:111,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/vtls.c:115,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - struct curl_blob**
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: blobdup
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode blobdup(struct curl_blob **dest,\n                        struct
      curl_blob *src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - struct curl_blob*
    - struct curl_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: blobcmp
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool blobcmp(struct curl_blob *first, struct curl_blob *second)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - allowed
    - use_alpn
    argTypes:
    - http_majors
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: alpn_get_spec
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct alpn_spec
    signature: 'struct alpn_spec *

      alpn_get_spec(http_majors allowed, bool use_alpn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: Curl_ssl_easy_config_init
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_easy_config_init(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blobcmp
      Src: /src/curl/lib/vtls/vtls.c:205,1
    - Dst: blobcmp
      Src: /src/curl/lib/vtls/vtls.c:206,1
    - Dst: blobcmp
      Src: /src/curl/lib/vtls/vtls.c:207,1
    - Dst: Curl_safecmp
      Src: /src/curl/lib/vtls/vtls.c:208,1
    - Dst: Curl_safecmp
      Src: /src/curl/lib/vtls/vtls.c:209,1
    - Dst: Curl_safecmp
      Src: /src/curl/lib/vtls/vtls.c:210,1
    - Dst: Curl_safecmp
      Src: /src/curl/lib/vtls/vtls.c:211,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/vtls/vtls.c:213,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/vtls/vtls.c:214,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:216,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:217,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:218,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:219,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:220,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:221,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 5
    argCount: 3
    argNames:
    - data
    - c1
    - c2
    argTypes:
    - struct Curl_easy*
    - struct ssl_primary_config*
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: match_ssl_primary_config
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_safecmp
    - blobcmp
    - Curl_timestrcmp
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: "bool match_ssl_primary_config(struct Curl_easy *data,\n                         struct
      ssl_primary_config *c1,\n                         struct ssl_primary_config
      *c2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match_ssl_primary_config
      Src: /src/curl/lib/vtls/vtls.c:233,1
    - Dst: match_ssl_primary_config
      Src: /src/curl/lib/vtls/vtls.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - candidate
    - proxy
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: Curl_ssl_conn_config_match
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - match_ssl_primary_config
    linkageType: ''
    returnType: bool
    signature: "bool Curl_ssl_conn_config_match(struct Curl_easy *data,\n                                struct
      connectdata *candidate,\n                                bool proxy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_BLOB
      Src: /src/curl/lib/vtls/vtls.c:253,1
    - Dst: CLONE_BLOB
      Src: /src/curl/lib/vtls/vtls.c:254,1
    - Dst: CLONE_BLOB
      Src: /src/curl/lib/vtls/vtls.c:255,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:256,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:257,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:258,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:259,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:260,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:261,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:262,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:263,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:264,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:265,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:267,1
    - Dst: CLONE_STRING
      Src: /src/curl/lib/vtls/vtls.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - struct ssl_primary_config*
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: clone_ssl_primary_config
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CLONE_STRING
    - CLONE_BLOB
    linkageType: ''
    returnType: bool
    signature: "bool clone_ssl_primary_config(struct ssl_primary_config *source,\n
      \                                    struct ssl_primary_config *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:276,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:277,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:278,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:279,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:280,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:281,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:282,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:283,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:284,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:285,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:286,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:287,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:288,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:290,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - sslc
    argTypes:
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 293
    functionName: free_primary_ssl_config
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void free_primary_ssl_config(struct ssl_primary_config *sslc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_backend
      Src: /src/curl/lib/vtls/vtls.c:303,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/vtls/vtls.c:310,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/vtls/vtls.c:318,1
    - Dst: Curl_ssl_backend
      Src: /src/curl/lib/vtls/vtls.c:350,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/vtls/vtls.c:357,1
    - Dst: Curl_setstropt
      Src: /src/curl/lib/vtls/vtls.c:366,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 395
    functionName: Curl_ssl_easy_config_complete
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - Curl_ssl_backend
    - Curl_setstropt
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssl_easy_config_complete(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clone_ssl_primary_config
      Src: /src/curl/lib/vtls/vtls.c:403,1
    - Dst: clone_ssl_primary_config
      Src: /src/curl/lib/vtls/vtls.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: Curl_ssl_conn_config_init
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - clone_ssl_primary_config
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_conn_config_init(struct Curl_easy *data,\n                                   struct
      connectdata *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_primary_ssl_config
      Src: /src/curl/lib/vtls/vtls.c:415,1
    - Dst: free_primary_ssl_config
      Src: /src/curl/lib/vtls/vtls.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: Curl_ssl_conn_config_cleanup
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - free_primary_ssl_config
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_conn_config_cleanup(struct connectdata *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - for_proxy
    argTypes:
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 438
    functionName: Curl_ssl_conn_config_update
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_conn_config_update(struct Curl_easy *data, bool for_proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: Curl_ssl_backend
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - multissl_setup
    linkageType: ''
    returnType: curl_sslbackend
    signature: curl_sslbackend Curl_ssl_backend(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/curl/lib/vtls/vtls.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 475
    functionName: Curl_ssl_init
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - init
    linkageType: ''
    returnType: int
    signature: int Curl_ssl_init(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls.c:482,1
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 499
    functionName: ssl_prefs_check
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: bool
    signature: bool ssl_prefs_check(struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/vtls/vtls.c:507,1
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/vtls/vtls.c:513,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/vtls.c:514,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - alpn
    argTypes:
    - struct Curl_easy*
    - struct alpn_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 520
    functionName: cf_ctx_new
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - Curl_bufq_init2
    linkageType: ''
    returnType: struct ssl_connect_data
    signature: "struct ssl_connect_data *cf_ctx_new(struct Curl_easy *data,\n                                           const
      struct alpn_spec *alpn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:525,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/vtls/vtls.c:526,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls.c:527,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ssl_connect_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: cf_ctx_free
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void cf_ctx_free(struct ssl_connect_data *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_channel_binding
      Src: /src/curl/lib/vtls/vtls.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - data
    - sockindex
    - binding
    argTypes:
    - struct Curl_easy*
    - int
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 538
    functionName: Curl_ssl_get_channel_binding
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - get_channel_binding
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_get_channel_binding(struct Curl_easy *data, int
      sockindex,\n                                      struct dynbuf *binding)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close_all
      Src: /src/curl/lib/vtls/vtls.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: Curl_ssl_close_all
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - close_all
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_close_all(struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_get_socket
      Src: /src/curl/lib/vtls/vtls.c:553,1
    - Dst: Curl_pollset_set_out_only
      Src: /src/curl/lib/vtls/vtls.c:557,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/vtls.c:558,1
    - Dst: Curl_pollset_set_in_only
      Src: /src/curl/lib/vtls/vtls.c:562,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/vtls.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 570
    functionName: Curl_ssl_adjust_pollset
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_get_socket
    - Curl_pollset_set_in_only
    - CURL_TRC_CF
    - Curl_pollset_set_out_only
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_adjust_pollset(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct easy_pollset *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_engine
      Src: /src/curl/lib/vtls/vtls.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - engine
    argTypes:
    - struct Curl_easy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 579
    functionName: Curl_ssl_set_engine
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - set_engine
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssl_set_engine(struct Curl_easy *data, const char *engine)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_engine_default
      Src: /src/curl/lib/vtls/vtls.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 588
    functionName: Curl_ssl_set_engine_default
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - set_engine_default
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssl_set_engine_default(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engines_list
      Src: /src/curl/lib/vtls/vtls.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: Curl_ssl_engines_list
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - engines_list
    linkageType: ''
    returnType: struct curl_slist
    signature: struct curl_slist *Curl_ssl_engines_list(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multissl_version
      Src: /src/curl/lib/vtls/vtls.c:603,1
    - Dst: version
      Src: /src/curl/lib/vtls/vtls.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 607
    functionName: Curl_ssl_version
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - multissl_version
    - version
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_version(char *buffer, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/vtls/vtls.c:617,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: Curl_ssl_free_certinfo
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 3
    functionsReached:
    - free
    - curl_slist_free_all
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_free_certinfo(struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_free_certinfo
      Src: /src/curl/lib/vtls/vtls.c:633,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/vtls.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - num
    argTypes:
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 644
    functionName: Curl_ssl_init_certinfo
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 4
    functionsReached:
    - Curl_ssl_free_certinfo
    - calloc
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssl_init_certinfo(struct Curl_easy *data, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:660,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/vtls.c:662,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vtls/vtls.c:664,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls.c:665,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls.c:666,1
    - Dst: Curl_slist_append_nodup
      Src: /src/curl/lib/vtls/vtls.c:669,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/vtls.c:670,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/vtls.c:672,1
    - Dst: curl_slist_free_all
      Src: /src/curl/lib/vtls/vtls.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - data
    - certnum
    - label
    - value
    - valuelen
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 679
    functionName: Curl_ssl_push_certinfo_len
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 4
    functionsReached:
    - curlx_dyn_add
    - curl_slist_free_all
    - curlx_dyn_addn
    - Curl_slist_append_nodup
    - curlx_dyn_init
    - curlx_dyn_free
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_push_certinfo_len(struct Curl_easy *data,\n                                    int
      certnum,\n                                    const char *label,\n                                    const
      char *value,\n                                    size_t valuelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:686,1
    - Dst: random
      Src: /src/curl/lib/vtls/vtls.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 691
    functionName: Curl_ssl_random
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - random
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_random(struct Curl_easy *data,\n                         unsigned
      char *entropy,\n                         size_t length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/vtls.c:709,1
    - Dst: strstr
      Src: /src/curl/lib/vtls/vtls.c:711,1
    - Dst: strstr
      Src: /src/curl/lib/vtls/vtls.c:724,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls.c:737,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vtls/vtls.c:744,1
    - Dst: curlx_base64_decode
      Src: /src/curl/lib/vtls/vtls.c:745,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/vtls.c:745,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/vtls.c:746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - pem
    - der
    - der_len
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 752
    functionName: pubkey_pem_to_der
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - strstr
    - curlx_base64_decode
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_len
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode pubkey_pem_to_der(const char *pem,\n                                  unsigned
      char **der, size_t *der_len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/curl/lib/vtls/vtls.c:774,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/vtls.c:786,1
    - Dst: sha256sum
      Src: /src/curl/lib/vtls/vtls.c:789,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/vtls/vtls.c:793,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:796,1
    - Dst: infof
      Src: /src/curl/lib/vtls/vtls.c:801,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/vtls.c:804,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:806,1
    - Dst: strstr
      Src: /src/curl/lib/vtls/vtls.c:812,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls.c:821,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls.c:822,1
    - Dst: strstr
      Src: /src/curl/lib/vtls/vtls.c:833,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:836,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:837,1
    - Dst: curlx_fopen
      Src: /src/curl/lib/vtls/vtls.c:846,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vtls/vtls.c:850,1
    - Dst: fseek
      Src: /src/curl/lib/vtls/vtls.c:853,1
    - Dst: ftell
      Src: /src/curl/lib/vtls/vtls.c:855,1
    - Dst: fseek
      Src: /src/curl/lib/vtls/vtls.c:856,1
    - Dst: curlx_sotouz
      Src: /src/curl/lib/vtls/vtls.c:865,1
    - Dst: fread
      Src: /src/curl/lib/vtls/vtls.c:876,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vtls/vtls.c:878,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls.c:885,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/vtls.c:885,1
    - Dst: pubkey_pem_to_der
      Src: /src/curl/lib/vtls/vtls.c:894,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vtls/vtls.c:894,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls.c:903,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vtls/vtls.c:906,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:907,1
    - Dst: curlx_fclose
      Src: /src/curl/lib/vtls/vtls.c:908,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 88
    argCount: 4
    argNames:
    - data
    - pinnedpubkey
    - pubkey
    - pubkeylen
    argTypes:
    - struct Curl_easy*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 912
    functionName: Curl_pin_peer_pubkey
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 4
    functionsReached:
    - curlx_base64_encode
    - ftell
    - fread
    - curlx_fclose
    - strstr
    - pubkey_pem_to_der
    - strdup
    - curlx_fopen
    - curlx_dyn_addn
    - fseek
    - strncmp
    - curlx_dyn_ptr
    - strlen
    - sha256sum
    - curlx_dyn_free
    - curlx_dyn_init
    - Curl_safefree
    - malloc
    - curlx_sotouz
    - memcmp
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_pin_peer_pubkey(struct Curl_easy *data,\n                              const
      char *pinnedpubkey,\n                              const unsigned char *pubkey,
      size_t pubkeylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cert_status_request
      Src: /src/curl/lib/vtls/vtls.c:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 922
    functionName: Curl_ssl_cert_status_request
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - cert_status_request
    linkageType: ''
    returnType: bool
    signature: bool Curl_ssl_cert_status_request(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:926,1
    - Dst: init
      Src: /src/curl/lib/vtls/vtls.c:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 931
    functionName: multissl_init
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - init
    - multissl_setup
    linkageType: ''
    returnType: int
    signature: int multissl_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:936,1
    - Dst: random
      Src: /src/curl/lib/vtls/vtls.c:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: multissl_random
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - random
    - multissl_setup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_random(struct Curl_easy *data,\n                                unsigned
      char *entropy, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:944,1
    - Dst: do_connect
      Src: /src/curl/lib/vtls/vtls.c:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 947
    functionName: multissl_connect
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - do_connect
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_connect(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data, bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:953,1
    - Dst: adjust_pollset
      Src: /src/curl/lib/vtls/vtls.c:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 956
    functionName: multissl_adjust_pollset
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - adjust_pollset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_adjust_pollset(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        struct easy_pollset
      *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:961,1
    - Dst: get_internals
      Src: /src/curl/lib/vtls/vtls.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 964
    functionName: multissl_get_internals
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - get_internals
    - multissl_setup
    linkageType: ''
    returnType: void
    signature: "void *multissl_get_internals(struct ssl_connect_data *connssl,\n                                    CURLINFO
      info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:968,1
    - Dst: close
      Src: /src/curl/lib/vtls/vtls.c:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 971
    functionName: multissl_close
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - close
    linkageType: ''
    returnType: void
    signature: void multissl_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:977,1
    - Dst: recv_plain
      Src: /src/curl/lib/vtls/vtls.c:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 980
    functionName: multissl_recv_plain
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - recv_plain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_recv_plain(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    char *buf, size_t len,
      size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:987,1
    - Dst: send_plain
      Src: /src/curl/lib/vtls/vtls.c:989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - cf
    - data
    - mem
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 990
    functionName: multissl_send_plain
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - multissl_setup
    - send_plain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode multissl_send_plain(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    const void *mem, size_t
      len,\n                                    size_t *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/curl/lib/vtls/vtls.c:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1071
    functionName: Curl_ssl_cleanup
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_cleanup(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: version
      Src: /src/curl/lib/vtls/vtls.c:1095,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/vtls.c:1096,1
    - Dst: strcpy
      Src: /src/curl/lib/vtls/vtls.c:1106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1073
    functionDepth: 6
    functionLinenumber: 1073
    functionLinenumberEnd: 1111
    functionName: multissl_version
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - strcpy
    - version
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t multissl_version(char *buffer, size_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/curl/lib/vtls/vtls.c:1129,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:1132,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls.c:1134,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:1142,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls.c:1145,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls.c:1153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - backend
    argTypes:
    - struct Curl_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1113
    functionDepth: 3
    functionLinenumber: 1113
    functionLinenumberEnd: 1155
    functionName: multissl_setup
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 9
    functionsReached:
    - curl_getenv
    - free
    - curl_strequal
    linkageType: ''
    returnType: int
    signature: int multissl_setup(const struct Curl_ssl *backend)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:1169,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vtls/vtls.c:1179,1
    - Dst: multissl_setup
      Src: /src/curl/lib/vtls/vtls.c:1180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - id
    - name
    - avail
    argTypes:
    - curl_sslbackend
    - char*
    - curl_ssl_backend***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1159
    functionDepth: 4
    functionLinenumber: 1159
    functionLinenumberEnd: 1186
    functionName: Curl_init_sslset_nolock
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - multissl_setup
    - curl_strequal
    linkageType: ''
    returnType: CURLsslset
    signature: "CURLsslset Curl_init_sslset_nolock(curl_sslbackend id, const char
      *name,\n                                   const curl_ssl_backend ***avail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - id
    - name
    - avail
    argTypes:
    - curl_sslbackend
    - char*
    - curl_ssl_backend***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1196
    functionName: Curl_init_sslset_nolock
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CURLsslset
    signature: "CURLsslset Curl_init_sslset_nolock(curl_sslbackend id, const char
      *name,\n                                   const curl_ssl_backend ***avail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:1204,1
    - Dst: free
      Src: /src/curl/lib/vtls/vtls.c:1206,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:1208,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/vtls.c:1209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct ssl_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1211
    functionName: Curl_ssl_peer_cleanup
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_ssl_peer_cleanup(struct ssl_peer *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ssl_connect_data*::ssl_impl::close
      Src: /src/curl/lib/vtls/vtls.c:1217,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/curl/lib/vtls/vtls.c:1219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1213
    functionDepth: 2
    functionLinenumber: 1213
    functionLinenumberEnd: 1222
    functionName: cf_close
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - Curl_ssl_peer_cleanup
    - struct ssl_connect_data*::ssl_impl::close
    linkageType: ''
    returnType: void
    signature: void cf_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/vtls/vtls.c:1232,1
    - Dst: curlx_inet_pton
      Src: /src/curl/lib/vtls/vtls.c:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1241
    functionName: get_peer_type
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - curlx_inet_pton
    linkageType: ''
    returnType: ssl_peer_type
    signature: ssl_peer_type get_peer_type(const char *hostname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1252,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1253,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1254,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1255,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/vtls.c:1263,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/vtls.c:1282,1
    - Dst: strcmp
      Src: /src/curl/lib/vtls/vtls.c:1285,1
    - Dst: strdup
      Src: /src/curl/lib/vtls/vtls.c:1288,1
    - Dst: get_peer_type
      Src: /src/curl/lib/vtls/vtls.c:1292,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls.c:1296,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/vtls.c:1300,1
    - Dst: Curl_strntolower
      Src: /src/curl/lib/vtls/vtls.c:1303,1
    - Dst: Curl_ssl_peer_key_make
      Src: /src/curl/lib/vtls/vtls.c:1308,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/curl/lib/vtls/vtls.c:1312,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - peer
    - cf
    - tls_id
    - transport
    argTypes:
    - struct ssl_peer*
    - struct Curl_cfilter*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1243
    functionDepth: 4
    functionLinenumber: 1243
    functionLinenumberEnd: 1314
    functionName: Curl_ssl_peer_init
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    - get_peer_type
    - strdup
    - Curl_ssl_peer_key_make
    - strcmp
    - Curl_strntolower
    - Curl_ssl_peer_cleanup
    - DEBUGASSERT
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_peer_init(struct ssl_peer *peer,\n                            struct
      Curl_cfilter *cf,\n                            const char *tls_id,\n                            int
      transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1320,1
    - Dst: cf_close
      Src: /src/curl/lib/vtls/vtls.c:1321,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1322,1
    - Dst: cf_ctx_free
      Src: /src/curl/lib/vtls/vtls.c:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1316
    functionDepth: 3
    functionLinenumber: 1316
    functionLinenumberEnd: 1325
    functionName: ssl_cf_destroy
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - cf_close
    - cf_ctx_free
    - CF_DATA_SAVE
    linkageType: ''
    returnType: void
    signature: void ssl_cf_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1332,1
    - Dst: cf_close
      Src: /src/curl/lib/vtls/vtls.c:1333,1
    - Dst: struct Curl_cfilter*::next::cft::do_close
      Src: /src/curl/lib/vtls/vtls.c:1335,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1327
    functionDepth: 3
    functionLinenumber: 1327
    functionLinenumberEnd: 1337
    functionName: ssl_cf_close
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - cf_close
    - CF_DATA_SAVE
    - struct Curl_cfilter*::next::cft::do_close
    linkageType: ''
    returnType: void
    signature: "void ssl_cf_close(struct Curl_cfilter *cf,\n                         struct
      Curl_easy *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::do_connect
      Src: /src/curl/lib/vtls/vtls.c:1358,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1363,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/vtls.c:1364,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1365,1
    - Dst: struct ssl_connect_data*::ssl_impl::version
      Src: /src/curl/lib/vtls/vtls.c:1370,1
    - Dst: Curl_ssl_peer_init
      Src: /src/curl/lib/vtls/vtls.c:1371,1
    - Dst: ssl_prefs_check
      Src: /src/curl/lib/vtls/vtls.c:1377,1
    - Dst: struct ssl_connect_data*::ssl_impl::do_connect
      Src: /src/curl/lib/vtls/vtls.c:1382,1
    - Dst: curlx_now
      Src: /src/curl/lib/vtls/vtls.c:1387,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1389,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1391,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/vtls.c:1395,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1396,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1339
    functionDepth: 5
    functionLinenumber: 1339
    functionLinenumberEnd: 1398
    functionName: ssl_cf_connect
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - struct ssl_connect_data*::ssl_impl::do_connect
    - CF_DATA_RESTORE
    - struct ssl_connect_data*::ssl_impl::version
    - CURL_TRC_CF
    - Curl_ssl_peer_init
    - curlx_now
    - struct Curl_cfilter*::next::cft::do_connect
    - ssl_prefs_check
    - DEBUGASSERT
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_connect(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               bool *done)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1408,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1409,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vtls/vtls.c:1409,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/vtls/vtls.c:1413,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/vtls.c:1414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cf
    - data
    - buf
    - blen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1400
    functionDepth: 5
    functionLinenumber: 1400
    functionLinenumberEnd: 1420
    functionName: ssl_cf_set_earlydata
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - DEBUGASSERT
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_set_earlydata(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     const void *buf, size_t
      blen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1430,1
    - Dst: ssl_cf_set_earlydata
      Src: /src/curl/lib/vtls/vtls.c:1433,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vtls/vtls.c:1439,1
    - Dst: ssl_cf_connect
      Src: /src/curl/lib/vtls/vtls.c:1442,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/curl/lib/vtls/vtls.c:1445,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/vtls.c:1450,1
    - Dst: Curl_pgrsEarlyData
      Src: /src/curl/lib/vtls/vtls.c:1451,1
    - Dst: infof
      Src: /src/curl/lib/vtls/vtls.c:1452,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/vtls.c:1456,1
    - Dst: Curl_pgrsEarlyData
      Src: /src/curl/lib/vtls/vtls.c:1457,1
    - Dst: infof
      Src: /src/curl/lib/vtls/vtls.c:1458,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1464,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1422
    functionDepth: 6
    functionLinenumber: 1422
    functionLinenumberEnd: 1469
    functionName: ssl_cf_connect_deferred
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsEarlyData
    - ssl_cf_set_earlydata
    - Curl_bufq_len
    - Curl_pgrsTimeWas
    - infof
    - ssl_cf_connect
    - DEBUGASSERT
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_connect_deferred(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        const void *buf, size_t
      blen,\n                                        bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1478,1
    - Dst: struct ssl_connect_data*::ssl_impl::data_pending
      Src: /src/curl/lib/vtls/vtls.c:1480,1
    - Dst: struct Curl_cfilter*::next::cft::has_data_pending
      Src: /src/curl/lib/vtls/vtls.c:1483,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1486
    functionName: ssl_cf_data_pending
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::has_data_pending
    - struct ssl_connect_data*::ssl_impl::data_pending
    - CF_DATA_RESTORE
    - CF_DATA_SAVE
    linkageType: ''
    returnType: bool
    signature: "bool ssl_cf_data_pending(struct Curl_cfilter *cf,\n                                const
      struct Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1499,1
    - Dst: ssl_cf_connect_deferred
      Src: /src/curl/lib/vtls/vtls.c:1503,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1510,1
    - Dst: struct ssl_connect_data*::ssl_impl::send_plain
      Src: /src/curl/lib/vtls/vtls.c:1531,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1537,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - blen
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1488
    functionDepth: 7
    functionLinenumber: 1488
    functionLinenumberEnd: 1539
    functionName: ssl_cf_send
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - struct ssl_connect_data*::ssl_impl::send_plain
    - CF_DATA_RESTORE
    - CF_DATA_SAVE
    - DEBUGASSERT
    - ssl_cf_connect_deferred
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_send(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            const void *buf, size_t blen,\n
      \                           bool eos, size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1549,1
    - Dst: ssl_cf_connect_deferred
      Src: /src/curl/lib/vtls/vtls.c:1553,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1560,1
    - Dst: struct ssl_connect_data*::ssl_impl::recv_plain
      Src: /src/curl/lib/vtls/vtls.c:1563,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1541
    functionDepth: 7
    functionLinenumber: 1541
    functionLinenumberEnd: 1568
    functionName: ssl_cf_recv
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - struct ssl_connect_data*::ssl_impl::recv_plain
    - CF_DATA_SAVE
    - DEBUGASSERT
    - ssl_cf_connect_deferred
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_recv(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data, char *buf, size_t len,\n                            size_t
      *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1583,1
    - Dst: struct ssl_connect_data*::ssl_impl::shut_down
      Src: /src/curl/lib/vtls/vtls.c:1584,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/vtls.c:1585,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1590
    functionName: ssl_cf_shutdown
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - CF_DATA_RESTORE
    - struct ssl_connect_data*::ssl_impl::shut_down
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_shutdown(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1600,1
    - Dst: struct ssl_connect_data*::ssl_impl::adjust_pollset
      Src: /src/curl/lib/vtls/vtls.c:1601,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1604
    functionName: ssl_cf_adjust_pollset
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - struct ssl_connect_data*::ssl_impl::adjust_pollset
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_adjust_pollset(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data,\n                                      struct easy_pollset
      *ps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/vtls.c:1615,1
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/vtls.c:1621,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1624,1
    - Dst: Curl_ssl_backend
      Src: /src/curl/lib/vtls/vtls.c:1625,1
    - Dst: struct ssl_connect_data*::ssl_impl::get_internals
      Src: /src/curl/lib/vtls/vtls.c:1626,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1629,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1635,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/vtls.c:1637,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/vtls/vtls.c:1644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1606
    functionDepth: 2
    functionLinenumber: 1606
    functionLinenumberEnd: 1646
    functionName: ssl_cf_query
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_backend
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - struct Curl_cfilter*::next::cft::query
    - struct ssl_connect_data*::ssl_impl::get_internals
    - CF_DATA_SAVE
    - DEBUGASSERT
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_query(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             int query, int *pres1, void *pres2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/curl/lib/vtls/vtls.c:1660,1
    - Dst: strcmp
      Src: /src/curl/lib/vtls/vtls.c:1662,1
    - Dst: strcmp
      Src: /src/curl/lib/vtls/vtls.c:1664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1670
    functionName: ssl_cf_cntrl
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssl_cf_cntrl(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data,\n                             int event, int arg1, void *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/curl/lib/vtls/vtls.c:1679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1681
    functionName: cf_ssl_is_alive
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::is_alive
    linkageType: ''
    returnType: bool
    signature: "bool cf_ssl_is_alive(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                           bool *input_pending)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1731,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:1736,1
    - Dst: cf_ctx_new
      Src: /src/curl/lib/vtls/vtls.c:1737,1
    - Dst: cf_ctx_new
      Src: /src/curl/lib/vtls/vtls.c:1739,1
    - Dst: alpn_get_spec
      Src: /src/curl/lib/vtls/vtls.c:1739,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/vtls/vtls.c:1747,1
    - Dst: cf_ctx_free
      Src: /src/curl/lib/vtls/vtls.c:1751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pcf
    - data
    - conn
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1723
    functionDepth: 4
    functionLinenumber: 1723
    functionLinenumberEnd: 1754
    functionName: cf_ssl_create
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_cf_create
    - alpn_get_spec
    - cf_ctx_new
    - DEBUGASSERT
    - cf_ctx_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_create(struct Curl_cfilter **pcf,\n                              struct
      Curl_easy *data,\n                              struct connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_create
      Src: /src/curl/lib/vtls/vtls.c:1763,1
    - Dst: Curl_conn_cf_add
      Src: /src/curl/lib/vtls/vtls.c:1765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1756
    functionDepth: 5
    functionLinenumber: 1756
    functionLinenumberEnd: 1767
    functionName: Curl_ssl_cfilter_add
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 6
    functionsReached:
    - Curl_conn_cf_add
    - cf_ssl_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_cfilter_add(struct Curl_easy *data,\n                              struct
      connectdata *conn,\n                              int sockindex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_create
      Src: /src/curl/lib/vtls/vtls.c:1775,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/vtls/vtls.c:1777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1769
    functionDepth: 5
    functionLinenumber: 1769
    functionLinenumberEnd: 1779
    functionName: Curl_cf_ssl_insert_after
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - cf_ssl_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_ssl_insert_after(struct Curl_cfilter *cf_at,\n                                  struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf_ctx_new
      Src: /src/curl/lib/vtls/vtls.c:1802,1
    - Dst: alpn_get_spec
      Src: /src/curl/lib/vtls/vtls.c:1802,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/vtls/vtls.c:1807,1
    - Dst: cf_ctx_free
      Src: /src/curl/lib/vtls/vtls.c:1811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pcf
    - data
    - conn
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1783
    functionDepth: 4
    functionLinenumber: 1783
    functionLinenumberEnd: 1814
    functionName: cf_ssl_proxy_create
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - cf_ctx_free
    - alpn_get_spec
    - cf_ctx_new
    - Curl_cf_create
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ssl_proxy_create(struct Curl_cfilter **pcf,\n                                    struct
      Curl_easy *data,\n                                    struct connectdata *conn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_ssl_proxy_create
      Src: /src/curl/lib/vtls/vtls.c:1822,1
    - Dst: Curl_conn_cf_insert_after
      Src: /src/curl/lib/vtls/vtls.c:1824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf_at
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1816
    functionDepth: 5
    functionLinenumber: 1816
    functionLinenumberEnd: 1826
    functionName: Curl_cf_ssl_proxy_insert_after
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - cf_ssl_proxy_create
    - Curl_conn_cf_insert_after
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_ssl_proxy_insert_after(struct Curl_cfilter *cf_at,\n
      \                                       struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - ssl_option
    argTypes:
    - struct Curl_easy*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1834
    functionName: Curl_ssl_supports
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_ssl_supports(struct Curl_easy *data, unsigned int ssl_option)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vtls/vtls.c:1850,1
    - Dst: Curl_shutdown_timeleft
      Src: /src/curl/lib/vtls/vtls.c:1854,1
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls.c:1858,1
    - Dst: struct ssl_connect_data*::ssl_impl::shut_down
      Src: /src/curl/lib/vtls/vtls.c:1862,1
    - Dst: Curl_conn_cf_poll
      Src: /src/curl/lib/vtls/vtls.c:1867,1
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls.c:1870,1
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls.c:1876,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vtls/vtls.c:1884,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1836
    functionDepth: 2
    functionLinenumber: 1836
    functionLinenumberEnd: 1887
    functionName: vtls_shutdown_blocking
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 0
    functionsReached:
    - Curl_conn_cf_poll
    - failf
    - CF_DATA_RESTORE
    - struct ssl_connect_data*::ssl_impl::shut_down
    - Curl_shutdown_timeleft
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vtls_shutdown_blocking(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data,\n                                       bool send_shutdown,
      bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/vtls.c:1899,1
    - Dst: Curl_shutdown_start
      Src: /src/curl/lib/vtls/vtls.c:1900,1
    - Dst: vtls_shutdown_blocking
      Src: /src/curl/lib/vtls/vtls.c:1901,1
    - Dst: Curl_shutdown_clear
      Src: /src/curl/lib/vtls/vtls.c:1902,1
    - Dst: Curl_conn_cf_discard
      Src: /src/curl/lib/vtls/vtls.c:1905,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/vtls.c:1906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - data
    - sockindex
    - send_shutdown
    argTypes:
    - struct Curl_easy*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1889
    functionDepth: 7
    functionLinenumber: 1889
    functionLinenumberEnd: 1911
    functionName: Curl_ssl_cfilter_remove
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 1
    functionsReached:
    - Curl_shutdown_start
    - CURL_TRC_CF
    - Curl_conn_cf_discard
    - vtls_shutdown_blocking
    - Curl_shutdown_clear
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_ssl_cfilter_remove(struct Curl_easy *data,\n                                 int
      sockindex, bool send_shutdown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1916
    functionName: Curl_ssl_cf_is_proxy
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_ssl_cf_is_proxy(struct Curl_cfilter *cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/vtls.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 1927
    functionName: Curl_ssl_cf_get_config
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 23
    functionsReached:
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: struct ssl_config_data
    signature: 'struct ssl_config_data *

      Curl_ssl_cf_get_config(struct Curl_cfilter *cf, struct Curl_easy *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/vtls.c:1935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1929
    functionDepth: 1
    functionLinenumber: 1929
    functionLinenumberEnd: 1938
    functionName: Curl_ssl_cf_get_primary_config
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 43
    functionsReached:
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: struct ssl_primary_config
    signature: 'struct ssl_primary_config *

      Curl_ssl_cf_get_primary_config(struct Curl_cfilter *cf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/vtls/vtls.c:1947,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls.c:1949,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls.c:1956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - spec
    argTypes:
    - struct alpn_proto_buf*
    - struct alpn_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1961
    functionName: Curl_alpn_to_proto_buf
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 2
    functionsReached:
    - memcpy
    - strlen
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_alpn_to_proto_buf(struct alpn_proto_buf *buf,\n                                const
      struct alpn_spec *spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/vtls/vtls.c:1969,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls.c:1971,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls.c:1978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - spec
    argTypes:
    - struct alpn_proto_buf*
    - struct alpn_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1984
    functionName: Curl_alpn_to_proto_str
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 6
    functionsReached:
    - memcpy
    - strlen
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_alpn_to_proto_str(struct alpn_proto_buf *buf,\n                                const
      struct alpn_spec *spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls.c:1989,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls.c:1991,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls.c:1992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - spec
    - proto
    argTypes:
    - struct alpn_spec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 1996
    functionName: Curl_alpn_contains_proto
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 5
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool Curl_alpn_contains_proto(const struct alpn_spec *spec,\n                              const
      char *proto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls.c:2000,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:2001,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls.c:2003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - spec
    - proto
    argTypes:
    - struct alpn_spec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1998
    functionDepth: 1
    functionLinenumber: 1998
    functionLinenumberEnd: 2006
    functionName: Curl_alpn_restrict_to
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 3
    functionsReached:
    - memcpy
    - strlen
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void Curl_alpn_restrict_to(struct alpn_spec *spec, const char *proto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls.c:2011,1
    - Dst: memset
      Src: /src/curl/lib/vtls/vtls.c:2013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - struct alpn_spec*
    - struct alpn_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2014
    functionName: Curl_alpn_copy
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 3
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: void Curl_alpn_copy(struct alpn_spec *dest, const struct alpn_spec
      *src)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls.c:2030,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/vtls.c:2037,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/vtls.c:2041,1
    - Dst: memcmp
      Src: /src/curl/lib/vtls/vtls.c:2042,1
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls.c:2043,1
    - Dst: infof
      Src: /src/curl/lib/vtls/vtls.c:2050,1
    - Dst: memchr
      Src: /src/curl/lib/vtls/vtls.c:2056,1
    - Dst: failf
      Src: /src/curl/lib/vtls/vtls.c:2057,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/vtls.c:2062,1
    - Dst: memcpy
      Src: /src/curl/lib/vtls/vtls.c:2065,1
    - Dst: infof
      Src: /src/curl/lib/vtls/vtls.c:2071,1
    - Dst: infof
      Src: /src/curl/lib/vtls/vtls.c:2073,1
    - Dst: infof
      Src: /src/curl/lib/vtls/vtls.c:2077,1
    - Dst: infof
      Src: /src/curl/lib/vtls/vtls.c:2079,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 5
    argNames:
    - cf
    - data
    - connssl
    - proto
    - proto_len
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_connect_data*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2084
    functionName: Curl_alpn_set_negotiated
    functionSourceFile: /src/curl/lib/vtls/vtls.c
    functionUses: 7
    functionsReached:
    - strlen
    - failf
    - malloc
    - memcpy
    - memchr
    - memcmp
    - infof
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_alpn_set_negotiated(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct ssl_connect_data
      *connssl,\n                                  const unsigned char *proto,\n                                  size_t
      proto_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: mbedtls_strerror
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mbedtls_strerror(a,b,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mbedtlsthreadlock_lock_function
      Src: /src/curl/lib/vtls/mbedtls.c:117,1
    - Dst: mbedtls_entropy_init
      Src: /src/curl/lib/vtls/mbedtls.c:119,1
    - Dst: Curl_mbedtlsthreadlock_unlock_function
      Src: /src/curl/lib/vtls/mbedtls.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_entropy_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: entropy_init_mutex
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_mbedtlsthreadlock_unlock_function
    - mbedtls_entropy_init
    - Curl_mbedtlsthreadlock_lock_function
    linkageType: ''
    returnType: void
    signature: void entropy_init_mutex(mbedtls_entropy_context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mbedtlsthreadlock_lock_function
      Src: /src/curl/lib/vtls/mbedtls.c:128,1
    - Dst: mbedtls_entropy_free
      Src: /src/curl/lib/vtls/mbedtls.c:130,1
    - Dst: Curl_mbedtlsthreadlock_unlock_function
      Src: /src/curl/lib/vtls/mbedtls.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_entropy_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: entropy_cleanup_mutex
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_entropy_free
    - Curl_mbedtlsthreadlock_unlock_function
    - Curl_mbedtlsthreadlock_lock_function
    linkageType: ''
    returnType: void
    signature: void entropy_cleanup_mutex(mbedtls_entropy_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mbedtlsthreadlock_lock_function
      Src: /src/curl/lib/vtls/mbedtls.c:140,1
    - Dst: mbedtls_entropy_func
      Src: /src/curl/lib/vtls/mbedtls.c:141,1
    - Dst: Curl_mbedtlsthreadlock_unlock_function
      Src: /src/curl/lib/vtls/mbedtls.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - output
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: entropy_func_mutex
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_entropy_func
    - Curl_mbedtlsthreadlock_unlock_function
    - Curl_mbedtlsthreadlock_lock_function
    linkageType: ''
    returnType: int
    signature: int entropy_func_mutex(void *data, unsigned char *output, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vtls/mbedtls.c:159,1
    - Dst: infof
      Src: /src/curl/lib/vtls/mbedtls.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - context
    - level
    - f_name
    - line_nb
    - line
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: mbed_debug
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - infof
    - strlen
    linkageType: ''
    returnType: void
    signature: "void mbed_debug(void *context, int level, const char *f_name,\n                       int
      line_nb, const char *line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/mbedtls.c:172,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:176,1
    - Dst: Curl_conn_cf_send
      Src: /src/curl/lib/vtls/mbedtls.c:180,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: mbedtls_bio_cf_write
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_CURRENT
    - Curl_conn_cf_send
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int mbedtls_bio_cf_write(void *bio,\n                                const
      unsigned char *buf, size_t blen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/mbedtls.c:192,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:196,1
    - Dst: Curl_conn_cf_recv
      Src: /src/curl/lib/vtls/mbedtls.c:203,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bio
    - buf
    - blen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 209
    functionName: mbedtls_bio_cf_read
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - CURL_TRC_CF
    - Curl_conn_cf_recv
    linkageType: ''
    returnType: int
    signature: int mbedtls_bio_cf_read(void *bio, unsigned char *buf, size_t blen)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:270,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:289,1
    - Dst: mbedtls_ssl_conf_min_tls_version
      Src: /src/curl/lib/vtls/mbedtls.c:293,1
    - Dst: mbedtls_ssl_conf_max_tls_version
      Src: /src/curl/lib/vtls/mbedtls.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - data
    - backend
    - conn_config
    argTypes:
    - struct Curl_easy*
    - struct mbed_ssl_backend_data*
    - struct ssl_primary_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 297
    functionName: mbed_set_ssl_version_min_max
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_conf_max_tls_version
    - failf
    - mbedtls_ssl_conf_min_tls_version
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbed_set_ssl_version_min_max(struct Curl_easy *data,\n                             struct
      mbed_ssl_backend_data *backend,\n                             struct ssl_primary_config
      *conn_config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/mbedtls.c:309,1
    - Dst: Curl_cipher_suite_get_str
      Src: /src/curl/lib/vtls/mbedtls.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - id
    - buf
    - buf_size
    - prefer_rfc
    argTypes:
    - uint16_t
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 8
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: mbed_cipher_suite_get_str
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_cipher_suite_get_str
    - curl_msnprintf
    linkageType: ''
    returnType: int
    signature: "int mbed_cipher_suite_get_str(uint16_t id, char *buf, size_t buf_size,\n
      \                         bool prefer_rfc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cipher_suite_walk_str
      Src: /src/curl/lib/vtls/mbedtls.c:318,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/vtls/mbedtls.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 6
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: mbed_cipher_suite_walk_str
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_cipher_suite_walk_str
    - curl_strnequal
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mbed_cipher_suite_walk_str(const char **str, const char **end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/vtls/mbedtls.c:445,1
    - Dst: mbedtls_x509_crt_info
      Src: /src/curl/lib/vtls/mbedtls.c:447,1
    - Dst: infof
      Src: /src/curl/lib/vtls/mbedtls.c:448,1
    - Dst: strcspn
      Src: /src/curl/lib/vtls/mbedtls.c:450,1
    - Dst: infof
      Src: /src/curl/lib/vtls/mbedtls.c:451,1
    - Dst: infof
      Src: /src/curl/lib/vtls/mbedtls.c:456,1
    - Dst: free
      Src: /src/curl/lib/vtls/mbedtls.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - crt
    argTypes:
    - struct Curl_easy*
    - mbedtls_x509_crt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 460
    functionName: mbed_dump_cert_info
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - malloc
    - mbedtls_x509_crt_info
    - free
    - strcspn
    - infof
    linkageType: ''
    returnType: void
    signature: void mbed_dump_cert_info(struct Curl_easy *data, const mbedtls_x509_crt
      *crt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_init_certinfo
      Src: /src/curl/lib/vtls/mbedtls.c:470,1
    - Dst: Curl_extract_certinfo
      Src: /src/curl/lib/vtls/mbedtls.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - data
    - crt
    argTypes:
    - struct Curl_easy*
    - mbedtls_x509_crt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 462
    functionDepth: 9
    functionLinenumber: 462
    functionLinenumberEnd: 477
    functionName: mbed_extract_certinfo
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_extract_certinfo
    - Curl_ssl_init_certinfo
    linkageType: ''
    returnType: void
    signature: void mbed_extract_certinfo(struct Curl_easy *data, const mbedtls_x509_crt
      *crt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vtls/mbedtls.c:483,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vtls/mbedtls.c:484,1
    - Dst: mbed_dump_cert_info
      Src: /src/curl/lib/vtls/mbedtls.c:488,1
    - Dst: mbed_extract_certinfo
      Src: /src/curl/lib/vtls/mbedtls.c:490,1
    - Dst: mbedtls_x509_crt_verify_info
      Src: /src/curl/lib/vtls/mbedtls.c:501,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:502,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ptr
    - crt
    - depth
    - flags
    argTypes:
    - void*
    - mbedtls_x509_crt*
    - int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 479
    functionDepth: 10
    functionLinenumber: 479
    functionLinenumberEnd: 509
    functionName: mbed_verify_cb
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - failf
    - CF_DATA_CURRENT
    - mbed_dump_cert_info
    - Curl_ssl_cf_get_primary_config
    - mbedtls_x509_crt_verify_info
    - mbed_extract_certinfo
    linkageType: ''
    returnType: int
    signature: "int mbed_verify_cb(void *ptr, mbedtls_x509_crt *crt,\n                          int
      depth, uint32_t *flags)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_is_proxy
      Src: /src/curl/lib/vtls/mbedtls.c:926,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:933,1
    - Dst: mbedtls_ssl_handshake
      Src: /src/curl/lib/vtls/mbedtls.c:935,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:946,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:951,1
    - Dst: mbedtls_ssl_get_version_number
      Src: /src/curl/lib/vtls/mbedtls.c:952,1
    - Dst: mbedtls_strerror
      Src: /src/curl/lib/vtls/mbedtls.c:953,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:954,1
    - Dst: mbedtls_ssl_get_ciphersuite_id_from_ssl
      Src: /src/curl/lib/vtls/mbedtls.c:963,1
    - Dst: mbed_cipher_suite_get_str
      Src: /src/curl/lib/vtls/mbedtls.c:964,1
    - Dst: infof
      Src: /src/curl/lib/vtls/mbedtls.c:965,1
    - Dst: mbedtls_ssl_get_version
      Src: /src/curl/lib/vtls/mbedtls.c:966,1
    - Dst: mbedtls_ssl_get_peer_cert
      Src: /src/curl/lib/vtls/mbedtls.c:975,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:977,1
    - Dst: calloc
      Src: /src/curl/lib/vtls/mbedtls.c:981,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/mbedtls.c:986,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/curl/lib/vtls/mbedtls.c:993,1
    - Dst: mbedtls_x509_crt_parse_der
      Src: /src/curl/lib/vtls/mbedtls.c:998,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:999,1
    - Dst: mbedtls_pk_write_pubkey_der
      Src: /src/curl/lib/vtls/mbedtls.c:1004,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:1007,1
    - Dst: Curl_pin_peer_pubkey
      Src: /src/curl/lib/vtls/mbedtls.c:1013,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/curl/lib/vtls/mbedtls.c:1017,1
    - Dst: free
      Src: /src/curl/lib/vtls/mbedtls.c:1018,1
    - Dst: free
      Src: /src/curl/lib/vtls/mbedtls.c:1019,1
    - Dst: mbedtls_ssl_get_alpn_protocol
      Src: /src/curl/lib/vtls/mbedtls.c:1026,1
    - Dst: Curl_alpn_set_negotiated
      Src: /src/curl/lib/vtls/mbedtls.c:1028,1
    - Dst: strlen
      Src: /src/curl/lib/vtls/mbedtls.c:1030,1
    - Dst: infof
      Src: /src/curl/lib/vtls/mbedtls.c:1037,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 917
    functionDepth: 9
    functionLinenumber: 917
    functionLinenumberEnd: 1040
    functionName: mbed_connect_step2
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_strerror
    - mbedtls_ssl_get_peer_cert
    - mbedtls_ssl_get_ciphersuite_id_from_ssl
    - calloc
    - failf
    - mbedtls_ssl_get_version
    - mbed_cipher_suite_get_str
    - mbedtls_x509_crt_parse_der
    - strlen
    - CURL_TRC_CF
    - free
    - mbedtls_ssl_get_version_number
    - mbedtls_x509_crt_free
    - DEBUGASSERT
    - mbedtls_ssl_handshake
    - malloc
    - Curl_alpn_set_negotiated
    - mbedtls_x509_crt_init
    - mbedtls_ssl_get_alpn_protocol
    - mbedtls_pk_write_pubkey_der
    - Curl_pin_peer_pubkey
    - infof
    - Curl_ssl_cf_is_proxy
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mbed_connect_step2(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vtls/mbedtls.c:1048,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:1058,1
    - Dst: mbedtls_ssl_session_init
      Src: /src/curl/lib/vtls/mbedtls.c:1062,1
    - Dst: mbedtls_ssl_get_session
      Src: /src/curl/lib/vtls/mbedtls.c:1063,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:1066,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/curl/lib/vtls/mbedtls.c:1071,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:1073,1
    - Dst: malloc
      Src: /src/curl/lib/vtls/mbedtls.c:1077,1
    - Dst: mbedtls_ssl_session_save
      Src: /src/curl/lib/vtls/mbedtls.c:1083,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:1085,1
    - Dst: mbedtls_ssl_get_version_number
      Src: /src/curl/lib/vtls/mbedtls.c:1089,1
    - Dst: Curl_ssl_session_create
      Src: /src/curl/lib/vtls/mbedtls.c:1090,1
    - Dst: Curl_ssl_scache_put
      Src: /src/curl/lib/vtls/mbedtls.c:1096,1
    - Dst: mbedtls_ssl_session_free
      Src: /src/curl/lib/vtls/mbedtls.c:1101,1
    - Dst: free
      Src: /src/curl/lib/vtls/mbedtls.c:1102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1042
    functionDepth: 10
    functionLinenumber: 1042
    functionLinenumberEnd: 1104
    functionName: mbed_new_session
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_ssl_session_create
    - malloc
    - failf
    - free
    - Curl_ssl_scache_put
    - mbedtls_ssl_session_free
    - mbedtls_ssl_get_version_number
    - mbedtls_ssl_get_session
    - mbedtls_ssl_session_init
    - Curl_ssl_cf_get_config
    - mbedtls_ssl_session_save
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode mbed_new_session(struct Curl_cfilter *cf, struct Curl_easy
      *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:1117,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:1125,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1126,1
    - Dst: mbedtls_ssl_write
      Src: /src/curl/lib/vtls/mbedtls.c:1131,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1138,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - cf
    - data
    - mem
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1165
    functionName: mbed_send
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_write
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbed_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                         const void *mem, size_t len,\n                          size_t
      *pnwritten)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:1179,1
    - Dst: mbedtls_ssl_close_notify
      Src: /src/curl/lib/vtls/mbedtls.c:1193,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1207,1
    - Dst: mbedtls_ssl_read
      Src: /src/curl/lib/vtls/mbedtls.c:1217,1
    - Dst: mbedtls_ssl_read
      Src: /src/curl/lib/vtls/mbedtls.c:1221,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1232,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1236,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1240,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1244,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1248,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 4
    argNames:
    - cf
    - data
    - send_shutdown
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1255
    functionName: mbedtls_shutdown
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_read
    - mbedtls_ssl_close_notify
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbedtls_shutdown(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool send_shutdown, bool
      *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:1264,1
    - Dst: mbedtls_pk_free
      Src: /src/curl/lib/vtls/mbedtls.c:1266,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/curl/lib/vtls/mbedtls.c:1267,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/curl/lib/vtls/mbedtls.c:1268,1
    - Dst: mbedtls_x509_crl_free
      Src: /src/curl/lib/vtls/mbedtls.c:1270,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vtls/mbedtls.c:1272,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/curl/lib/vtls/mbedtls.c:1273,1
    - Dst: mbedtls_ssl_free
      Src: /src/curl/lib/vtls/mbedtls.c:1274,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/curl/lib/vtls/mbedtls.c:1275,1
    - Dst: mbedtls_entropy_free
      Src: /src/curl/lib/vtls/mbedtls.c:1277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1281
    functionName: mbedtls_close
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - mbedtls_ssl_config_free
    - mbedtls_ssl_free
    - mbedtls_ctr_drbg_free
    - mbedtls_entropy_free
    - mbedtls_x509_crt_free
    - mbedtls_pk_free
    - DEBUGASSERT
    - mbedtls_x509_crl_free
    linkageType: ''
    returnType: void
    signature: void mbedtls_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:1294,1
    - Dst: mbedtls_ssl_read
      Src: /src/curl/lib/vtls/mbedtls.c:1298,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vtls/mbedtls.c:1302,1
    - Dst: mbed_new_session
      Src: /src/curl/lib/vtls/mbedtls.c:1307,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vtls/mbedtls.c:1308,1
    - Dst: mbedtls_strerror
      Src: /src/curl/lib/vtls/mbedtls.c:1323,1
    - Dst: failf
      Src: /src/curl/lib/vtls/mbedtls.c:1324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - buffersize
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1283
    functionDepth: 11
    functionLinenumber: 1283
    functionLinenumberEnd: 1331
    functionName: mbed_recv
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - failf
    - CURL_TRC_CF
    - mbed_new_session
    - mbedtls_strerror
    - mbedtls_ssl_read
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbed_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                         char *buf, size_t buffersize,\n                          size_t
      *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_version_get_number
      Src: /src/curl/lib/vtls/mbedtls.c:1337,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/mbedtls.c:1338,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vtls/mbedtls.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1333
    functionDepth: 6
    functionLinenumber: 1333
    functionLinenumberEnd: 1343
    functionName: mbedtls_version
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_version_get_number
    - curl_msnprintf
    linkageType: ''
    returnType: size_t
    signature: size_t mbedtls_version(char *buffer, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_entropy_init
      Src: /src/curl/lib/vtls/mbedtls.c:1353,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/curl/lib/vtls/mbedtls.c:1354,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/curl/lib/vtls/mbedtls.c:1357,1
    - Dst: mbedtls_ctr_drbg_random
      Src: /src/curl/lib/vtls/mbedtls.c:1361,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/curl/lib/vtls/mbedtls.c:1363,1
    - Dst: mbedtls_entropy_free
      Src: /src/curl/lib/vtls/mbedtls.c:1364,1
    - Dst: mbedtls_havege_init
      Src: /src/curl/lib/vtls/mbedtls.c:1369,1
    - Dst: mbedtls_havege_random
      Src: /src/curl/lib/vtls/mbedtls.c:1370,1
    - Dst: mbedtls_havege_free
      Src: /src/curl/lib/vtls/mbedtls.c:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - data
    - entropy
    - length
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1376
    functionName: mbedtls_random
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ctr_drbg_init
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_random
    - mbedtls_ctr_drbg_seed
    - mbedtls_havege_free
    - mbedtls_ctr_drbg_free
    - mbedtls_entropy_free
    - mbedtls_havege_random
    - mbedtls_havege_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbedtls_random(struct Curl_easy *data,\n                               unsigned
      char *entropy, size_t length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbed_connect_step1
      Src: /src/curl/lib/vtls/mbedtls.c:1395,1
    - Dst: mbed_connect_step2
      Src: /src/curl/lib/vtls/mbedtls.c:1401,1
    - Dst: mbedtls_ssl_get_version_number
      Src: /src/curl/lib/vtls/mbedtls.c:1412,1
    - Dst: mbed_new_session
      Src: /src/curl/lib/vtls/mbedtls.c:1414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1378
    functionDepth: 11
    functionLinenumber: 1378
    functionLinenumberEnd: 1427
    functionName: mbedtls_connect
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbed_connect_step2
    - mbed_connect_step1
    - mbedtls_ssl_get_version_number
    - mbed_new_session
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbedtls_connect(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_mbedtlsthreadlock_thread_setup
      Src: /src/curl/lib/vtls/mbedtls.c:1435,1
    - Dst: entropy_init_mutex
      Src: /src/curl/lib/vtls/mbedtls.c:1438,1
    - Dst: Curl_mbedtlsthreadlock_lock_function
      Src: /src/curl/lib/vtls/mbedtls.c:1444,1
    - Dst: psa_crypto_init
      Src: /src/curl/lib/vtls/mbedtls.c:1446,1
    - Dst: Curl_mbedtlsthreadlock_unlock_function
      Src: /src/curl/lib/vtls/mbedtls.c:1448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1455
    functionName: mbedtls_init
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - Curl_mbedtlsthreadlock_thread_setup
    - Curl_mbedtlsthreadlock_unlock_function
    - Curl_mbedtlsthreadlock_lock_function
    - psa_crypto_init
    - entropy_init_mutex
    linkageType: ''
    returnType: int
    signature: int mbedtls_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entropy_cleanup_mutex
      Src: /src/curl/lib/vtls/mbedtls.c:1460,1
    - Dst: Curl_mbedtlsthreadlock_thread_cleanup
      Src: /src/curl/lib/vtls/mbedtls.c:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1463
    functionName: mbedtls_cleanup
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - entropy_cleanup_mutex
    - Curl_mbedtlsthreadlock_thread_cleanup
    linkageType: ''
    returnType: void
    signature: void mbedtls_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:1472,1
    - Dst: mbedtls_ssl_get_bytes_avail
      Src: /src/curl/lib/vtls/mbedtls.c:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1475
    functionName: mbedtls_data_pending
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - mbedtls_ssl_get_bytes_avail
    linkageType: ''
    returnType: bool
    signature: "bool mbedtls_data_pending(struct Curl_cfilter *cf,\n                                 const
      struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_sha256
      Src: /src/curl/lib/vtls/mbedtls.c:1484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - input
    - inputlen
    - sha256sum
    - sha256len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1487
    functionName: mbedtls_sha256sum
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_sha256
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode mbedtls_sha256sum(const unsigned char *input,\n                                  size_t
      inputlen,\n                                  unsigned char *sha256sum,\n                                  size_t
      sha256len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vtls/mbedtls.c:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - connssl
    - info
    argTypes:
    - struct ssl_connect_data*
    - CURLINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1497
    functionName: mbedtls_get_internals
    functionSourceFile: /src/curl/lib/vtls/mbedtls.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void *mbedtls_get_internals(struct ssl_connect_data *connssl,\n                                   CURLINFO
      info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/curl/lib/vauth/krb5_sspi.c:58,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/krb5_sspi.c:59,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/krb5_sspi.c:59,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/krb5_sspi.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: Curl_auth_is_gssapi_supported
    functionSourceFile: /src/curl/lib/vauth/krb5_sspi.c
    functionUses: 2
    functionsReached:
    - QuerySecurityPackageInfo
    - TEXT
    - CURL_UNCONST
    - FreeContextBuffer
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_gssapi_supported(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_build_spn
      Src: /src/curl/lib/vauth/krb5_sspi.c:113,1
    - Dst: QuerySecurityPackageInfo
      Src: /src/curl/lib/vauth/krb5_sspi.c:120,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/krb5_sspi.c:121,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/krb5_sspi.c:121,1
    - Dst: failf
      Src: /src/curl/lib/vauth/krb5_sspi.c:124,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/krb5_sspi.c:131,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/krb5_sspi.c:134,1
    - Dst: Curl_create_sspi_identity
      Src: /src/curl/lib/vauth/krb5_sspi.c:143,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/krb5_sspi.c:155,1
    - Dst: AcquireCredentialsHandle
      Src: /src/curl/lib/vauth/krb5_sspi.c:160,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/krb5_sspi.c:161,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/krb5_sspi.c:161,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/krb5_sspi.c:169,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/krb5_sspi.c:175,1
    - Dst: infof
      Src: /src/curl/lib/vauth/krb5_sspi.c:176,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/krb5_sspi.c:185,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/krb5_sspi.c:185,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/krb5_sspi.c:186,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/krb5_sspi.c:186,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/krb5_sspi.c:195,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/vauth/krb5_sspi.c:198,1
    - Dst: memcmp
      Src: /src/curl/lib/vauth/krb5_sspi.c:214,1
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/vauth/krb5_sspi.c:215,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/krb5_sspi.c:217,1
    - Dst: Curl_bufref_memdup
      Src: /src/curl/lib/vauth/krb5_sspi.c:221,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/krb5_sspi.c:224,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/krb5_sspi.c:226,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 9
    argNames:
    - data
    - userp
    - passwdp
    - service
    - host
    - mutual_auth
    - chlg
    - krb5
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - bool
    - struct bufref*
    - struct kerberos5data*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 229
    functionName: Curl_auth_create_gssapi_user_message
    functionSourceFile: /src/curl/lib/vauth/krb5_sspi.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - CURL_UNCONST
    - Curl_create_sspi_identity
    - calloc
    - failf
    - Curl_bufref_ptr
    - InitializeSecurityContext
    - AcquireCredentialsHandle
    - TEXT
    - curlx_uztoul
    - memcpy
    - DeleteSecurityContext
    - Curl_bufref_len
    - Curl_bufref_memdup
    - malloc
    - FreeContextBuffer
    - QuerySecurityPackageInfo
    - memcmp
    - infof
    - Curl_auth_build_spn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,\n
      \                                             const char *userp,\n                                              const
      char *passwdp,\n                                              const char *service,\n
      \                                             const char *host,\n                                              const
      bool mutual_auth,\n                                              const struct
      bufref *chlg,\n                                              struct kerberos5data
      *krb5,\n                                              struct bufref *out)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/krb5_sspi.c:276,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/krb5_sspi.c:277,1
    - Dst: infof
      Src: /src/curl/lib/vauth/krb5_sspi.c:278,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/vauth/krb5_sspi.c:283,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/krb5_sspi.c:298,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/krb5_sspi.c:298,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/krb5_sspi.c:299,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/krb5_sspi.c:299,1
    - Dst: DecryptMessage
      Src: /src/curl/lib/vauth/krb5_sspi.c:305,1
    - Dst: infof
      Src: /src/curl/lib/vauth/krb5_sspi.c:307,1
    - Dst: infof
      Src: /src/curl/lib/vauth/krb5_sspi.c:313,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/krb5_sspi.c:324,1
    - Dst: infof
      Src: /src/curl/lib/vauth/krb5_sspi.c:328,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/krb5_sspi.c:342,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/krb5_sspi.c:349,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/krb5_sspi.c:350,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:352,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/krb5_sspi.c:367,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/krb5_sspi.c:370,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:372,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:373,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/krb5_sspi.c:387,1
    - Dst: EncryptMessage
      Src: /src/curl/lib/vauth/krb5_sspi.c:393,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:396,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:397,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:398,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/krb5_sspi.c:409,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:411,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:412,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:413,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/krb5_sspi.c:419,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/krb5_sspi.c:421,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/krb5_sspi.c:423,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:426,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:427,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:428,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/krb5_sspi.c:431,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 104
    argCount: 5
    argNames:
    - data
    - authzid
    - chlg
    - krb5
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    - struct kerberos5data*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 433
    functionName: Curl_auth_create_gssapi_security_message
    functionSourceFile: /src/curl/lib/vauth/krb5_sspi.c
    functionUses: 1
    functionsReached:
    - Curl_bufref_set
    - malloc
    - strlen
    - FreeContextBuffer
    - DecryptMessage
    - CURL_UNCONST
    - curlx_uztoul
    - EncryptMessage
    - Curl_bufref_ptr
    - free
    - memcpy
    - infof
    - Curl_bufref_len
    - QueryContextAttributes
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_gssapi_security_message(struct Curl_easy
      *data,\n                                                  const char *authzid,\n
      \                                                 const struct bufref *chlg,\n
      \                                                 struct kerberos5data *krb5,\n
      \                                                 struct bufref *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/vauth/krb5_sspi.c:449,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:450,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/vauth/krb5_sspi.c:456,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_sspi.c:457,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/krb5_sspi.c:462,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/krb5_sspi.c:466,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/krb5_sspi.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - krb5
    argTypes:
    - struct kerberos5data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 471
    functionName: Curl_auth_cleanup_gssapi
    functionSourceFile: /src/curl/lib/vauth/krb5_sspi.c
    functionUses: 0
    functionsReached:
    - Curl_sspi_free_identity
    - Curl_safefree
    - FreeCredentialsHandle
    - free
    - DeleteSecurityContext
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_gssapi(struct kerberos5data *krb5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: GSS_ERROR
    functionSourceFile: /src/curl/lib/vauth/vauth.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GSS_ERROR(status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: Curl_auth_is_digest_supported
    functionSourceFile: /src/curl/lib/vauth/vauth.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_auth_is_digest_supported()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: Curl_auth_is_ntlm_supported
    functionSourceFile: /src/curl/lib/vauth/vauth.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_auth_is_ntlm_supported()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: Curl_auth_is_gssapi_supported
    functionSourceFile: /src/curl/lib/vauth/vauth.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_auth_is_gssapi_supported()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_HMAC_init
      Src: /src/curl/lib/vauth/cram.c:69,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/cram.c:71,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/cram.c:71,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/cram.c:76,1
    - Dst: Curl_HMAC_update
      Src: /src/curl/lib/vauth/cram.c:77,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/cram.c:77,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/cram.c:78,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/cram.c:78,1
    - Dst: Curl_HMAC_final
      Src: /src/curl/lib/vauth/cram.c:81,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/cram.c:84,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/cram.c:92,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/cram.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - chlg
    - userp
    - passwdp
    - out
    argTypes:
    - struct bufref*
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 94
    functionName: Curl_auth_create_cram_md5_message
    functionSourceFile: /src/curl/lib/vauth/cram.c
    functionUses: 1
    functionsReached:
    - Curl_bufref_set
    - strlen
    - curlx_uztoui
    - Curl_HMAC_init
    - Curl_HMAC_update
    - Curl_bufref_ptr
    - Curl_HMAC_final
    - Curl_bufref_len
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_cram_md5_message(const struct bufref *chlg,\n
      \                                          const char *userp,\n                                           const
      char *passwdp,\n                                           struct bufref *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/curl/lib/vauth/spnego_sspi.c:60,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/spnego_sspi.c:61,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/spnego_sspi.c:61,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/spnego_sspi.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: Curl_auth_is_spnego_supported
    functionSourceFile: /src/curl/lib/vauth/spnego_sspi.c
    functionUses: 1
    functionsReached:
    - QuerySecurityPackageInfo
    - TEXT
    - CURL_UNCONST
    - FreeContextBuffer
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_spnego_supported(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_spnego
      Src: /src/curl/lib/vauth/spnego_sspi.c:117,1
    - Dst: Curl_auth_build_spn
      Src: /src/curl/lib/vauth/spnego_sspi.c:123,1
    - Dst: QuerySecurityPackageInfo
      Src: /src/curl/lib/vauth/spnego_sspi.c:130,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/spnego_sspi.c:131,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/spnego_sspi.c:131,1
    - Dst: failf
      Src: /src/curl/lib/vauth/spnego_sspi.c:134,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/spnego_sspi.c:141,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/spnego_sspi.c:144,1
    - Dst: Curl_create_sspi_identity
      Src: /src/curl/lib/vauth/spnego_sspi.c:153,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/spnego_sspi.c:165,1
    - Dst: AcquireCredentialsHandle
      Src: /src/curl/lib/vauth/spnego_sspi.c:170,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/spnego_sspi.c:171,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/spnego_sspi.c:171,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/spnego_sspi.c:179,1
    - Dst: curlx_base64_decode
      Src: /src/curl/lib/vauth/spnego_sspi.c:187,1
    - Dst: infof
      Src: /src/curl/lib/vauth/spnego_sspi.c:194,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/spnego_sspi.c:204,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/vauth/spnego_sspi.c:218,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/spnego_sspi.c:238,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/vauth/spnego_sspi.c:242,1
    - Dst: free
      Src: /src/curl/lib/vauth/spnego_sspi.c:252,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/vauth/spnego_sspi.c:254,1
    - Dst: failf
      Src: /src/curl/lib/vauth/spnego_sspi.c:256,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vauth/spnego_sspi.c:257,1
    - Dst: CompleteAuthToken
      Src: /src/curl/lib/vauth/spnego_sspi.c:267,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/vauth/spnego_sspi.c:268,1
    - Dst: failf
      Src: /src/curl/lib/vauth/spnego_sspi.c:270,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vauth/spnego_sspi.c:271,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 93
    argCount: 7
    argNames:
    - data
    - user
    - password
    - service
    - host
    - chlg64
    - nego
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - char*
    - struct negotiatedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 283
    functionName: Curl_auth_decode_spnego_message
    functionSourceFile: /src/curl/lib/vauth/spnego_sspi.c
    functionUses: 1
    functionsReached:
    - curlx_base64_decode
    - CURL_UNCONST
    - Curl_auth_cleanup_spnego
    - QueryContextAttributes
    - Curl_create_sspi_identity
    - calloc
    - failf
    - CompleteAuthToken
    - InitializeSecurityContext
    - GSS_ERROR
    - AcquireCredentialsHandle
    - TEXT
    - curlx_uztoul
    - free
    - Curl_sspi_strerror
    - malloc
    - FreeContextBuffer
    - QuerySecurityPackageInfo
    - infof
    - Curl_auth_build_spn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,\n
      \                                        const char *user,\n                                         const
      char *password,\n                                         const char *service,\n
      \                                        const char *host,\n                                         const
      char *chlg64,\n                                         struct negotiatedata
      *nego)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/vauth/spnego_sspi.c:305,1
    - Dst: free
      Src: /src/curl/lib/vauth/spnego_sspi.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - nego
    - outptr
    - outlen
    argTypes:
    - struct negotiatedata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: Curl_auth_create_spnego_message
    functionSourceFile: /src/curl/lib/vauth/spnego_sspi.c
    functionUses: 1
    functionsReached:
    - free
    - curlx_base64_encode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_spnego_message(struct negotiatedata *nego,\n
      \                                        char **outptr, size_t *outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/vauth/spnego_sspi.c:330,1
    - Dst: free
      Src: /src/curl/lib/vauth/spnego_sspi.c:331,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/vauth/spnego_sspi.c:337,1
    - Dst: free
      Src: /src/curl/lib/vauth/spnego_sspi.c:338,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/spnego_sspi.c:343,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/spnego_sspi.c:347,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/spnego_sspi.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - nego
    argTypes:
    - struct negotiatedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 357
    functionName: Curl_auth_cleanup_spnego
    functionSourceFile: /src/curl/lib/vauth/spnego_sspi.c
    functionUses: 2
    functionsReached:
    - Curl_sspi_free_identity
    - Curl_safefree
    - FreeCredentialsHandle
    - free
    - DeleteSecurityContext
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_spnego(struct negotiatedata *nego)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsasl_init
      Src: /src/curl/lib/vauth/gsasl.c:49,1
    - Dst: failf
      Src: /src/curl/lib/vauth/gsasl.c:51,1
    - Dst: gsasl_strerror
      Src: /src/curl/lib/vauth/gsasl.c:51,1
    - Dst: gsasl_client_start
      Src: /src/curl/lib/vauth/gsasl.c:55,1
    - Dst: gsasl_done
      Src: /src/curl/lib/vauth/gsasl.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - mech
    - gsasl
    argTypes:
    - struct Curl_easy*
    - char*
    - struct gsasldata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: Curl_auth_gsasl_is_supported
    functionSourceFile: /src/curl/lib/vauth/gsasl.c
    functionUses: 1
    functionsReached:
    - gsasl_done
    - failf
    - gsasl_strerror
    - gsasl_client_start
    - gsasl_init
    linkageType: ''
    returnType: bool
    signature: "bool Curl_auth_gsasl_is_supported(struct Curl_easy *data,\n                                  const
      char *mech,\n                                  struct gsasldata *gsasl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsasl_step
      Src: /src/curl/lib/vauth/gsasl.c:106,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/gsasl.c:107,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/gsasl.c:107,1
    - Dst: failf
      Src: /src/curl/lib/vauth/gsasl.c:110,1
    - Dst: gsasl_strerror
      Src: /src/curl/lib/vauth/gsasl.c:110,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/gsasl.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - data
    - chlg
    - gsasl
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - struct gsasldata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: Curl_auth_gsasl_token
    functionSourceFile: /src/curl/lib/vauth/gsasl.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - failf
    - gsasl_strerror
    - Curl_bufref_ptr
    - gsasl_step
    - Curl_bufref_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_gsasl_token(struct Curl_easy *data,\n                               const
      struct bufref *chlg,\n                               struct gsasldata *gsasl,\n
      \                              struct bufref *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsasl_finish
      Src: /src/curl/lib/vauth/gsasl.c:120,1
    - Dst: gsasl_done
      Src: /src/curl/lib/vauth/gsasl.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gsasl
    argTypes:
    - struct gsasldata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: Curl_auth_gsasl_cleanup
    functionSourceFile: /src/curl/lib/vauth/gsasl.c
    functionUses: 0
    functionsReached:
    - gsasl_done
    - gsasl_finish
    linkageType: ''
    returnType: void
    signature: void Curl_auth_gsasl_cleanup(struct gsasldata *gsasl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vauth/cleartext.c:71,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/cleartext.c:72,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/cleartext.c:73,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/cleartext.c:81,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/cleartext.c:87,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/cleartext.c:89,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/cleartext.c:91,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/cleartext.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - authzid
    - authcid
    - passwd
    - out
    argTypes:
    - char*
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 95
    functionName: Curl_auth_create_plain_message
    functionSourceFile: /src/curl/lib/vauth/cleartext.c
    functionUses: 2
    functionsReached:
    - memcpy
    - Curl_bufref_set
    - strlen
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_plain_message(const char *authzid,\n                                        const
      char *authcid,\n                                        const char *passwd,\n
      \                                       struct bufref *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/cleartext.c:112,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/cleartext.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - valuep
    - out
    argTypes:
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: Curl_auth_create_login_message
    functionSourceFile: /src/curl/lib/vauth/cleartext.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - strlen
    linkageType: ''
    returnType: void
    signature: void Curl_auth_create_login_message(const char *valuep, struct bufref
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_create_login_message
      Src: /src/curl/lib/vauth/cleartext.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - user
    - out
    argTypes:
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: Curl_auth_create_external_message
    functionSourceFile: /src/curl/lib/vauth/cleartext.c
    functionUses: 2
    functionsReached:
    - Curl_auth_create_login_message
    linkageType: ''
    returnType: void
    signature: "void Curl_auth_create_external_message(const char *user,\n                                       struct
      bufref *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/curl/lib/vauth/digest_sspi.c:64,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/digest_sspi.c:65,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/digest_sspi.c:65,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/digest_sspi.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: Curl_auth_is_digest_supported
    functionSourceFile: /src/curl/lib/vauth/digest_sspi.c
    functionUses: 3
    functionsReached:
    - QuerySecurityPackageInfo
    - TEXT
    - CURL_UNCONST
    - FreeContextBuffer
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_digest_supported(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/digest_sspi.c:117,1
    - Dst: infof
      Src: /src/curl/lib/vauth/digest_sspi.c:118,1
    - Dst: QuerySecurityPackageInfo
      Src: /src/curl/lib/vauth/digest_sspi.c:124,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/digest_sspi.c:125,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/digest_sspi.c:125,1
    - Dst: failf
      Src: /src/curl/lib/vauth/digest_sspi.c:128,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/digest_sspi.c:135,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/digest_sspi.c:138,1
    - Dst: Curl_auth_build_spn
      Src: /src/curl/lib/vauth/digest_sspi.c:143,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:145,1
    - Dst: Curl_create_sspi_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:151,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:153,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:154,1
    - Dst: AcquireCredentialsHandle
      Src: /src/curl/lib/vauth/digest_sspi.c:166,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/digest_sspi.c:167,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/digest_sspi.c:167,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:173,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:174,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:175,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/digest_sspi.c:184,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/digest_sspi.c:184,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/digest_sspi.c:185,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/digest_sspi.c:185,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/digest_sspi.c:193,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/vauth/digest_sspi.c:196,1
    - Dst: CompleteAuthToken
      Src: /src/curl/lib/vauth/digest_sspi.c:203,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/vauth/digest_sspi.c:209,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:210,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:211,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:212,1
    - Dst: infof
      Src: /src/curl/lib/vauth/digest_sspi.c:218,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vauth/digest_sspi.c:219,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/digest_sspi.c:226,1
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/vauth/digest_sspi.c:229,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/vauth/digest_sspi.c:230,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:233,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:236,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 6
    argNames:
    - data
    - chlg
    - userp
    - passwdp
    - service
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - char*
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 93
    functionDepth: 7
    functionLinenumber: 93
    functionLinenumberEnd: 239
    functionName: Curl_auth_create_digest_md5_message
    functionSourceFile: /src/curl/lib/vauth/digest_sspi.c
    functionUses: 1
    functionsReached:
    - Curl_bufref_set
    - CURL_UNCONST
    - Curl_create_sspi_identity
    - failf
    - FreeCredentialsHandle
    - Curl_bufref_ptr
    - CompleteAuthToken
    - InitializeSecurityContext
    - AcquireCredentialsHandle
    - TEXT
    - curlx_uztoul
    - free
    - Curl_sspi_strerror
    - DeleteSecurityContext
    - Curl_bufref_len
    - Curl_sspi_free_identity
    - malloc
    - FreeContextBuffer
    - QuerySecurityPackageInfo
    - infof
    - Curl_auth_build_spn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,\n
      \                                            const struct bufref *chlg,\n                                             const
      char *userp,\n                                             const char *passwdp,\n
      \                                            const char *service,\n                                             struct
      bufref *out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/curl/lib/vauth/digest_sspi.c:267,1
    - Dst: Curl_auth_digest_get_pair
      Src: /src/curl/lib/vauth/digest_sspi.c:271,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest_sspi.c:272,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/vauth/digest_sspi.c:275,1
    - Dst: Curl_tcsdup
      Src: /src/curl/lib/vauth/digest_sspi.c:279,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vauth/digest_sspi.c:281,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:285,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/digest_sspi.c:287,1
    - Dst: _tcslen
      Src: /src/curl/lib/vauth/digest_sspi.c:287,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vauth/digest_sspi.c:290,1
    - Dst: ISBLANK
      Src: /src/curl/lib/vauth/digest_sspi.c:300,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - chlg
    - identity
    argTypes:
    - char*
    - SEC_WINNT_AUTH_IDENTITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 310
    functionName: Curl_override_sspi_http_realm
    functionSourceFile: /src/curl/lib/vauth/digest_sspi.c
    functionUses: 0
    functionsReached:
    - curlx_unicodefree
    - curl_strequal
    - curlx_convert_UTF8_to_tchar
    - curlx_uztoul
    - free
    - _tcslen
    - Curl_tcsdup
    - Curl_auth_digest_get_pair
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_override_sspi_http_realm(const char *chlg,\n                                       SEC_WINNT_AUTH_IDENTITY
      *identity)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest_sspi.c:328,1
    - Dst: ISBLANK
      Src: /src/curl/lib/vauth/digest_sspi.c:341,1
    - Dst: Curl_auth_digest_get_pair
      Src: /src/curl/lib/vauth/digest_sspi.c:344,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest_sspi.c:347,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest_sspi.c:348,1
    - Dst: ISBLANK
      Src: /src/curl/lib/vauth/digest_sspi.c:353,1
    - Dst: Curl_auth_digest_cleanup
      Src: /src/curl/lib/vauth/digest_sspi.c:361,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/vauth/digest_sspi.c:367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 2
    argNames:
    - chlg
    - digest
    argTypes:
    - char*
    - struct digestdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 374
    functionName: Curl_auth_decode_digest_http_message
    functionSourceFile: /src/curl/lib/vauth/digest_sspi.c
    functionUses: 1
    functionsReached:
    - strlen
    - Curl_auth_digest_cleanup
    - curl_strequal
    - Curl_auth_digest_get_pair
    - Curl_memdup
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_digest_http_message(const char *chlg,\n
      \                                             struct digestdata *digest)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/curl/lib/vauth/digest_sspi.c:417,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/digest_sspi.c:418,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/digest_sspi.c:418,1
    - Dst: failf
      Src: /src/curl/lib/vauth/digest_sspi.c:421,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/digest_sspi.c:428,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/digest_sspi.c:432,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/vauth/digest_sspi.c:441,1
    - Dst: Curl_timestrcmp
      Src: /src/curl/lib/vauth/digest_sspi.c:442,1
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/vauth/digest_sspi.c:444,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:445,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:447,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:448,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/digest_sspi.c:459,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/digest_sspi.c:460,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest_sspi.c:460,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/digest_sspi.c:462,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/digest_sspi.c:463,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest_sspi.c:463,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/digest_sspi.c:469,1
    - Dst: MakeSignature
      Src: /src/curl/lib/vauth/digest_sspi.c:471,1
    - Dst: infof
      Src: /src/curl/lib/vauth/digest_sspi.c:476,1
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/vauth/digest_sspi.c:477,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:478,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:492,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:493,1
    - Dst: Curl_create_sspi_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:497,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:498,1
    - Dst: Curl_override_sspi_http_realm
      Src: /src/curl/lib/vauth/digest_sspi.c:503,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:505,1
    - Dst: strdup
      Src: /src/curl/lib/vauth/digest_sspi.c:517,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:520,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:521,1
    - Dst: strdup
      Src: /src/curl/lib/vauth/digest_sspi.c:527,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:530,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:531,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:532,1
    - Dst: AcquireCredentialsHandle
      Src: /src/curl/lib/vauth/digest_sspi.c:538,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/digest_sspi.c:539,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/digest_sspi.c:539,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:544,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:545,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/digest_sspi.c:556,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/digest_sspi.c:558,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/digest_sspi.c:559,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest_sspi.c:559,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/digest_sspi.c:570,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/vauth/digest_sspi.c:572,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/vauth/digest_sspi.c:574,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:576,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:577,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/digest_sspi.c:583,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vauth/digest_sspi.c:585,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:586,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:587,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/vauth/digest_sspi.c:592,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vauth/digest_sspi.c:598,1
    - Dst: CompleteAuthToken
      Src: /src/curl/lib/vauth/digest_sspi.c:602,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/vauth/digest_sspi.c:608,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:610,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:611,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:613,1
    - Dst: infof
      Src: /src/curl/lib/vauth/digest_sspi.c:619,1
    - Dst: Curl_sspi_strerror
      Src: /src/curl/lib/vauth/digest_sspi.c:620,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/vauth/digest_sspi.c:628,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/digest_sspi.c:629,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/digest_sspi.c:632,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:634,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/digest_sspi.c:640,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest_sspi.c:648,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 147
    argCount: 8
    argNames:
    - data
    - userp
    - passwdp
    - request
    - uripath
    - digest
    - outptr
    - outlen
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - unsigned char*
    - unsigned char*
    - struct digestdata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 396
    functionDepth: 7
    functionLinenumber: 396
    functionLinenumberEnd: 651
    functionName: Curl_auth_create_digest_http_message
    functionSourceFile: /src/curl/lib/vauth/digest_sspi.c
    functionUses: 1
    functionsReached:
    - Curl_override_sspi_http_realm
    - CURL_UNCONST
    - Curl_timestrcmp
    - Curl_create_sspi_identity
    - calloc
    - failf
    - strdup
    - FreeCredentialsHandle
    - curlx_convert_UTF8_to_tchar
    - CompleteAuthToken
    - InitializeSecurityContext
    - curlx_unicodefree
    - AcquireCredentialsHandle
    - strlen
    - TEXT
    - MakeSignature
    - curlx_uztoul
    - free
    - memcpy
    - Curl_sspi_strerror
    - DeleteSecurityContext
    - Curl_sspi_free_identity
    - Curl_safefree
    - malloc
    - FreeContextBuffer
    - QuerySecurityPackageInfo
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data,\n
      \                                             const char *userp,\n                                              const
      char *passwdp,\n                                              const unsigned
      char *request,\n                                              const unsigned
      char *uripath,\n                                              struct digestdata
      *digest,\n                                              char **outptr, size_t
      *outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:666,1
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/vauth/digest_sspi.c:673,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:674,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:678,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest_sspi.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - digest
    argTypes:
    - struct digestdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 680
    functionName: Curl_auth_digest_cleanup
    functionSourceFile: /src/curl/lib/vauth/digest_sspi.c
    functionUses: 2
    functionsReached:
    - Curl_safefree
    - DeleteSecurityContext
    linkageType: ''
    returnType: void
    signature: void Curl_auth_digest_cleanup(struct digestdata *digest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/oauth2.c:69,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/oauth2.c:72,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/oauth2.c:77,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/oauth2.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - user
    - host
    - port
    - bearer
    - out
    argTypes:
    - char*
    - char*
    - long
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: Curl_auth_create_oauth_bearer_message
    functionSourceFile: /src/curl/lib/vauth/oauth2.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - strlen
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_oauth_bearer_message(const char *user,\n
      \                                              const char *host,\n                                               const
      long port,\n                                               const char *bearer,\n
      \                                              struct bufref *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/oauth2.c:100,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/oauth2.c:104,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/oauth2.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - user
    - bearer
    - out
    argTypes:
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: Curl_auth_create_xoauth_bearer_message
    functionSourceFile: /src/curl/lib/vauth/oauth2.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_set
    - strlen
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_xoauth_bearer_message(const char *user,\n
      \                                               const char *bearer,\n                                                struct
      bufref *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Curl_auth_is_spnego_supported
    functionSourceFile: /src/curl/lib/vauth/spnego_gssapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_spnego_supported(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_spnego
      Src: /src/curl/lib/vauth/spnego_gssapi.c:108,1
    - Dst: Curl_auth_build_spn
      Src: /src/curl/lib/vauth/spnego_gssapi.c:116,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/spnego_gssapi.c:122,1
    - Dst: gss_import_name
      Src: /src/curl/lib/vauth/spnego_gssapi.c:125,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/vauth/spnego_gssapi.c:128,1
    - Dst: Curl_gss_log_error
      Src: /src/curl/lib/vauth/spnego_gssapi.c:129,1
    - Dst: free
      Src: /src/curl/lib/vauth/spnego_gssapi.c:132,1
    - Dst: free
      Src: /src/curl/lib/vauth/spnego_gssapi.c:137,1
    - Dst: curlx_base64_decode
      Src: /src/curl/lib/vauth/spnego_gssapi.c:143,1
    - Dst: infof
      Src: /src/curl/lib/vauth/spnego_gssapi.c:150,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vauth/spnego_gssapi.c:160,1
    - Dst: memset
      Src: /src/curl/lib/vauth/spnego_gssapi.c:161,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vauth/spnego_gssapi.c:162,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vauth/spnego_gssapi.c:163,1
    - Dst: Curl_gss_init_sec_context
      Src: /src/curl/lib/vauth/spnego_gssapi.c:168,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/spnego_gssapi.c:180,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/vauth/spnego_gssapi.c:183,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/spnego_gssapi.c:185,1
    - Dst: Curl_gss_log_error
      Src: /src/curl/lib/vauth/spnego_gssapi.c:187,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/spnego_gssapi.c:195,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/spnego_gssapi.c:202,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 7
    argNames:
    - data
    - user
    - password
    - service
    - host
    - chlg64
    - nego
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - char*
    - struct negotiatedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 82
    functionDepth: 8
    functionLinenumber: 82
    functionLinenumberEnd: 207
    functionName: Curl_auth_decode_spnego_message
    functionSourceFile: /src/curl/lib/vauth/spnego_gssapi.c
    functionUses: 1
    functionsReached:
    - Curl_safefree
    - strlen
    - Curl_gss_log_error
    - gss_import_name
    - Curl_gss_init_sec_context
    - curlx_base64_decode
    - gss_release_buffer
    - free
    - Curl_auth_cleanup_spnego
    - curlx_dyn_len
    - memset
    - infof
    - GSS_ERROR
    - curlx_dyn_ptr
    - Curl_auth_build_spn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,\n
      \                                        const char *user,\n                                         const
      char *password,\n                                         const char *service,\n
      \                                        const char *host,\n                                         const
      char *chlg64,\n                                         struct negotiatedata
      *nego)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/vauth/spnego_gssapi.c:232,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/spnego_gssapi.c:237,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/spnego_gssapi.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - nego
    - outptr
    - outlen
    argTypes:
    - struct negotiatedata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 253
    functionName: Curl_auth_create_spnego_message
    functionSourceFile: /src/curl/lib/vauth/spnego_gssapi.c
    functionUses: 1
    functionsReached:
    - gss_release_buffer
    - curlx_base64_encode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_spnego_message(struct negotiatedata *nego,\n
      \                                        char **outptr, size_t *outlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/vauth/spnego_gssapi.c:271,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/spnego_gssapi.c:278,1
    - Dst: gss_release_name
      Src: /src/curl/lib/vauth/spnego_gssapi.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - nego
    argTypes:
    - struct negotiatedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 295
    functionName: Curl_auth_cleanup_spnego
    functionSourceFile: /src/curl/lib/vauth/spnego_gssapi.c
    functionUses: 3
    functionsReached:
    - Curl_gss_delete_sec_context
    - gss_release_name
    - gss_release_buffer
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_spnego(struct negotiatedata *nego)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Curl_auth_is_gssapi_supported
    functionSourceFile: /src/curl/lib/vauth/krb5_gssapi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_gssapi_supported(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_build_spn
      Src: /src/curl/lib/vauth/krb5_gssapi.c:108,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/krb5_gssapi.c:114,1
    - Dst: gss_import_name
      Src: /src/curl/lib/vauth/krb5_gssapi.c:117,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/vauth/krb5_gssapi.c:119,1
    - Dst: Curl_gss_log_error
      Src: /src/curl/lib/vauth/krb5_gssapi.c:120,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_gssapi.c:123,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_gssapi.c:128,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/krb5_gssapi.c:132,1
    - Dst: infof
      Src: /src/curl/lib/vauth/krb5_gssapi.c:133,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/krb5_gssapi.c:136,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/krb5_gssapi.c:136,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/krb5_gssapi.c:137,1
    - Dst: Curl_gss_init_sec_context
      Src: /src/curl/lib/vauth/krb5_gssapi.c:140,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/vauth/krb5_gssapi.c:151,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/krb5_gssapi.c:153,1
    - Dst: Curl_gss_log_error
      Src: /src/curl/lib/vauth/krb5_gssapi.c:155,1
    - Dst: Curl_bufref_memdup
      Src: /src/curl/lib/vauth/krb5_gssapi.c:162,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/krb5_gssapi.c:163,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/krb5_gssapi.c:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 9
    argNames:
    - data
    - userp
    - passwdp
    - service
    - host
    - mutual_auth
    - chlg
    - krb5
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - bool
    - struct bufref*
    - struct kerberos5data*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 84
    functionDepth: 8
    functionLinenumber: 84
    functionLinenumberEnd: 169
    functionName: Curl_auth_create_gssapi_user_message
    functionSourceFile: /src/curl/lib/vauth/krb5_gssapi.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_memdup
    - Curl_bufref_set
    - strlen
    - Curl_gss_log_error
    - gss_import_name
    - Curl_gss_init_sec_context
    - CURL_UNCONST
    - gss_release_buffer
    - free
    - Curl_bufref_ptr
    - infof
    - GSS_ERROR
    - Curl_bufref_len
    - Curl_auth_build_spn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,\n
      \                                             const char *userp,\n                                              const
      char *passwdp,\n                                              const char *service,\n
      \                                             const char *host,\n                                              const
      bool mutual_auth,\n                                              const struct
      bufref *chlg,\n                                              struct kerberos5data
      *krb5,\n                                              struct bufref *out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/krb5_gssapi.c:207,1
    - Dst: infof
      Src: /src/curl/lib/vauth/krb5_gssapi.c:208,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/krb5_gssapi.c:213,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/krb5_gssapi.c:213,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/krb5_gssapi.c:214,1
    - Dst: gss_unwrap
      Src: /src/curl/lib/vauth/krb5_gssapi.c:217,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/vauth/krb5_gssapi.c:219,1
    - Dst: Curl_gss_log_error
      Src: /src/curl/lib/vauth/krb5_gssapi.c:220,1
    - Dst: infof
      Src: /src/curl/lib/vauth/krb5_gssapi.c:227,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/krb5_gssapi.c:228,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/krb5_gssapi.c:239,1
    - Dst: infof
      Src: /src/curl/lib/vauth/krb5_gssapi.c:243,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/krb5_gssapi.c:260,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/krb5_gssapi.c:261,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/krb5_gssapi.c:275,1
    - Dst: gss_wrap
      Src: /src/curl/lib/vauth/krb5_gssapi.c:282,1
    - Dst: GSS_ERROR
      Src: /src/curl/lib/vauth/krb5_gssapi.c:285,1
    - Dst: Curl_gss_log_error
      Src: /src/curl/lib/vauth/krb5_gssapi.c:286,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_gssapi.c:288,1
    - Dst: Curl_bufref_memdup
      Src: /src/curl/lib/vauth/krb5_gssapi.c:293,1
    - Dst: gss_release_buffer
      Src: /src/curl/lib/vauth/krb5_gssapi.c:295,1
    - Dst: free
      Src: /src/curl/lib/vauth/krb5_gssapi.c:298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 5
    argNames:
    - data
    - authzid
    - chlg
    - krb5
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - struct bufref*
    - struct kerberos5data*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 187
    functionDepth: 8
    functionLinenumber: 187
    functionLinenumberEnd: 301
    functionName: Curl_auth_create_gssapi_security_message
    functionSourceFile: /src/curl/lib/vauth/krb5_gssapi.c
    functionUses: 1
    functionsReached:
    - Curl_bufref_memdup
    - gss_unwrap
    - strlen
    - malloc
    - Curl_gss_log_error
    - gss_wrap
    - CURL_UNCONST
    - gss_release_buffer
    - Curl_bufref_ptr
    - memcpy
    - free
    - infof
    - GSS_ERROR
    - Curl_bufref_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_gssapi_security_message(struct Curl_easy
      *data,\n                                                  const char *authzid,\n
      \                                                 const struct bufref *chlg,\n
      \                                                 struct kerberos5data *krb5,\n
      \                                                 struct bufref *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_gss_delete_sec_context
      Src: /src/curl/lib/vauth/krb5_gssapi.c:319,1
    - Dst: gss_release_name
      Src: /src/curl/lib/vauth/krb5_gssapi.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - krb5
    argTypes:
    - struct kerberos5data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: Curl_auth_cleanup_gssapi
    functionSourceFile: /src/curl/lib/vauth/krb5_gssapi.c
    functionUses: 0
    functionsReached:
    - Curl_gss_delete_sec_context
    - gss_release_name
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_gssapi(struct kerberos5data *krb5)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/vauth.c:64,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/vauth.c:66,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/vauth.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - service
    - host
    - realm
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: Curl_auth_build_spn
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 5
    functionsReached:
    - curl_maprintf
    linkageType: ''
    returnType: char
    signature: "char *Curl_auth_build_spn(const char *service, const char *host,\n
      \                         const char *realm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/vauth.c:91,1
    - Dst: curlx_convert_UTF8_to_tchar
      Src: /src/curl/lib/vauth/vauth.c:98,1
    - Dst: free
      Src: /src/curl/lib/vauth/vauth.c:99,1
    - Dst: Curl_tcsdup
      Src: /src/curl/lib/vauth/vauth.c:102,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/vauth/vauth.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - service
    - host
    - realm
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 105
    functionName: Curl_auth_build_spn
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 5
    functionsReached:
    - curlx_convert_UTF8_to_tchar
    - free
    - Curl_tcsdup
    - curlx_unicodefree
    - curl_maprintf
    linkageType: ''
    returnType: TCHAR
    signature: "TCHAR *Curl_auth_build_spn(const char *service, const char *host,\n
      \                          const char *realm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/curl/lib/vauth/vauth.c:135,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/vauth.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: Curl_auth_user_contains_domain
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 1
    functionsReached:
    - strlen
    - strpbrk
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_user_contains_domain(const char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/vauth.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: Curl_auth_allowed_to_host
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 3
    functionsReached:
    - curl_strequal
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_allowed_to_host(struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/vauth.c:171,1
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/curl/lib/vauth/vauth.c:172,1
    - Dst: free
      Src: /src/curl/lib/vauth/vauth.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: ntlm_conn_dtor
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - Curl_auth_cleanup_ntlm
    linkageType: ''
    returnType: void
    signature: void ntlm_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vauth/vauth.c:180,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/vauth.c:182,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/vauth/vauth.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - proxy
    argTypes:
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: Curl_auth_ntlm_get
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 4
    functionsReached:
    - calloc
    - Curl_conn_meta_get
    - Curl_conn_meta_set
    linkageType: ''
    returnType: struct ntlmdata
    signature: struct ntlmdata *Curl_auth_ntlm_get(struct connectdata *conn, bool
      proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_remove
      Src: /src/curl/lib/vauth/vauth.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - proxy
    argTypes:
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: Curl_auth_ntlm_remove
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 1
    functionsReached:
    - Curl_conn_meta_remove
    linkageType: ''
    returnType: void
    signature: void Curl_auth_ntlm_remove(struct connectdata *conn, bool proxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/vauth.c:205,1
    - Dst: Curl_auth_cleanup_gssapi
      Src: /src/curl/lib/vauth/vauth.c:206,1
    - Dst: free
      Src: /src/curl/lib/vauth/vauth.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: krb5_conn_dtor
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 0
    functionsReached:
    - free
    - DEBUGASSERT
    - Curl_auth_cleanup_gssapi
    linkageType: ''
    returnType: void
    signature: void krb5_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vauth/vauth.c:212,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/vauth.c:214,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/vauth/vauth.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: Curl_auth_krb5_get
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 2
    functionsReached:
    - calloc
    - Curl_conn_meta_get
    - Curl_conn_meta_set
    linkageType: ''
    returnType: struct kerberos5data
    signature: struct kerberos5data *Curl_auth_krb5_get(struct connectdata *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/vauth.c:231,1
    - Dst: Curl_auth_gsasl_cleanup
      Src: /src/curl/lib/vauth/vauth.c:232,1
    - Dst: free
      Src: /src/curl/lib/vauth/vauth.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: gsasl_conn_dtor
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 0
    functionsReached:
    - Curl_auth_gsasl_cleanup
    - free
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void gsasl_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vauth/vauth.c:238,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/vauth.c:240,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/vauth/vauth.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: Curl_auth_gsasl_get
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 2
    functionsReached:
    - calloc
    - Curl_conn_meta_get
    - Curl_conn_meta_set
    linkageType: ''
    returnType: struct gsasldata
    signature: struct gsasldata *Curl_auth_gsasl_get(struct connectdata *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/vauth.c:257,1
    - Dst: Curl_auth_cleanup_spnego
      Src: /src/curl/lib/vauth/vauth.c:258,1
    - Dst: free
      Src: /src/curl/lib/vauth/vauth.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: nego_conn_dtor
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_auth_cleanup_spnego
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void nego_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vauth/vauth.c:266,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/vauth.c:268,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/vauth/vauth.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - proxy
    argTypes:
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: Curl_auth_nego_get
    functionSourceFile: /src/curl/lib/vauth/vauth.c
    functionUses: 3
    functionsReached:
    - calloc
    - Curl_conn_meta_get
    - Curl_conn_meta_set
    linkageType: ''
    returnType: struct negotiatedata
    signature: struct negotiatedata *Curl_auth_nego_get(struct connectdata *conn,
      bool proxy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QuerySecurityPackageInfo
      Src: /src/curl/lib/vauth/ntlm_sspi.c:58,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/ntlm_sspi.c:59,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/ntlm_sspi.c:59,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/ntlm_sspi.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: Curl_auth_is_ntlm_supported
    functionSourceFile: /src/curl/lib/vauth/ntlm_sspi.c
    functionUses: 3
    functionsReached:
    - QuerySecurityPackageInfo
    - TEXT
    - CURL_UNCONST
    - FreeContextBuffer
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_ntlm_supported(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/curl/lib/vauth/ntlm_sspi.c:103,1
    - Dst: QuerySecurityPackageInfo
      Src: /src/curl/lib/vauth/ntlm_sspi.c:106,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/ntlm_sspi.c:107,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/ntlm_sspi.c:107,1
    - Dst: failf
      Src: /src/curl/lib/vauth/ntlm_sspi.c:110,1
    - Dst: FreeContextBuffer
      Src: /src/curl/lib/vauth/ntlm_sspi.c:117,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/ntlm_sspi.c:120,1
    - Dst: Curl_create_sspi_identity
      Src: /src/curl/lib/vauth/ntlm_sspi.c:128,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/ntlm_sspi.c:140,1
    - Dst: AcquireCredentialsHandle
      Src: /src/curl/lib/vauth/ntlm_sspi.c:145,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vauth/ntlm_sspi.c:146,1
    - Dst: TEXT
      Src: /src/curl/lib/vauth/ntlm_sspi.c:146,1
    - Dst: calloc
      Src: /src/curl/lib/vauth/ntlm_sspi.c:154,1
    - Dst: Curl_auth_build_spn
      Src: /src/curl/lib/vauth/ntlm_sspi.c:158,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/ntlm_sspi.c:168,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/vauth/ntlm_sspi.c:171,1
    - Dst: CompleteAuthToken
      Src: /src/curl/lib/vauth/ntlm_sspi.c:179,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/ntlm_sspi.c:186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 7
    argNames:
    - data
    - userp
    - passwdp
    - service
    - host
    - ntlm
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - struct ntlmdata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 88
    functionDepth: 7
    functionLinenumber: 88
    functionLinenumberEnd: 188
    functionName: Curl_auth_create_ntlm_type1_message
    functionSourceFile: /src/curl/lib/vauth/ntlm_sspi.c
    functionUses: 3
    functionsReached:
    - AcquireCredentialsHandle
    - Curl_bufref_set
    - calloc
    - malloc
    - failf
    - FreeContextBuffer
    - Curl_auth_cleanup_ntlm
    - TEXT
    - CURL_UNCONST
    - curlx_uztoul
    - QuerySecurityPackageInfo
    - CompleteAuthToken
    - InitializeSecurityContext
    - Curl_auth_build_spn
    - Curl_create_sspi_identity
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,\n
      \                                            const char *userp,\n                                             const
      char *passwdp,\n                                             const char *service,\n
      \                                            const char *host,\n                                             struct
      ntlmdata *ntlm,\n                                             struct bufref
      *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/ntlm_sspi.c:212,1
    - Dst: infof
      Src: /src/curl/lib/vauth/ntlm_sspi.c:213,1
    - Dst: Curl_memdup0
      Src: /src/curl/lib/vauth/ntlm_sspi.c:218,1
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/ntlm_sspi.c:218,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/ntlm_sspi.c:219,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/ntlm_sspi.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - type2
    - ntlm
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: Curl_auth_decode_ntlm_type2_message
    functionSourceFile: /src/curl/lib/vauth/ntlm_sspi.c
    functionUses: 2
    functionsReached:
    - infof
    - Curl_memdup0
    - Curl_bufref_len
    - Curl_bufref_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_ntlm_type2_message(struct Curl_easy *data,\n
      \                                            const struct bufref *type2,\n                                             struct
      ntlmdata *ntlm)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/ntlm_sspi.c:270,1
    - Dst: QueryContextAttributes
      Src: /src/curl/lib/vauth/ntlm_sspi.c:284,1
    - Dst: curlx_uztoul
      Src: /src/curl/lib/vauth/ntlm_sspi.c:304,1
    - Dst: InitializeSecurityContext
      Src: /src/curl/lib/vauth/ntlm_sspi.c:307,1
    - Dst: infof
      Src: /src/curl/lib/vauth/ntlm_sspi.c:316,1
    - Dst: Curl_bufref_memdup
      Src: /src/curl/lib/vauth/ntlm_sspi.c:326,1
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/curl/lib/vauth/ntlm_sspi.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 5
    argNames:
    - data
    - userp
    - passwdp
    - ntlm
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - struct ntlmdata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 329
    functionName: Curl_auth_create_ntlm_type3_message
    functionSourceFile: /src/curl/lib/vauth/ntlm_sspi.c
    functionUses: 2
    functionsReached:
    - Curl_bufref_memdup
    - Curl_auth_cleanup_ntlm
    - curlx_uztoul
    - InitializeSecurityContext
    - infof
    - QueryContextAttributes
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_ntlm_type3_message(struct Curl_easy *data,\n
      \                                            const char *userp,\n                                             const
      char *passwdp,\n                                             struct ntlmdata
      *ntlm,\n                                             struct bufref *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteSecurityContext
      Src: /src/curl/lib/vauth/ntlm_sspi.c:345,1
    - Dst: free
      Src: /src/curl/lib/vauth/ntlm_sspi.c:346,1
    - Dst: FreeCredentialsHandle
      Src: /src/curl/lib/vauth/ntlm_sspi.c:352,1
    - Dst: free
      Src: /src/curl/lib/vauth/ntlm_sspi.c:353,1
    - Dst: Curl_sspi_free_identity
      Src: /src/curl/lib/vauth/ntlm_sspi.c:358,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/ntlm_sspi.c:362,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/ntlm_sspi.c:363,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/ntlm_sspi.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ntlm
    argTypes:
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: Curl_auth_cleanup_ntlm
    functionSourceFile: /src/curl/lib/vauth/ntlm_sspi.c
    functionUses: 3
    functionsReached:
    - Curl_sspi_free_identity
    - Curl_safefree
    - FreeCredentialsHandle
    - free
    - DeleteSecurityContext
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_ntlm(struct ntlmdata *ntlm)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 4
    argNames:
    - str
    - value
    - content
    - endptr
    argTypes:
    - char*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 140
    functionName: Curl_auth_digest_get_pair
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_auth_digest_get_pair(const char *str, char *value, char
      *content,\n                               const char **endptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vauth/digest.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 6
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: auth_digest_md5_to_ascii
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: "void auth_digest_md5_to_ascii(unsigned char *source, /* 16 bytes */\n
      \                                    unsigned char *dest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vauth/digest.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 6
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: auth_digest_sha256_to_ascii
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: "void auth_digest_sha256_to_ascii(unsigned char *source, /* 32 bytes
      */\n                                        unsigned char *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/vauth/digest.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - source
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 191
    functionName: auth_digest_string_quoted
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: char
    signature: char *auth_digest_string_quoted(const char *source)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/curl/lib/vauth/digest.c:206,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/vauth/digest.c:207,1
    - Dst: curlx_str_quotedword
      Src: /src/curl/lib/vauth/digest.c:209,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/vauth/digest.c:212,1
    - Dst: curlx_str_cmp
      Src: /src/curl/lib/vauth/digest.c:216,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/vauth/digest.c:218,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/digest.c:221,1
    - Dst: curlx_str
      Src: /src/curl/lib/vauth/digest.c:221,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/vauth/digest.c:221,1
    - Dst: curlx_strlen
      Src: /src/curl/lib/vauth/digest.c:222,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/vauth/digest.c:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - chlg
    - key
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 233
    functionName: auth_digest_get_key_value
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - curlx_strlen
    - curlx_str_cmp
    - curlx_str_single
    - curlx_str
    - curlx_str_until
    - curlx_str_quotedword
    linkageType: ''
    returnType: bool
    signature: "bool auth_digest_get_key_value(const char *chlg, const char *key,\n
      \                                     char *buf, size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/curl/lib/vauth/digest.c:241,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/vauth/digest.c:242,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/vauth/digest.c:244,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/vauth/digest.c:246,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/vauth/digest.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - options
    - value
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: auth_digest_get_qop_values
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - curlx_str_casecompare
    - curlx_str_until
    - curlx_str_single
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode auth_digest_get_qop_values(const char *options, int *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/digest.c:281,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/digest.c:284,1
    - Dst: auth_digest_get_key_value
      Src: /src/curl/lib/vauth/digest.c:288,1
    - Dst: auth_digest_get_key_value
      Src: /src/curl/lib/vauth/digest.c:292,1
    - Dst: auth_digest_get_key_value
      Src: /src/curl/lib/vauth/digest.c:298,1
    - Dst: auth_digest_get_key_value
      Src: /src/curl/lib/vauth/digest.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 9
    argNames:
    - chlgref
    - nonce
    - nlen
    - realm
    - rlen
    - alg
    - alen
    - qop
    - qlen
    argTypes:
    - struct bufref*
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 306
    functionName: auth_decode_digest_md5_message
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 0
    functionsReached:
    - Curl_bufref_ptr
    - auth_digest_get_key_value
    - Curl_bufref_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_decode_digest_md5_message(const struct bufref *chlgref,\n
      \                                              char *nonce, size_t nlen,\n                                               char
      *realm, size_t rlen,\n                                               char *alg,
      size_t alen,\n                                               char *qop, size_t
      qlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: Curl_auth_is_digest_supported
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_digest_supported(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: auth_decode_digest_md5_message
      Src: /src/curl/lib/vauth/digest.c:365,1
    - Dst: strcmp
      Src: /src/curl/lib/vauth/digest.c:376,1
    - Dst: auth_digest_get_qop_values
      Src: /src/curl/lib/vauth/digest.c:380,1
    - Dst: Curl_rand_hex
      Src: /src/curl/lib/vauth/digest.c:389,1
    - Dst: Curl_MD5_init
      Src: /src/curl/lib/vauth/digest.c:394,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:398,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:399,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:399,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:400,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:401,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:402,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:402,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:403,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:404,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:405,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:405,1
    - Dst: Curl_MD5_final
      Src: /src/curl/lib/vauth/digest.c:406,1
    - Dst: Curl_MD5_init
      Src: /src/curl/lib/vauth/digest.c:408,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:412,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:413,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:414,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:415,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:415,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:416,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:417,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:418,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:418,1
    - Dst: Curl_MD5_final
      Src: /src/curl/lib/vauth/digest.c:419,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vauth/digest.c:423,1
    - Dst: Curl_auth_build_spn
      Src: /src/curl/lib/vauth/digest.c:426,1
    - Dst: Curl_MD5_init
      Src: /src/curl/lib/vauth/digest.c:431,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:433,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:438,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:439,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:439,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:440,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:441,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:442,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:442,1
    - Dst: Curl_MD5_final
      Src: /src/curl/lib/vauth/digest.c:443,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vauth/digest.c:446,1
    - Dst: Curl_MD5_init
      Src: /src/curl/lib/vauth/digest.c:449,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:451,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:456,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:457,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:458,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:459,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:459,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:460,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:462,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:463,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:463,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:464,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:465,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:466,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:466,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:467,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:468,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vauth/digest.c:469,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:469,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:470,1
    - Dst: Curl_MD5_update
      Src: /src/curl/lib/vauth/digest.c:472,1
    - Dst: Curl_MD5_final
      Src: /src/curl/lib/vauth/digest.c:473,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vauth/digest.c:476,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:479,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:484,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/digest.c:489,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:489,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 6
    argNames:
    - data
    - chlg
    - userp
    - passwdp
    - service
    - out
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - char*
    - char*
    - char*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 339
    functionDepth: 7
    functionLinenumber: 339
    functionLinenumberEnd: 491
    functionName: Curl_auth_create_digest_md5_message
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 1
    functionsReached:
    - Curl_bufref_set
    - Curl_rand_hex
    - strlen
    - curl_msnprintf
    - curlx_uztoui
    - curl_maprintf
    - auth_digest_get_qop_values
    - Curl_auth_build_spn
    - strcmp
    - free
    - auth_decode_digest_md5_message
    - Curl_MD5_init
    - Curl_MD5_final
    - Curl_MD5_update
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,\n
      \                                            const struct bufref *chlg,\n                                             const
      char *userp,\n                                             const char *passwdp,\n
      \                                            const char *service,\n                                             struct
      bufref *out)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_digest_cleanup
      Src: /src/curl/lib/vauth/digest.c:516,1
    - Dst: ISBLANK
      Src: /src/curl/lib/vauth/digest.c:523,1
    - Dst: Curl_auth_digest_get_pair
      Src: /src/curl/lib/vauth/digest.c:527,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:528,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:529,1
    - Dst: strdup
      Src: /src/curl/lib/vauth/digest.c:530,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:534,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:535,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:540,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:541,1
    - Dst: strdup
      Src: /src/curl/lib/vauth/digest.c:542,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:546,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:547,1
    - Dst: strdup
      Src: /src/curl/lib/vauth/digest.c:548,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:552,1
    - Dst: ISBLANK
      Src: /src/curl/lib/vauth/digest.c:558,1
    - Dst: curlx_str_until
      Src: /src/curl/lib/vauth/digest.c:560,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/vauth/digest.c:561,1
    - Dst: curlx_str_casecompare
      Src: /src/curl/lib/vauth/digest.c:563,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/vauth/digest.c:566,1
    - Dst: ISBLANK
      Src: /src/curl/lib/vauth/digest.c:568,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:574,1
    - Dst: strdup
      Src: /src/curl/lib/vauth/digest.c:575,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:580,1
    - Dst: strdup
      Src: /src/curl/lib/vauth/digest.c:581,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:586,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:587,1
    - Dst: strdup
      Src: /src/curl/lib/vauth/digest.c:588,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:592,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:594,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:596,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:598,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:600,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:607,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:617,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:618,1
    - Dst: ISBLANK
      Src: /src/curl/lib/vauth/digest.c:630,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 101
    argCount: 2
    argNames:
    - chlg
    - digest
    argTypes:
    - char*
    - struct digestdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 653
    functionName: Curl_auth_decode_digest_http_message
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 1
    functionsReached:
    - curlx_str_casecompare
    - Curl_auth_digest_cleanup
    - curl_strequal
    - strdup
    - free
    - curlx_str_single
    - Curl_auth_digest_get_pair
    - curlx_str_until
    - ISBLANK
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_digest_http_message(const char *chlg,\n
      \                                             struct digestdata *digest)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/vauth/digest.c:702,1
    - Dst: Curl_rand_bytes
      Src: /src/curl/lib/vauth/digest.c:708,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/vauth/digest.c:717,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:726,1
    - Dst: hash
      Src: /src/curl/lib/vauth/digest.c:731,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:731,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:732,1
    - Dst: convert_to_ascii
      Src: /src/curl/lib/vauth/digest.c:735,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:749,1
    - Dst: hash
      Src: /src/curl/lib/vauth/digest.c:754,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:754,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:755,1
    - Dst: convert_to_ascii
      Src: /src/curl/lib/vauth/digest.c:758,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:762,1
    - Dst: hash
      Src: /src/curl/lib/vauth/digest.c:766,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:766,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:767,1
    - Dst: convert_to_ascii
      Src: /src/curl/lib/vauth/digest.c:770,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:786,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vauth/digest.c:790,1
    - Dst: hash
      Src: /src/curl/lib/vauth/digest.c:795,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:797,1
    - Dst: convert_to_ascii
      Src: /src/curl/lib/vauth/digest.c:800,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:802,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:803,1
    - Dst: hash
      Src: /src/curl/lib/vauth/digest.c:810,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:810,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:811,1
    - Dst: convert_to_ascii
      Src: /src/curl/lib/vauth/digest.c:814,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:817,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:821,1
    - Dst: hash
      Src: /src/curl/lib/vauth/digest.c:827,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:827,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:828,1
    - Dst: convert_to_ascii
      Src: /src/curl/lib/vauth/digest.c:831,1
    - Dst: auth_digest_string_quoted
      Src: /src/curl/lib/vauth/digest.c:846,1
    - Dst: auth_digest_string_quoted
      Src: /src/curl/lib/vauth/digest.c:850,1
    - Dst: malloc
      Src: /src/curl/lib/vauth/digest.c:852,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:857,1
    - Dst: auth_digest_string_quoted
      Src: /src/curl/lib/vauth/digest.c:860,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:862,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:863,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:868,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:889,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:900,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:901,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:902,1
    - Dst: auth_digest_string_quoted
      Src: /src/curl/lib/vauth/digest.c:910,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:912,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:915,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:916,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:917,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:926,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:927,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/digest.c:936,1
    - Dst: free
      Src: /src/curl/lib/vauth/digest.c:937,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/digest.c:946,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 134
    argCount: 8
    argNames:
    - data
    - userp
    - passwdp
    - request
    - uripath
    - digest
    - outptr
    - outlen
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - unsigned char*
    - unsigned char*
    - struct digestdata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 675
    functionDepth: 6
    functionLinenumber: 675
    functionLinenumberEnd: 949
    functionName: auth_create_digest_http_message
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 1
    functionsReached:
    - strlen
    - auth_digest_string_quoted
    - malloc
    - curlx_base64_encode
    - curl_strequal
    - free
    - hash
    - memset
    - convert_to_ascii
    - Curl_rand_bytes
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode auth_create_digest_http_message(\n                  struct
      Curl_easy *data,\n                  const char *userp,\n                  const
      char *passwdp,\n                  const unsigned char *request,\n                  const
      unsigned char *uripath,\n                  struct digestdata *digest,\n                  char
      **outptr, size_t *outlen,\n                  void (*convert_to_ascii)(unsigned
      char *, unsigned char *),\n                  CURLcode (*hash)(unsigned char
      *, const unsigned char *,\n                                   const size_t))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: auth_create_digest_http_message
      Src: /src/curl/lib/vauth/digest.c:980,1
    - Dst: auth_create_digest_http_message
      Src: /src/curl/lib/vauth/digest.c:987,1
    - Dst: auth_create_digest_http_message
      Src: /src/curl/lib/vauth/digest.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 8
    argNames:
    - data
    - userp
    - passwdp
    - request
    - uripath
    - digest
    - outptr
    - outlen
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - unsigned char*
    - unsigned char*
    - struct digestdata*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 971
    functionDepth: 7
    functionLinenumber: 971
    functionLinenumberEnd: 1003
    functionName: Curl_auth_create_digest_http_message
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 1
    functionsReached:
    - auth_create_digest_http_message
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data,\n
      \                                             const char *userp,\n                                              const
      char *passwdp,\n                                              const unsigned
      char *request,\n                                              const unsigned
      char *uripath,\n                                              struct digestdata
      *digest,\n                                              char **outptr, size_t
      *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest.c:1017,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest.c:1018,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest.c:1019,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest.c:1020,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest.c:1021,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/digest.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - digest
    argTypes:
    - struct digestdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1028
    functionName: Curl_auth_digest_cleanup
    functionSourceFile: /src/curl/lib/vauth/digest.c
    functionUses: 3
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_auth_digest_cleanup(struct digestdata *digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: DEBUG_OUT
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_OUT(x)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:170,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:172,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:174,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:176,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:178,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:180,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:182,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:184,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:186,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:188,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:190,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:192,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:194,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:196,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:198,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:200,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:202,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:204,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:206,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:208,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:210,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:212,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:214,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:216,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:218,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:220,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:222,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:224,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:226,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:228,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:230,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 63
    argCount: 2
    argNames:
    - handle
    - flags
    argTypes:
    - FILE*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 167
    functionDepth: 5
    functionLinenumber: 167
    functionLinenumberEnd: 231
    functionName: ntlm_print_flags
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void ntlm_print_flags(FILE *handle, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:239,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - FILE*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 5
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: ntlm_print_hex
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void ntlm_print_hex(FILE *handle, const char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: DEBUG_OUT
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_OUT(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/ntlm.c:267,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/ntlm.c:268,1
    - Dst: Curl_read16_le
      Src: /src/curl/lib/vauth/ntlm.c:275,1
    - Dst: Curl_read32_le
      Src: /src/curl/lib/vauth/ntlm.c:276,1
    - Dst: infof
      Src: /src/curl/lib/vauth/ntlm.c:281,1
    - Dst: free
      Src: /src/curl/lib/vauth/ntlm.c:286,1
    - Dst: Curl_memdup
      Src: /src/curl/lib/vauth/ntlm.c:287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - data
    - type2ref
    - ntlm
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 297
    functionName: ntlm_decode_type2_target
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached:
    - Curl_read16_le
    - Curl_bufref_ptr
    - free
    - infof
    - Curl_read32_le
    - Curl_bufref_len
    - Curl_memdup
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ntlm_decode_type2_target(struct Curl_easy *data,\n                                         const
      struct bufref *type2ref,\n                                         struct ntlmdata
      *ntlm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: Curl_auth_is_ntlm_supported
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Curl_auth_is_ntlm_supported(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufref_ptr
      Src: /src/curl/lib/vauth/ntlm.c:367,1
    - Dst: Curl_bufref_len
      Src: /src/curl/lib/vauth/ntlm.c:368,1
    - Dst: memcmp
      Src: /src/curl/lib/vauth/ntlm.c:377,1
    - Dst: memcmp
      Src: /src/curl/lib/vauth/ntlm.c:378,1
    - Dst: infof
      Src: /src/curl/lib/vauth/ntlm.c:380,1
    - Dst: Curl_read32_le
      Src: /src/curl/lib/vauth/ntlm.c:384,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/ntlm.c:385,1
    - Dst: ntlm_decode_type2_target
      Src: /src/curl/lib/vauth/ntlm.c:388,1
    - Dst: infof
      Src: /src/curl/lib/vauth/ntlm.c:390,1
    - Dst: DEBUG_OUT
      Src: /src/curl/lib/vauth/ntlm.c:395,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:396,1
    - Dst: ntlm_print_flags
      Src: /src/curl/lib/vauth/ntlm.c:397,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:398,1
    - Dst: ntlm_print_hex
      Src: /src/curl/lib/vauth/ntlm.c:399,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:400,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - data
    - type2ref
    - ntlm
    argTypes:
    - struct Curl_easy*
    - struct bufref*
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 344
    functionDepth: 6
    functionLinenumber: 344
    functionLinenumberEnd: 405
    functionName: Curl_auth_decode_ntlm_type2_message
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 2
    functionsReached:
    - DEBUG_OUT
    - ntlm_print_flags
    - ntlm_print_hex
    - curl_mfprintf
    - ntlm_decode_type2_target
    - Curl_bufref_ptr
    - memcpy
    - memcmp
    - infof
    - Curl_read32_le
    - Curl_bufref_len
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_decode_ntlm_type2_message(struct Curl_easy *data,\n
      \                                            const struct bufref *type2ref,\n
      \                                            struct ntlmdata *ntlm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - src
    - length
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: unicodecpy
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unicodecpy(unsigned char *dest, const char *src, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/curl/lib/vauth/ntlm.c:475,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vauth/ntlm.c:477,1
    - Dst: LONGQUARTET
      Src: /src/curl/lib/vauth/ntlm.c:493,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:498,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:499,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:500,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:502,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:503,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:504,1
    - Dst: DEBUG_OUT
      Src: /src/curl/lib/vauth/ntlm.c:515,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:516,1
    - Dst: LONGQUARTET
      Src: /src/curl/lib/vauth/ntlm.c:518,1
    - Dst: ntlm_print_flags
      Src: /src/curl/lib/vauth/ntlm.c:528,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:534,1
    - Dst: Curl_bufref_set
      Src: /src/curl/lib/vauth/ntlm.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 7
    argNames:
    - data
    - userp
    - passwdp
    - service
    - hostname
    - ntlm
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - char*
    - char*
    - struct ntlmdata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 436
    functionDepth: 6
    functionLinenumber: 436
    functionLinenumberEnd: 539
    functionName: Curl_auth_create_ntlm_type1_message
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 3
    functionsReached:
    - LONGQUARTET
    - DEBUG_OUT
    - ntlm_print_flags
    - Curl_bufref_set
    - Curl_auth_cleanup_ntlm
    - curl_mfprintf
    - SHORTPAIR
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,\n
      \                                            const char *userp,\n                                             const
      char *passwdp,\n                                             const char *service,\n
      \                                            const char *hostname,\n                                             struct
      ntlmdata *ntlm,\n                                             struct bufref
      *out)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/vauth/ntlm.c:604,1
    - Dst: memset
      Src: /src/curl/lib/vauth/ntlm.c:605,1
    - Dst: strchr
      Src: /src/curl/lib/vauth/ntlm.c:606,1
    - Dst: strchr
      Src: /src/curl/lib/vauth/ntlm.c:608,1
    - Dst: strlen
      Src: /src/curl/lib/vauth/ntlm.c:618,1
    - Dst: Curl_rand
      Src: /src/curl/lib/vauth/ntlm.c:630,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/curl/lib/vauth/ntlm.c:634,1
    - Dst: Curl_ntlm_core_mk_ntlmv2_hash
      Src: /src/curl/lib/vauth/ntlm.c:638,1
    - Dst: Curl_ntlm_core_mk_lmv2_resp
      Src: /src/curl/lib/vauth/ntlm.c:644,1
    - Dst: Curl_ntlm_core_mk_ntlmv2_resp
      Src: /src/curl/lib/vauth/ntlm.c:650,1
    - Dst: Curl_ntlm_core_mk_nt_hash
      Src: /src/curl/lib/vauth/ntlm.c:664,1
    - Dst: Curl_ntlm_core_lm_resp
      Src: /src/curl/lib/vauth/ntlm.c:668,1
    - Dst: Curl_ntlm_core_mk_lm_hash
      Src: /src/curl/lib/vauth/ntlm.c:670,1
    - Dst: Curl_ntlm_core_lm_resp
      Src: /src/curl/lib/vauth/ntlm.c:674,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vauth/ntlm.c:695,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:741,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:743,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:744,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:747,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:748,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:749,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:752,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:753,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:754,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:757,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:758,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:759,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:762,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:763,1
    - Dst: SHORTPAIR
      Src: /src/curl/lib/vauth/ntlm.c:764,1
    - Dst: LONGQUARTET
      Src: /src/curl/lib/vauth/ntlm.c:772,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/ntlm.c:774,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/ntlm.c:775,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/ntlm.c:779,1
    - Dst: DEBUG_OUT
      Src: /src/curl/lib/vauth/ntlm.c:783,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:784,1
    - Dst: ntlm_print_hex
      Src: /src/curl/lib/vauth/ntlm.c:785,1
    - Dst: failf
      Src: /src/curl/lib/vauth/ntlm.c:790,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/ntlm.c:793,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/ntlm.c:794,1
    - Dst: DEBUG_OUT
      Src: /src/curl/lib/vauth/ntlm.c:797,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:798,1
    - Dst: ntlm_print_hex
      Src: /src/curl/lib/vauth/ntlm.c:799,1
    - Dst: free
      Src: /src/curl/lib/vauth/ntlm.c:802,1
    - Dst: DEBUG_OUT
      Src: /src/curl/lib/vauth/ntlm.c:804,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:805,1
    - Dst: LONGQUARTET
      Src: /src/curl/lib/vauth/ntlm.c:806,1
    - Dst: ntlm_print_flags
      Src: /src/curl/lib/vauth/ntlm.c:807,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vauth/ntlm.c:808,1
    - Dst: failf
      Src: /src/curl/lib/vauth/ntlm.c:814,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/ntlm.c:818,1
    - Dst: unicodecpy
      Src: /src/curl/lib/vauth/ntlm.c:820,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/ntlm.c:822,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/ntlm.c:826,1
    - Dst: unicodecpy
      Src: /src/curl/lib/vauth/ntlm.c:828,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/ntlm.c:830,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vauth/ntlm.c:834,1
    - Dst: unicodecpy
      Src: /src/curl/lib/vauth/ntlm.c:836,1
    - Dst: memcpy
      Src: /src/curl/lib/vauth/ntlm.c:838,1
    - Dst: Curl_bufref_memdup
      Src: /src/curl/lib/vauth/ntlm.c:843,1
    - Dst: Curl_auth_cleanup_ntlm
      Src: /src/curl/lib/vauth/ntlm.c:845,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 102
    argCount: 5
    argNames:
    - data
    - userp
    - passwdp
    - ntlm
    - out
    argTypes:
    - struct Curl_easy*
    - char*
    - char*
    - struct ntlmdata*
    - struct bufref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 557
    functionDepth: 7
    functionLinenumber: 557
    functionLinenumberEnd: 848
    functionName: Curl_auth_create_ntlm_type3_message
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 2
    functionsReached:
    - LONGQUARTET
    - DEBUG_OUT
    - Curl_ntlm_core_mk_lm_hash
    - Curl_ntlm_core_mk_nt_hash
    - ntlm_print_flags
    - failf
    - curl_mfprintf
    - strchr
    - Curl_ntlm_core_lm_resp
    - Curl_ntlm_core_mk_lmv2_resp
    - strlen
    - curl_msnprintf
    - memcpy
    - free
    - Curl_rand
    - ntlm_print_hex
    - DEBUGASSERT
    - unicodecpy
    - Curl_bufref_memdup
    - Curl_auth_cleanup_ntlm
    - SHORTPAIR
    - Curl_ntlm_core_mk_ntlmv2_hash
    - memset
    - Curl_ntlm_core_mk_ntlmv2_resp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_auth_create_ntlm_type3_message(struct Curl_easy *data,\n
      \                                            const char *userp,\n                                             const
      char *passwdp,\n                                             struct ntlmdata
      *ntlm,\n                                             struct bufref *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vauth/ntlm.c:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ntlm
    argTypes:
    - struct ntlmdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 867
    functionName: Curl_auth_cleanup_ntlm
    functionSourceFile: /src/curl/lib/vauth/ntlm.c
    functionUses: 5
    functionsReached:
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void Curl_auth_cleanup_ntlm(struct ntlmdata *ntlm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: Curl_ssh_init
    functionSourceFile: /src/curl/lib/vssh/ssh.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_ssh_init()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_urldecode
      Src: /src/curl/lib/vssh/curl_path.c:47,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vssh/curl_path.c:53,1
    - Dst: memcmp
      Src: /src/curl/lib/vssh/curl_path.c:57,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vssh/curl_path.c:59,1
    - Dst: free
      Src: /src/curl/lib/vssh/curl_path.c:60,1
    - Dst: strcmp
      Src: /src/curl/lib/vssh/curl_path.c:65,1
    - Dst: memcmp
      Src: /src/curl/lib/vssh/curl_path.c:66,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vssh/curl_path.c:67,1
    - Dst: free
      Src: /src/curl/lib/vssh/curl_path.c:68,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vssh/curl_path.c:76,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vssh/curl_path.c:77,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vssh/curl_path.c:81,1
    - Dst: free
      Src: /src/curl/lib/vssh/curl_path.c:83,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vssh/curl_path.c:88,1
    - Dst: free
      Src: /src/curl/lib/vssh/curl_path.c:89,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vssh/curl_path.c:95,1
    - Dst: free
      Src: /src/curl/lib/vssh/curl_path.c:96,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vssh/curl_path.c:99,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/curl_path.c:103,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - data
    - homedir
    - path
    argTypes:
    - struct Curl_easy*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 106
    functionName: Curl_getworkingpath
    functionSourceFile: /src/curl/lib/vssh/curl_path.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - curlx_dyn_addn
    - free
    - curlx_dyn_init
    - strcmp
    - memcmp
    - curlx_dyn_len
    - Curl_urldecode
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_getworkingpath(struct Curl_easy *data,\n                             char
      *homedir,  /* when SFTP is used */\n                             char **path)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/curl_path.c:137,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vssh/curl_path.c:143,1
    - Dst: strspn
      Src: /src/curl/lib/vssh/curl_path.c:146,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/curl_path.c:153,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vssh/curl_path.c:168,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vssh/curl_path.c:173,1
    - Dst: strspn
      Src: /src/curl/lib/vssh/curl_path.c:177,1
    - Dst: strpbrk
      Src: /src/curl/lib/vssh/curl_path.c:181,1
    - Dst: strchr
      Src: /src/curl/lib/vssh/curl_path.c:183,1
    - Dst: strspn
      Src: /src/curl/lib/vssh/curl_path.c:186,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vssh/curl_path.c:190,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vssh/curl_path.c:192,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vssh/curl_path.c:198,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vssh/curl_path.c:202,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vssh/curl_path.c:206,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 3
    argNames:
    - cpp
    - path
    - homedir
    argTypes:
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 208
    functionName: Curl_get_pathname
    functionSourceFile: /src/curl/lib/vssh/curl_path.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_add
    - strlen
    - strchr
    - strpbrk
    - curlx_dyn_addn
    - curlx_dyn_free
    - curlx_dyn_init
    - curlx_dyn_len
    - strspn
    - DEBUGASSERT
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_get_pathname(const char **cpp, char **path, const char
      *homedir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: SSH_STRING_FREE_CHAR
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSH_STRING_FREE_CHAR(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 218
    functionName: sftp_error_to_CURLE
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sftp_error_to_CURLE(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: myssh_to
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myssh_to(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: myssh_to
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: myssh_to(x,y,z)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ssh_get_server_publickey
      Src: /src/curl/lib/vssh/libssh.c:341,1
    - Dst: ssh_get_publickey_hash
      Src: /src/curl/lib/vssh/libssh.c:351,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:354,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vssh/libssh.c:360,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:362,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vssh/libssh.c:364,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:365,1
    - Dst: ssh_session_get_known_hosts_entry
      Src: /src/curl/lib/vssh/libssh.c:379,1
    - Dst: ssh_pki_export_pubkey_base64
      Src: /src/curl/lib/vssh/libssh.c:385,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:391,1
    - Dst: ssh_key_type
      Src: /src/curl/lib/vssh/libssh.c:393,1
    - Dst: ssh_pki_export_pubkey_base64
      Src: /src/curl/lib/vssh/libssh.c:436,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:441,1
    - Dst: ssh_key_type
      Src: /src/curl/lib/vssh/libssh.c:443,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh.c:467,1
    - Dst: func
      Src: /src/curl/lib/vssh/libssh.c:468,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh.c:471,1
    - Dst: ssh_session_update_known_hosts
      Src: /src/curl/lib/vssh/libssh.c:475,1
    - Dst: ssh_clean_pubkey_hash
      Src: /src/curl/lib/vssh/libssh.c:504,1
    - Dst: ssh_key_free
      Src: /src/curl/lib/vssh/libssh.c:505,1
    - Dst: ssh_knownhosts_entry_free
      Src: /src/curl/lib/vssh/libssh.c:507,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 149
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 324
    functionDepth: 6
    functionLinenumber: 324
    functionLinenumberEnd: 510
    functionName: myssh_is_known
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - func
    - strlen
    - failf
    - ssh_key_type
    - curl_msnprintf
    - ssh_get_publickey_hash
    - curl_strequal
    - ssh_session_update_known_hosts
    - ssh_pki_export_pubkey_base64
    - ssh_clean_pubkey_hash
    - ssh_knownhosts_entry_free
    - ssh_key_free
    - ssh_get_server_publickey
    - ssh_session_get_known_hosts_entry
    - infof
    - Curl_set_in_callback
    linkageType: ''
    returnType: int
    signature: int myssh_is_known(struct Curl_easy *data, struct ssh_conn *sshc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - sshc
    - result
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: myssh_to_ERROR
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_to_ERROR(struct Curl_easy *data,\n                          struct
      ssh_conn *sshc,\n                          CURLcode result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:524,1
    - Dst: sftp_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh.c:526,1
    - Dst: sftp_get_error
      Src: /src/curl/lib/vssh/libssh.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: myssh_to_SFTP_CLOSE
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_get_error
    - myssh_to
    - sftp_error_to_CURLE
    linkageType: ''
    returnType: int
    signature: "int myssh_to_SFTP_CLOSE(struct Curl_easy *data,\n                               struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:534,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: myssh_to_PASSWD_AUTH
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_to_PASSWD_AUTH(struct Curl_easy *data,\n                                struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:544,1
    - Dst: myssh_to_PASSWD_AUTH
      Src: /src/curl/lib/vssh/libssh.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 548
    functionName: myssh_to_KEY_AUTH
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - myssh_to_PASSWD_AUTH
    linkageType: ''
    returnType: int
    signature: "int myssh_to_KEY_AUTH(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:554,1
    - Dst: myssh_to_KEY_AUTH
      Src: /src/curl/lib/vssh/libssh.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 558
    functionName: myssh_to_GSSAPI_AUTH
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - myssh_to_KEY_AUTH
    linkageType: ''
    returnType: int
    signature: "int myssh_to_GSSAPI_AUTH(struct Curl_easy *data,\n                                struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh.c:564,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:566,1
    - Dst: sftp_opendir
      Src: /src/curl/lib/vssh/libssh.c:574,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:577,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:578,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:579,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 583
    functionName: myssh_in_SFTP_READDIR_INIT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - failf
    - Curl_pgrsSetDownloadSize
    - sftp_opendir
    - myssh_to_SFTP_CLOSE
    - ssh_get_error
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR_INIT(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc,\n                                      struct SSHPROTO *sshp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vssh/libssh.c:591,1
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:593,1
    - Dst: sftp_readdir
      Src: /src/curl/lib/vssh/libssh.c:595,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:599,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vssh/libssh.c:604,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:606,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/vssh/libssh.c:610,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh.c:612,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:615,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vssh/libssh.c:621,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:623,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vssh/libssh.c:630,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:634,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:639,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:642,1
    - Dst: sftp_dir_eof
      Src: /src/curl/lib/vssh/libssh.c:646,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:647,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:650,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:651,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:652,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 585
    functionDepth: 6
    functionLinenumber: 585
    functionLinenumberEnd: 655
    functionName: myssh_in_SFTP_READDIR
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_add
    - myssh_to
    - strlen
    - sftp_dir_eof
    - sftp_readdir
    - failf
    - Curl_client_write
    - myssh_to_SFTP_CLOSE
    - ssh_get_error
    - curlx_dyn_reset
    - free
    - sftp_attributes_free
    - curl_maprintf
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR(struct Curl_easy *data,\n                                 struct
      ssh_conn *sshc,\n                                 struct SSHPROTO *sshp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:661,1
    - Dst: sftp_lstat
      Src: /src/curl/lib/vssh/libssh.c:663,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:666,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:667,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:668,1
    - Dst: sftp_readlink
      Src: /src/curl/lib/vssh/libssh.c:672,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:677,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:682,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:687,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vssh/libssh.c:689,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:698,1
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:703,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 710
    functionName: myssh_in_SFTP_READDIR_LINK
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - myssh_to
    - strlen
    - failf
    - sftp_readlink
    - sftp_lstat
    - myssh_to_SFTP_CLOSE
    - ssh_get_error
    - sftp_attributes_free
    - curlx_dyn_addf
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR_LINK(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vssh/libssh.c:717,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/vssh/libssh.c:720,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vssh/libssh.c:721,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vssh/libssh.c:722,1
    - Dst: ssh_string_free_char
      Src: /src/curl/lib/vssh/libssh.c:724,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:728,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 732
    functionName: myssh_in_SFTP_READDIR_BOTTOM
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - Curl_client_write
    - ssh_string_free_char
    - curlx_dyn_addn
    - curlx_dyn_len
    - curlx_dyn_ptr
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR_BOTTOM(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sftp_closedir
      Src: /src/curl/lib/vssh/libssh.c:737,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/vssh/libssh.c:741,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 744
    functionName: myssh_in_SFTP_READDIR_DONE
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - Curl_xfer_setup_nop
    - sftp_closedir
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_READDIR_DONE(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sftp_statvfs
      Src: /src/curl/lib/vssh/libssh.c:751,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:753,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:754,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:755,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:756,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vssh/libssh.c:768,1
    - Dst: sftp_statvfs_free
      Src: /src/curl/lib/vssh/libssh.c:786,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/vssh/libssh.c:792,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:792,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh.c:793,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:796,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 746
    functionDepth: 6
    functionLinenumber: 746
    functionLinenumberEnd: 803
    functionName: myssh_in_SFTP_QUOTE_STATVFS
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - myssh_to
    - strlen
    - failf
    - Curl_client_write
    - ssh_get_error
    - free
    - sftp_statvfs
    - curl_maprintf
    - sftp_statvfs_free
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_QUOTE_STATVFS(struct Curl_easy *data,\n                                       struct
      ssh_conn *sshc)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ssh_userauth_kbdint
      Src: /src/curl/lib/vssh/libssh.c:814,1
    - Dst: ssh_userauth_kbdint_getnprompts
      Src: /src/curl/lib/vssh/libssh.c:821,1
    - Dst: ssh_userauth_kbdint_setanswer
      Src: /src/curl/lib/vssh/libssh.c:825,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh.c:829,1
    - Dst: ssh_userauth_kbdint
      Src: /src/curl/lib/vssh/libssh.c:833,1
    - Dst: ssh_userauth_kbdint_getnprompts
      Src: /src/curl/lib/vssh/libssh.c:839,1
    - Dst: ssh_userauth_kbdint
      Src: /src/curl/lib/vssh/libssh.c:852,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - conn
    - sshc
    argTypes:
    - struct connectdata*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 867
    functionName: myssh_auth_interactive
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - ssh_userauth_kbdint
    - ssh_userauth_kbdint_getnprompts
    - ssh_userauth_kbdint_setanswer
    linkageType: ''
    returnType: int
    signature: "int myssh_auth_interactive(struct connectdata *conn,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssh_set_log_level
      Src: /src/curl/lib/vssh/libssh.c:877,1
    - Dst: ssh_set_blocking
      Src: /src/curl/lib/vssh/libssh.c:882,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 885
    functionName: myssh_state_init
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - ssh_set_blocking
    - ssh_set_log_level
    linkageType: ''
    returnType: void
    signature: "void myssh_state_init(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_connect
      Src: /src/curl/lib/vssh/libssh.c:891,1
    - Dst: myssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh.c:893,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:895,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:895,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:898,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:899,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 905
    functionName: myssh_in_S_STARTUP
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - failf
    - DEBUGF
    - myssh_to_ERROR
    - myssh_block2waitfor
    - infof
    - ssh_connect
    linkageType: ''
    returnType: int
    signature: "int myssh_in_S_STARTUP(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ssh_userauth_none
      Src: /src/curl/lib/vssh/libssh.c:913,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:919,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:920,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:924,1
    - Dst: ssh_userauth_list
      Src: /src/curl/lib/vssh/libssh.c:929,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:931,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:941,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:942,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:945,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:948,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:951,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:954,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 907
    functionDepth: 2
    functionLinenumber: 907
    functionLinenumberEnd: 957
    functionName: myssh_in_AUTHLIST
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - myssh_to_ERROR
    - ssh_userauth_none
    - ssh_userauth_list
    - infof
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTHLIST(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to_GSSAPI_AUTH
      Src: /src/curl/lib/vssh/libssh.c:964,1
    - Dst: ssh_userauth_try_publickey
      Src: /src/curl/lib/vssh/libssh.c:972,1
    - Dst: myssh_to_GSSAPI_AUTH
      Src: /src/curl/lib/vssh/libssh.c:978,1
    - Dst: ssh_pki_import_privkey_file
      Src: /src/curl/lib/vssh/libssh.c:983,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:988,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:990,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:994,1
    - Dst: ssh_userauth_publickey_auto
      Src: /src/curl/lib/vssh/libssh.c:997,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1005,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1006,1
    - Dst: myssh_to_GSSAPI_AUTH
      Src: /src/curl/lib/vssh/libssh.c:1010,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 959
    functionDepth: 5
    functionLinenumber: 959
    functionLinenumberEnd: 1013
    functionName: myssh_in_AUTH_PKEY_INIT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - failf
    - ssh_userauth_publickey_auto
    - myssh_to_ERROR
    - ssh_userauth_try_publickey
    - ssh_pki_import_privkey_file
    - infof
    - myssh_to_GSSAPI_AUTH
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_PKEY_INIT(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_userauth_publickey
      Src: /src/curl/lib/vssh/libssh.c:1018,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1023,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1024,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1028,1
    - Dst: myssh_to_GSSAPI_AUTH
      Src: /src/curl/lib/vssh/libssh.c:1029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1015
    functionDepth: 5
    functionLinenumber: 1015
    functionLinenumberEnd: 1031
    functionName: myssh_in_AUTH_PKEY
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_to
    - myssh_to_GSSAPI_AUTH
    - ssh_userauth_publickey
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_PKEY(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to_KEY_AUTH
      Src: /src/curl/lib/vssh/libssh.c:1038,1
    - Dst: ssh_userauth_gssapi
      Src: /src/curl/lib/vssh/libssh.c:1040,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1046,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1047,1
    - Dst: myssh_to_KEY_AUTH
      Src: /src/curl/lib/vssh/libssh.c:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1033
    functionDepth: 4
    functionLinenumber: 1033
    functionLinenumberEnd: 1052
    functionName: myssh_in_AUTH_GSSAPI
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_to
    - ssh_userauth_gssapi
    - myssh_to_KEY_AUTH
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_GSSAPI(struct Curl_easy *data,\n                                struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1058,1
    - Dst: myssh_to_PASSWD_AUTH
      Src: /src/curl/lib/vssh/libssh.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1062
    functionName: myssh_in_AUTH_KEY_INIT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - myssh_to_PASSWD_AUTH
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_KEY_INIT(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: myssh_auth_interactive
      Src: /src/curl/lib/vssh/libssh.c:1068,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1073,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1074,1
    - Dst: myssh_to_PASSWD_AUTH
      Src: /src/curl/lib/vssh/libssh.c:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1064
    functionDepth: 3
    functionLinenumber: 1064
    functionLinenumberEnd: 1079
    functionName: myssh_in_AUTH_KEY
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_auth_interactive
    - myssh_to_PASSWD_AUTH
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_KEY(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1085,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: myssh_in_AUTH_PASS_INIT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to_ERROR
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_PASS_INIT(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_userauth_password
      Src: /src/curl/lib/vssh/libssh.c:1093,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1098,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1099,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1103
    functionName: myssh_in_AUTH_PASS
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_to
    - myssh_to_ERROR
    - ssh_userauth_password
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_PASS(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1110,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1111,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1115,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/vssh/libssh.c:1116,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1121,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1124,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1105
    functionDepth: 3
    functionLinenumber: 1105
    functionLinenumberEnd: 1127
    functionName: myssh_in_AUTH_DONE
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - failf
    - myssh_to_ERROR
    - Curl_pgrsTime
    - infof
    linkageType: ''
    returnType: int
    signature: "int myssh_in_AUTH_DONE(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sftp_stat
      Src: /src/curl/lib/vssh/libssh.c:1140,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1144,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1145,1
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:1150,1
    - Dst: sftp_close
      Src: /src/curl/lib/vssh/libssh.c:1175,1
    - Dst: sftp_open
      Src: /src/curl/lib/vssh/libssh.c:1177,1
    - Dst: sftp_get_error
      Src: /src/curl/lib/vssh/libssh.c:1180,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:1185,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1189,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:1193,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh.c:1204,1
    - Dst: struct Curl_easy*::set::seek_func
      Src: /src/curl/lib/vssh/libssh.c:1205,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh.c:1207,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1214,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1215,1
    - Dst: curlx_sotouz
      Src: /src/curl/lib/vssh/libssh.c:1224,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/curl/lib/vssh/libssh.c:1227,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1234,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1235,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1244,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1245,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/vssh/libssh.c:1249,1
    - Dst: sftp_seek64
      Src: /src/curl/lib/vssh/libssh.c:1252,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:1254,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/vssh/libssh.c:1260,1
    - Dst: Curl_xfer_setup_send
      Src: /src/curl/lib/vssh/libssh.c:1263,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vssh/libssh.c:1274,1
    - Dst: SSH_VERSION_INT
      Src: /src/curl/lib/vssh/libssh.c:1275,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1278,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1129
    functionDepth: 3
    functionLinenumber: 1129
    functionLinenumberEnd: 1280
    functionName: myssh_in_UPLOAD_INIT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_setup_send
    - sftp_open
    - myssh_to_SFTP_CLOSE
    - sftp_close
    - sftp_attributes_free
    - Curl_set_in_callback
    - failf
    - struct Curl_easy*::set::seek_func
    - sftp_stat
    - strlen
    - Curl_pgrsSetUploadSize
    - sftp_seek64
    - struct Curl_easy*::state::fread_func
    - myssh_to
    - SSH_VERSION_INT
    - myssh_to_ERROR
    - curlx_sotouz
    - sftp_get_error
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: int
    signature: "int myssh_in_UPLOAD_INIT(struct Curl_easy *data,\n                                struct
      ssh_conn *sshc,\n                                struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sftp_close
      Src: /src/curl/lib/vssh/libssh.c:1288,1
    - Dst: sftp_open
      Src: /src/curl/lib/vssh/libssh.c:1290,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1293,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:1294,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:1296,1
    - Dst: sftp_file_set_nonblocking
      Src: /src/curl/lib/vssh/libssh.c:1298,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1282
    functionDepth: 2
    functionLinenumber: 1282
    functionLinenumberEnd: 1301
    functionName: myssh_in_SFTP_DOWNLOAD_INIT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_file_set_nonblocking
    - myssh_to
    - sftp_open
    - failf
    - myssh_to_SFTP_CLOSE
    - ssh_get_error
    - sftp_close
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_DOWNLOAD_INIT(struct Curl_easy *data,\n                                       struct
      ssh_conn *sshc,\n                                       struct SSHPROTO *sshp)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sftp_fstat
      Src: /src/curl/lib/vssh/libssh.c:1308,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh.c:1320,1
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:1323,1
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:1328,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1331,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1332,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/vssh/libssh.c:1339,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1341,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/vssh/libssh.c:1343,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/vssh/libssh.c:1344,1
    - Dst: curlx_str_numblanks
      Src: /src/curl/lib/vssh/libssh.c:1346,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1348,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1360,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1362,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1370,1
    - Dst: sftp_seek64
      Src: /src/curl/lib/vssh/libssh.c:1374,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:1376,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh.c:1380,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1388,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1390,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1397,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1400,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh.c:1406,1
    - Dst: sftp_seek64
      Src: /src/curl/lib/vssh/libssh.c:1409,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:1411,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/vssh/libssh.c:1417,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1418,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1419,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/vssh/libssh.c:1422,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1428,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1303
    functionDepth: 3
    functionLinenumber: 1303
    functionLinenumberEnd: 1431
    functionName: myssh_in_SFTP_DOWNLOAD_STAT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - curlx_str_passblanks
    - failf
    - Curl_xfer_setup_nop
    - Curl_pgrsSetDownloadSize
    - myssh_to_ERROR
    - myssh_to_SFTP_CLOSE
    - Curl_xfer_setup_recv
    - curlx_str_number
    - sftp_fstat
    - curlx_str_single
    - sftp_seek64
    - sftp_attributes_free
    - curlx_str_numblanks
    - infof
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_DOWNLOAD_STAT(struct Curl_easy *data,\n                                       struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sftp_close
      Src: /src/curl/lib/vssh/libssh.c:1438,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1441,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:1443,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1443,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1450,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1457
    functionName: myssh_in_SFTP_CLOSE
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - myssh_to
    - DEBUGF
    - sftp_close
    - infof
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_CLOSE(struct Curl_easy *data,\n                               struct
      ssh_conn *sshc,\n                               struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_set_blocking
      Src: /src/curl/lib/vssh/libssh.c:1465,1
    - Dst: SSH_VERSION_INT
      Src: /src/curl/lib/vssh/libssh.c:1466,1
    - Dst: SFTP_AIO_FREE
      Src: /src/curl/lib/vssh/libssh.c:1467,1
    - Dst: SFTP_AIO_FREE
      Src: /src/curl/lib/vssh/libssh.c:1468,1
    - Dst: sftp_close
      Src: /src/curl/lib/vssh/libssh.c:1472,1
    - Dst: sftp_free
      Src: /src/curl/lib/vssh/libssh.c:1477,1
    - Dst: SSH_STRING_FREE_CHAR
      Src: /src/curl/lib/vssh/libssh.c:1481,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1485
    functionName: myssh_in_SFTP_SHUTDOWN
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - SSH_VERSION_INT
    - SSH_STRING_FREE_CHAR
    - ssh_set_blocking
    - sftp_close
    - SFTP_AIO_FREE
    - sftp_free
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_SHUTDOWN(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssh_set_blocking
      Src: /src/curl/lib/vssh/libssh.c:1491,1
    - Dst: sftp_new
      Src: /src/curl/lib/vssh/libssh.c:1493,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1495,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:1496,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1497,1
    - Dst: sftp_init
      Src: /src/curl/lib/vssh/libssh.c:1500,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1502,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:1503,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1504,1
    - Dst: sftp_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh.c:1504,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1508
    functionName: myssh_in_SFTP_INIT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - failf
    - sftp_new
    - myssh_to_ERROR
    - ssh_set_blocking
    - ssh_get_error
    - sftp_init
    - sftp_error_to_CURLE
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_INIT(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sftp_canonicalize_path
      Src: /src/curl/lib/vssh/libssh.c:1514,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1516,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh.c:1518,1
    - Dst: strdup
      Src: /src/curl/lib/vssh/libssh.c:1519,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1521,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:1527,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1527,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1510
    functionDepth: 2
    functionLinenumber: 1510
    functionLinenumberEnd: 1530
    functionName: myssh_in_SFTP_REALPATH
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - sftp_canonicalize_path
    - DEBUGF
    - strdup
    - myssh_to_ERROR
    - free
    - infof
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_REALPATH(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_getworkingpath
      Src: /src/curl/lib/vssh/libssh.c:1536,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1539,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1542,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1544,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1549
    functionName: myssh_in_SFTP_QUOTE_INIT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_getworkingpath
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_QUOTE_INIT(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc,\n                                    struct SSHPROTO *sshp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:1555,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1557,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1563
    functionName: myssh_in_SFTP_POSTQUOTE_INIT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_POSTQUOTE_INIT(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1568,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1569,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1570,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1575
    functionName: return_quote_error
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - myssh_to
    - failf
    linkageType: ''
    returnType: int
    signature: "int return_quote_error(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/vssh/libssh.c:1600,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vssh/libssh.c:1602,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1606,1
    - Dst: Curl_debug
      Src: /src/curl/lib/vssh/libssh.c:1610,1
    - Dst: Curl_debug
      Src: /src/curl/lib/vssh/libssh.c:1611,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:1611,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/vssh/libssh.c:1616,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:1616,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh.c:1617,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1619,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1624,1
    - Dst: strchr
      Src: /src/curl/lib/vssh/libssh.c:1632,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1634,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1635,1
    - Dst: Curl_get_pathname
      Src: /src/curl/lib/vssh/libssh.c:1645,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1648,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1650,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1651,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1663,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1664,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1665,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1666,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1667,1
    - Dst: Curl_get_pathname
      Src: /src/curl/lib/vssh/libssh.c:1672,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1675,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1677,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1679,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1680,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh.c:1686,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1688,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1691,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1692,1
    - Dst: Curl_get_pathname
      Src: /src/curl/lib/vssh/libssh.c:1696,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1699,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1701,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1702,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1703,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh.c:1709,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1710,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1713,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh.c:1715,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1717,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1720,1
    - Dst: Curl_get_pathname
      Src: /src/curl/lib/vssh/libssh.c:1724,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1727,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1729,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1730,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1731,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh.c:1737,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1738,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1741,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh.c:1744,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1745,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1748,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh.c:1750,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1751,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1755,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh.c:1757,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1758,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1763,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1764,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1765,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1766,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 125
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1577
    functionDepth: 8
    functionLinenumber: 1577
    functionLinenumberEnd: 1770
    functionName: myssh_in_SFTP_QUOTE
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - myssh_to
    - strlen
    - failf
    - curl_strequal
    - Curl_client_write
    - return_quote_error
    - strchr
    - free
    - Curl_get_pathname
    - strncmp
    - curl_maprintf
    - Curl_debug
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_QUOTE(struct Curl_easy *data,\n                               struct
      ssh_conn *sshc,\n                               struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1775,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1776,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1781,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1785,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1793
    functionName: myssh_in_SFTP_NEXT_QUOTE
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - myssh_to
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_NEXT_QUOTE(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:1817,1
    - Dst: sftp_stat
      Src: /src/curl/lib/vssh/libssh.c:1818,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1820,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1821,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1822,1
    - Dst: sftp_get_error
      Src: /src/curl/lib/vssh/libssh.c:1823,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1824,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1831,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/vssh/libssh.c:1834,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1835,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1836,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1837,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1838,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1846,1
    - Dst: curlx_str_octal
      Src: /src/curl/lib/vssh/libssh.c:1849,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1850,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1851,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1852,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1853,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1861,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/vssh/libssh.c:1864,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1865,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1866,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1867,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1868,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1876,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1877,1
    - Dst: Curl_getdate_capped
      Src: /src/curl/lib/vssh/libssh.c:1880,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1881,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:1886,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1891,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:1892,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1893,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh.c:1901,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1910,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 82
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1795
    functionDepth: 5
    functionLinenumber: 1795
    functionLinenumberEnd: 1912
    functionName: myssh_in_SFTP_QUOTE_STAT
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_stat
    - Curl_safefree
    - myssh_to
    - failf
    - strncmp
    - curlx_str_octal
    - curlx_str_number
    - Curl_getdate_capped
    - sftp_attributes_free
    - sftp_get_error
    linkageType: ''
    returnType: int
    signature: "int myssh_in_SFTP_QUOTE_STAT(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: myssh_state_init
      Src: /src/curl/lib/vssh/libssh.c:1935,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh.c:1936,1
    - Dst: myssh_in_S_STARTUP
      Src: /src/curl/lib/vssh/libssh.c:1938,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh.c:1941,1
    - Dst: myssh_is_known
      Src: /src/curl/lib/vssh/libssh.c:1943,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:1945,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:1948,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh.c:1949,1
    - Dst: myssh_in_AUTHLIST
      Src: /src/curl/lib/vssh/libssh.c:1951,1
    - Dst: myssh_in_AUTH_PKEY_INIT
      Src: /src/curl/lib/vssh/libssh.c:1954,1
    - Dst: myssh_in_AUTH_PKEY
      Src: /src/curl/lib/vssh/libssh.c:1957,1
    - Dst: myssh_in_AUTH_GSSAPI
      Src: /src/curl/lib/vssh/libssh.c:1960,1
    - Dst: myssh_in_AUTH_KEY_INIT
      Src: /src/curl/lib/vssh/libssh.c:1963,1
    - Dst: myssh_in_AUTH_KEY
      Src: /src/curl/lib/vssh/libssh.c:1966,1
    - Dst: myssh_in_AUTH_PASS_INIT
      Src: /src/curl/lib/vssh/libssh.c:1969,1
    - Dst: myssh_in_AUTH_PASS
      Src: /src/curl/lib/vssh/libssh.c:1972,1
    - Dst: myssh_in_AUTH_DONE
      Src: /src/curl/lib/vssh/libssh.c:1975,1
    - Dst: myssh_in_SFTP_INIT
      Src: /src/curl/lib/vssh/libssh.c:1978,1
    - Dst: myssh_in_SFTP_REALPATH
      Src: /src/curl/lib/vssh/libssh.c:1981,1
    - Dst: myssh_in_SFTP_QUOTE_INIT
      Src: /src/curl/lib/vssh/libssh.c:1984,1
    - Dst: myssh_in_SFTP_POSTQUOTE_INIT
      Src: /src/curl/lib/vssh/libssh.c:1987,1
    - Dst: myssh_in_SFTP_QUOTE
      Src: /src/curl/lib/vssh/libssh.c:1990,1
    - Dst: myssh_in_SFTP_NEXT_QUOTE
      Src: /src/curl/lib/vssh/libssh.c:1993,1
    - Dst: myssh_in_SFTP_QUOTE_STAT
      Src: /src/curl/lib/vssh/libssh.c:1996,1
    - Dst: sftp_setstat
      Src: /src/curl/lib/vssh/libssh.c:2000,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2005,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2006,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2007,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2008,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2009,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2017,1
    - Dst: sftp_symlink
      Src: /src/curl/lib/vssh/libssh.c:2021,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2026,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2027,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2028,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2029,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2030,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2035,1
    - Dst: sftp_mkdir
      Src: /src/curl/lib/vssh/libssh.c:2039,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2044,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2045,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2046,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2047,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2052,1
    - Dst: sftp_rename
      Src: /src/curl/lib/vssh/libssh.c:2056,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2061,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2062,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2063,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2064,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2065,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2070,1
    - Dst: sftp_rmdir
      Src: /src/curl/lib/vssh/libssh.c:2074,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2078,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2079,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2080,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2081,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2086,1
    - Dst: sftp_unlink
      Src: /src/curl/lib/vssh/libssh.c:2090,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2094,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2095,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2096,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2097,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2102,1
    - Dst: myssh_in_SFTP_QUOTE_STATVFS
      Src: /src/curl/lib/vssh/libssh.c:2106,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2111,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2114,1
    - Dst: sftp_stat
      Src: /src/curl/lib/vssh/libssh.c:2121,1
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:2124,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2127,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2133,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:2135,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2136,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2138,1
    - Dst: myssh_in_UPLOAD_INIT
      Src: /src/curl/lib/vssh/libssh.c:2143,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh.c:2147,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2149,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2152,1
    - Dst: strchr
      Src: /src/curl/lib/vssh/libssh.c:2157,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2161,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2162,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2165,1
    - Dst: sftp_mkdir
      Src: /src/curl/lib/vssh/libssh.c:2170,1
    - Dst: sftp_get_error
      Src: /src/curl/lib/vssh/libssh.c:2180,1
    - Dst: myssh_to_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:2184,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2189,1
    - Dst: myssh_in_SFTP_READDIR_INIT
      Src: /src/curl/lib/vssh/libssh.c:2193,1
    - Dst: myssh_in_SFTP_READDIR
      Src: /src/curl/lib/vssh/libssh.c:2196,1
    - Dst: myssh_in_SFTP_READDIR_LINK
      Src: /src/curl/lib/vssh/libssh.c:2199,1
    - Dst: myssh_in_SFTP_READDIR_BOTTOM
      Src: /src/curl/lib/vssh/libssh.c:2202,1
    - Dst: myssh_in_SFTP_READDIR_DONE
      Src: /src/curl/lib/vssh/libssh.c:2205,1
    - Dst: myssh_in_SFTP_DOWNLOAD_INIT
      Src: /src/curl/lib/vssh/libssh.c:2208,1
    - Dst: myssh_in_SFTP_DOWNLOAD_STAT
      Src: /src/curl/lib/vssh/libssh.c:2211,1
    - Dst: myssh_in_SFTP_CLOSE
      Src: /src/curl/lib/vssh/libssh.c:2214,1
    - Dst: myssh_in_SFTP_SHUTDOWN
      Src: /src/curl/lib/vssh/libssh.c:2217,1
    - Dst: Curl_getworkingpath
      Src: /src/curl/lib/vssh/libssh.c:2221,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2224,1
    - Dst: ssh_set_blocking
      Src: /src/curl/lib/vssh/libssh.c:2229,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2233,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:2235,1
    - Dst: ssh_scp_new
      Src: /src/curl/lib/vssh/libssh.c:2240,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2241,1
    - Dst: ssh_scp_new
      Src: /src/curl/lib/vssh/libssh.c:2245,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2246,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2250,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2251,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:2252,1
    - Dst: ssh_scp_init
      Src: /src/curl/lib/vssh/libssh.c:2258,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2260,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2261,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:2262,1
    - Dst: ssh_scp_push_file64
      Src: /src/curl/lib/vssh/libssh.c:2266,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2271,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2272,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:2273,1
    - Dst: Curl_xfer_setup_send
      Src: /src/curl/lib/vssh/libssh.c:2278,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2287,1
    - Dst: ssh_scp_init
      Src: /src/curl/lib/vssh/libssh.c:2293,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2295,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2296,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:2297,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2300,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh.c:2301,1
    - Dst: ssh_scp_pull_request
      Src: /src/curl/lib/vssh/libssh.c:2306,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2308,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2309,1
    - Dst: myssh_to_ERROR
      Src: /src/curl/lib/vssh/libssh.c:2310,1
    - Dst: ssh_scp_request_get_size
      Src: /src/curl/lib/vssh/libssh.c:2315,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/vssh/libssh.c:2317,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2322,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2327,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2329,1
    - Dst: ssh_scp_close
      Src: /src/curl/lib/vssh/libssh.c:2334,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2342,1
    - Dst: ssh_get_error
      Src: /src/curl/lib/vssh/libssh.c:2343,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2347,1
    - Dst: ssh_scp_free
      Src: /src/curl/lib/vssh/libssh.c:2352,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:2355,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2355,1
    - Dst: ssh_set_blocking
      Src: /src/curl/lib/vssh/libssh.c:2357,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2359,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh.c:2360,1
    - Dst: ssh_scp_free
      Src: /src/curl/lib/vssh/libssh.c:2367,1
    - Dst: sftp_close
      Src: /src/curl/lib/vssh/libssh.c:2372,1
    - Dst: sftp_free
      Src: /src/curl/lib/vssh/libssh.c:2376,1
    - Dst: ssh_disconnect
      Src: /src/curl/lib/vssh/libssh.c:2380,1
    - Dst: ssh_version
      Src: /src/curl/lib/vssh/libssh.c:2381,1
    - Dst: SSH_VERSION_INT
      Src: /src/curl/lib/vssh/libssh.c:2381,1
    - Dst: Curl_conn_forget_socket
      Src: /src/curl/lib/vssh/libssh.c:2385,1
    - Dst: SSH_STRING_FREE_CHAR
      Src: /src/curl/lib/vssh/libssh.c:2388,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2390,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh.c:2391,1
    - Dst: sshc_cleanup
      Src: /src/curl/lib/vssh/libssh.c:2393,1
    - Dst: memset
      Src: /src/curl/lib/vssh/libssh.c:2396,1
    - Dst: connclose
      Src: /src/curl/lib/vssh/libssh.c:2397,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2400,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2407,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:2421,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2421,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 385
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - block
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 1920
    functionDepth: 9
    functionLinenumber: 1920
    functionLinenumberEnd: 2423
    functionName: myssh_statemach_act
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_in_AUTH_KEY
    - myssh_in_SFTP_QUOTE_INIT
    - myssh_in_SFTP_INIT
    - myssh_in_AUTH_KEY_INIT
    - myssh_in_SFTP_READDIR_DONE
    - myssh_in_SFTP_READDIR_INIT
    - ssh_scp_push_file64
    - Curl_xfer_setup_send
    - myssh_to_SFTP_CLOSE
    - ssh_scp_pull_request
    - ssh_set_blocking
    - SSH_STRING_FREE_CHAR
    - myssh_in_SFTP_SHUTDOWN
    - sftp_close
    - Curl_getworkingpath
    - connclose
    - myssh_in_AUTH_PKEY
    - myssh_in_SFTP_NEXT_QUOTE
    - sftp_attributes_free
    - myssh_is_known
    - failf
    - DEBUGF
    - myssh_in_AUTHLIST
    - myssh_in_S_STARTUP
    - myssh_in_AUTH_DONE
    - strchr
    - myssh_in_SFTP_CLOSE
    - myssh_in_AUTH_PKEY_INIT
    - ssh_scp_new
    - myssh_in_AUTH_GSSAPI
    - sftp_rmdir
    - myssh_in_SFTP_POSTQUOTE_INIT
    - sftp_unlink
    - ssh_scp_free
    - sftp_mkdir
    - myssh_in_SFTP_REALPATH
    - sftp_stat
    - myssh_state_init
    - strlen
    - myssh_in_SFTP_QUOTE_STAT
    - sftp_setstat
    - myssh_in_SFTP_QUOTE
    - myssh_in_SFTP_READDIR
    - ssh_version
    - myssh_in_AUTH_PASS_INIT
    - Curl_xfer_setup_recv
    - sftp_symlink
    - sshc_cleanup
    - memset
    - myssh_in_SFTP_READDIR_LINK
    - ssh_scp_init
    - ssh_scp_request_get_size
    - FALLTHROUGH
    - myssh_to
    - Curl_safefree
    - myssh_in_SFTP_DOWNLOAD_STAT
    - myssh_in_SFTP_QUOTE_STATVFS
    - myssh_in_SFTP_DOWNLOAD_INIT
    - ssh_disconnect
    - myssh_to_ERROR
    - SSH_VERSION_INT
    - sftp_free
    - ssh_get_error
    - sftp_rename
    - myssh_in_UPLOAD_INIT
    - myssh_in_SFTP_READDIR_BOTTOM
    - infof
    - sftp_get_error
    - Curl_conn_forget_socket
    - ssh_scp_close
    - myssh_in_AUTH_PASS
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_statemach_act(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc,\n                                    struct SSHPROTO *sshp,\n
      \                                   bool *block)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_change
      Src: /src/curl/lib/vssh/libssh.c:2440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2428
    functionDepth: 2
    functionLinenumber: 2428
    functionLinenumberEnd: 2442
    functionName: myssh_pollset
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_pollset(struct Curl_easy *data,\n                              struct
      easy_pollset *ps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_get_poll_flags
      Src: /src/curl/lib/vssh/libssh.c:2449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - sshc
    - block
    argTypes:
    - struct connectdata*
    - struct ssh_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2458
    functionName: myssh_block2waitfor
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 1
    functionsReached:
    - ssh_get_poll_flags
    linkageType: ''
    returnType: void
    signature: "void myssh_block2waitfor(struct connectdata *conn,\n                                struct
      ssh_conn *sshc,\n                                bool block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2465,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2466,1
    - Dst: myssh_statemach_act
      Src: /src/curl/lib/vssh/libssh.c:2473,1
    - Dst: myssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh.c:2475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2461
    functionDepth: 10
    functionLinenumber: 2461
    functionLinenumberEnd: 2478
    functionName: myssh_multi_statemach
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_statemach_act
    - myssh_block2waitfor
    - Curl_meta_get
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_multi_statemach(struct Curl_easy *data,\n                                      bool
      *done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/vssh/libssh.c:2491,1
    - Dst: myssh_statemach_act
      Src: /src/curl/lib/vssh/libssh.c:2493,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/vssh/libssh.c:2498,1
    - Dst: Curl_speedcheck
      Src: /src/curl/lib/vssh/libssh.c:2501,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/vssh/libssh.c:2505,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2507,1
    - Dst: Curl_socket_check
      Src: /src/curl/lib/vssh/libssh.c:2515,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - disconnect
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2480
    functionDepth: 10
    functionLinenumber: 2480
    functionLinenumberEnd: 2522
    functionName: myssh_block_statemach
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_timeleft
    - failf
    - myssh_statemach_act
    - curlx_now
    - Curl_pgrsUpdate
    - Curl_speedcheck
    - Curl_socket_check
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_block_statemach(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc,\n                                      struct SSHPROTO *sshp,\n
      \                                     bool disconnect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2529,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh.c:2530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2524
    functionDepth: 1
    functionLinenumber: 2524
    functionLinenumberEnd: 2531
    functionName: myssh_easy_dtor
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_safefree
    linkageType: ''
    returnType: void
    signature: void myssh_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sshc_cleanup
      Src: /src/curl/lib/vssh/libssh.c:2538,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh.c:2539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2533
    functionDepth: 0
    functionLinenumber: 2533
    functionLinenumberEnd: 2540
    functionName: myssh_conn_dtor
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - free
    - sshc_cleanup
    linkageType: ''
    returnType: void
    signature: void myssh_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/vssh/libssh.c:2551,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vssh/libssh.c:2555,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/vssh/libssh.c:2557,1
    - Dst: calloc
      Src: /src/curl/lib/vssh/libssh.c:2560,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/vssh/libssh.c:2562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2545
    functionDepth: 2
    functionLinenumber: 2545
    functionLinenumberEnd: 2566
    functionName: myssh_setup_connection
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    - Curl_meta_set
    - Curl_conn_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_setup_connection(struct Curl_easy *data,\n                                       struct
      connectdata *conn)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2579,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2580,1
    - Dst: connkeep
      Src: /src/curl/lib/vssh/libssh.c:2589,1
    - Dst: ssh_new
      Src: /src/curl/lib/vssh/libssh.c:2600,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2602,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vssh/libssh.c:2608,1
    - Dst: ssh_options_set
      Src: /src/curl/lib/vssh/libssh.c:2609,1
    - Dst: ssh_options_set
      Src: /src/curl/lib/vssh/libssh.c:2612,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2615,1
    - Dst: ssh_options_parse_config
      Src: /src/curl/lib/vssh/libssh.c:2619,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2621,1
    - Dst: ssh_options_set
      Src: /src/curl/lib/vssh/libssh.c:2625,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2627,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2632,1
    - Dst: ssh_options_set
      Src: /src/curl/lib/vssh/libssh.c:2633,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2635,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2641,1
    - Dst: ssh_options_set
      Src: /src/curl/lib/vssh/libssh.c:2642,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2645,1
    - Dst: ssh_options_set
      Src: /src/curl/lib/vssh/libssh.c:2651,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2654,1
    - Dst: ssh_options_set
      Src: /src/curl/lib/vssh/libssh.c:2660,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2663,1
    - Dst: ssh_pki_import_pubkey_file
      Src: /src/curl/lib/vssh/libssh.c:2672,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh.c:2675,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2683,1
    - Dst: myssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh.c:2685,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2575
    functionDepth: 11
    functionLinenumber: 2575
    functionLinenumberEnd: 2688
    functionName: myssh_connect
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - failf
    - ssh_options_set
    - curl_msnprintf
    - ssh_pki_import_pubkey_file
    - ssh_new
    - connkeep
    - Curl_conn_meta_get
    - ssh_options_parse_config
    - infof
    - Curl_meta_get
    - myssh_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode myssh_connect(struct Curl_easy *data, bool *done)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh.c:2695,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:2698,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2691
    functionDepth: 11
    functionLinenumber: 2691
    functionLinenumberEnd: 2701
    functionName: scp_doing
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - myssh_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode scp_doing(struct Curl_easy *data, bool *dophase_done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2717,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:2719,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2719,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2726,1
    - Dst: myssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh.c:2728,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/vssh/libssh.c:2730,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:2733,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2712
    functionDepth: 11
    functionLinenumber: 2712
    functionLinenumberEnd: 2737
    functionName: scp_perform
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - DEBUGF
    - Curl_conn_meta_get
    - infof
    - Curl_conn_is_connected
    - myssh_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_perform(struct Curl_easy *data,\n                     bool
      *connected, bool *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2744,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/vssh/libssh.c:2756,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/vssh/libssh.c:2757,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/vssh/libssh.c:2758,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh.c:2759,1
    - Dst: scp_perform
      Src: /src/curl/lib/vssh/libssh.c:2762,1
    - Dst: sftp_perform
      Src: /src/curl/lib/vssh/libssh.c:2764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2739
    functionDepth: 2
    functionLinenumber: 2739
    functionLinenumberEnd: 2767
    functionName: myssh_do_it
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsSetUploadSize
    - sftp_perform
    - Curl_pgrsSetDownloadSize
    - Curl_pgrsSetDownloadCounter
    - Curl_conn_meta_get
    - scp_perform
    - Curl_pgrsSetUploadCounter
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode myssh_do_it(struct Curl_easy *data, bool *done)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sftp_close
      Src: /src/curl/lib/vssh/libssh.c:2773,1
    - Dst: sftp_free
      Src: /src/curl/lib/vssh/libssh.c:2777,1
    - Dst: ssh_free
      Src: /src/curl/lib/vssh/libssh.c:2781,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh.c:2786,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh.c:2787,1
    - Dst: ssh_string_free_char
      Src: /src/curl/lib/vssh/libssh.c:2790,1
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:2794,1
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:2798,1
    - Dst: sftp_attributes_free
      Src: /src/curl/lib/vssh/libssh.c:2802,1
    - Dst: ssh_key_free
      Src: /src/curl/lib/vssh/libssh.c:2806,1
    - Dst: ssh_key_free
      Src: /src/curl/lib/vssh/libssh.c:2810,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2814,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2815,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2816,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2817,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vssh/libssh.c:2818,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh.c:2819,1
    - Dst: SSH_STRING_FREE_CHAR
      Src: /src/curl/lib/vssh/libssh.c:2820,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - sshc
    argTypes:
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2769
    functionDepth: 1
    functionLinenumber: 2769
    functionLinenumberEnd: 2823
    functionName: sshc_cleanup
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 2
    functionsReached:
    - Curl_safefree
    - SSH_STRING_FREE_CHAR
    - ssh_string_free_char
    - sftp_close
    - ssh_key_free
    - ssh_free
    - curlx_dyn_free
    - sftp_attributes_free
    - DEBUGASSERT
    - sftp_free
    linkageType: ''
    returnType: void
    signature: void sshc_cleanup(struct ssh_conn *sshc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2833,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2834,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2840,1
    - Dst: myssh_block_statemach
      Src: /src/curl/lib/vssh/libssh.c:2842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2828
    functionDepth: 11
    functionLinenumber: 2828
    functionLinenumberEnd: 2846
    functionName: scp_disconnect
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - Curl_meta_get
    - myssh_block_statemach
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_disconnect(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               bool dead_connection)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2855,1
    - Dst: myssh_block_statemach
      Src: /src/curl/lib/vssh/libssh.c:2859,1
    - Dst: Curl_pgrsDone
      Src: /src/curl/lib/vssh/libssh.c:2864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - sshc
    - status
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2850
    functionDepth: 11
    functionLinenumber: 2850
    functionLinenumberEnd: 2869
    functionName: myssh_done
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsDone
    - Curl_meta_get
    - myssh_block_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode myssh_done(struct Curl_easy *data,\n                           struct
      ssh_conn *sshc,\n                           CURLcode status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2875,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2881,1
    - Dst: myssh_done
      Src: /src/curl/lib/vssh/libssh.c:2883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2872
    functionDepth: 12
    functionLinenumber: 2872
    functionLinenumberEnd: 2884
    functionName: scp_done
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - myssh_done
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_done(struct Curl_easy *data, CURLcode status,\n                         bool
      premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2892,1
    - Dst: ssh_scp_write
      Src: /src/curl/lib/vssh/libssh.c:2901,1
    - Dst: myssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh.c:2907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - data
    - sockindex
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2886
    functionDepth: 2
    functionLinenumber: 2886
    functionLinenumberEnd: 2918
    functionName: scp_send
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_block2waitfor
    - Curl_conn_meta_get
    - ssh_scp_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_send(struct Curl_easy *data, int sockindex,\n                         const
      void *mem, size_t len, bool eos,\n                         size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2924,1
    - Dst: ssh_scp_read
      Src: /src/curl/lib/vssh/libssh.c:2934,1
    - Dst: myssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh.c:2942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - sockindex
    - mem
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2920
    functionDepth: 2
    functionLinenumber: 2920
    functionLinenumberEnd: 2948
    functionName: scp_recv
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - ssh_scp_read
    - myssh_block2waitfor
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_recv(struct Curl_easy *data, int sockindex,\n                         char
      *mem, size_t len, size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:2968,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:2971,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2971,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:2978,1
    - Dst: myssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh.c:2981,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/vssh/libssh.c:2983,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:2986,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2963
    functionDepth: 11
    functionLinenumber: 2963
    functionLinenumberEnd: 2990
    functionName: sftp_perform
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 1
    functionsReached:
    - myssh_to
    - DEBUGF
    - Curl_conn_meta_get
    - infof
    - Curl_conn_is_connected
    - myssh_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_perform(struct Curl_easy *data,\n                      bool
      *connected,\n                      bool *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: myssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh.c:2996,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:2998,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:2998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2993
    functionDepth: 11
    functionLinenumber: 2993
    functionLinenumberEnd: 3001
    functionName: sftp_doing
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGF
    - myssh_multi_statemach
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_doing(struct Curl_easy *data,\n                           bool
      *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:3010,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/vssh/libssh.c:3011,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:3015,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:3015,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:3019,1
    - Dst: myssh_block_statemach
      Src: /src/curl/lib/vssh/libssh.c:3020,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:3023,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh.c:3023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3006
    functionDepth: 11
    functionLinenumber: 3006
    functionLinenumberEnd: 3025
    functionName: sftp_disconnect
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - DEBUGF
    - myssh_block_statemach
    - Curl_conn_meta_get
    - infof
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn,\n                                bool dead_connection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:3031,1
    - Dst: myssh_to
      Src: /src/curl/lib/vssh/libssh.c:3041,1
    - Dst: myssh_done
      Src: /src/curl/lib/vssh/libssh.c:3043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3027
    functionDepth: 12
    functionLinenumber: 3027
    functionLinenumberEnd: 3044
    functionName: sftp_done
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - myssh_to
    - myssh_done
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:3052,1
    - Dst: SSH_VERSION_INT
      Src: /src/curl/lib/vssh/libssh.c:3062,1
    - Dst: sftp_file_set_nonblocking
      Src: /src/curl/lib/vssh/libssh.c:3065,1
    - Dst: sftp_aio_begin_write
      Src: /src/curl/lib/vssh/libssh.c:3066,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh.c:3071,1
    - Dst: sftp_aio_wait_write
      Src: /src/curl/lib/vssh/libssh.c:3073,1
    - Dst: myssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh.c:3074,1
    - Dst: sftp_write
      Src: /src/curl/lib/vssh/libssh.c:3105,1
    - Dst: myssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh.c:3107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 6
    argNames:
    - data
    - sockindex
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3047
    functionDepth: 2
    functionLinenumber: 3047
    functionLinenumberEnd: 3122
    functionName: sftp_send
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - sftp_file_set_nonblocking
    - sftp_aio_begin_write
    - FALLTHROUGH
    - SSH_VERSION_INT
    - sftp_write
    - sftp_aio_wait_write
    - Curl_conn_meta_get
    - myssh_block2waitfor
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_send(struct Curl_easy *data, int sockindex,\n                          const
      void *mem, size_t len, bool eos,\n                          size_t *pnwritten)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh.c:3132,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh.c:3138,1
    - Dst: SSH_VERSION_INT
      Src: /src/curl/lib/vssh/libssh.c:3144,1
    - Dst: sftp_aio_begin_read
      Src: /src/curl/lib/vssh/libssh.c:3145,1
    - Dst: sftp_async_read_begin
      Src: /src/curl/lib/vssh/libssh.c:3151,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh.c:3156,1
    - Dst: SSH_VERSION_INT
      Src: /src/curl/lib/vssh/libssh.c:3160,1
    - Dst: sftp_aio_wait_read
      Src: /src/curl/lib/vssh/libssh.c:3161,1
    - Dst: sftp_async_read
      Src: /src/curl/lib/vssh/libssh.c:3163,1
    - Dst: myssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh.c:3167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - data
    - sockindex
    - mem
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3128
    functionDepth: 2
    functionLinenumber: 3128
    functionLinenumberEnd: 3188
    functionName: sftp_recv
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - SSH_VERSION_INT
    - sftp_async_read
    - Curl_conn_meta_get
    - sftp_aio_wait_read
    - sftp_aio_begin_read
    - myssh_block2waitfor
    - sftp_async_read_begin
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_recv(struct Curl_easy *data, int sockindex,\n                          char
      *mem, size_t len, size_t *pnread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_init
      Src: /src/curl/lib/vssh/libssh.c:3193,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh.c:3194,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vssh/libssh.c:3194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3191
    functionDepth: 5
    functionLinenumber: 3191
    functionLinenumberEnd: 3198
    functionName: Curl_ssh_init
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 1
    functionsReached:
    - curl_mfprintf
    - DEBUGF
    - ssh_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssh_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssh_finalize
      Src: /src/curl/lib/vssh/libssh.c:3202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3203
    functionName: Curl_ssh_cleanup
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 1
    functionsReached:
    - ssh_finalize
    linkageType: ''
    returnType: void
    signature: void Curl_ssh_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vssh/libssh.c:3207,1
    - Dst: ssh_version
      Src: /src/curl/lib/vssh/libssh.c:3207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3205
    functionDepth: 6
    functionLinenumber: 3205
    functionLinenumberEnd: 3208
    functionName: Curl_ssh_version
    functionSourceFile: /src/curl/lib/vssh/libssh.c
    functionUses: 2
    functionsReached:
    - ssh_version
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_ssh_version(char *buffer, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vssh/libssh2.c:176,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vssh/libssh2.c:177,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vssh/libssh2.c:178,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vssh/libssh2.c:179,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vssh/libssh2.c:180,1
    - Dst: strdup
      Src: /src/curl/lib/vssh/libssh2.c:189,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:191,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 8
    argNames:
    - name
    - name_len
    - instruction
    - instruction_len
    - num_prompts
    - prompts
    - responses
    - abstract
    argTypes:
    - char*
    - int
    - char*
    - int
    - int
    - LIBSSH2_USERAUTH_KBDINT_PROMPT*
    - LIBSSH2_USERAUTH_KBDINT_RESPONSE*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 194
    functionName: kbd_callback
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - curlx_uztoui
    - strlen
    - strdup
    linkageType: ''
    returnType: void
    signature: "void kbd_callback(const char *name, int name_len, const char *instruction,\n
      \            int instruction_len, int num_prompts,\n             const LIBSSH2_USERAUTH_KBDINT_PROMPT
      *prompts,\n             LIBSSH2_USERAUTH_KBDINT_RESPONSE *responses,\n             void
      **abstract)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - err
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 226
    functionName: sftp_libssh2_error_to_CURLE
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode sftp_libssh2_error_to_CURLE(unsigned long err)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 267
    functionName: libssh2_session_error_to_CURLE
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode libssh2_session_error_to_CURLE(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cmalloc
      Src: /src/curl/lib/vssh/libssh2.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: LIBSSH2_ALLOC_FUNC
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_cmalloc
    linkageType: ''
    returnType: void
    signature: void LIBSSH2_ALLOC_FUNC(my_libssh2_malloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_crealloc
      Src: /src/curl/lib/vssh/libssh2.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: LIBSSH2_REALLOC_FUNC
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_crealloc
    linkageType: ''
    returnType: void
    signature: void LIBSSH2_REALLOC_FUNC(my_libssh2_realloc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cfree
      Src: /src/curl/lib/vssh/libssh2.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: LIBSSH2_FREE_FUNC
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_cfree
    linkageType: ''
    returnType: void
    signature: void LIBSSH2_FREE_FUNC(my_libssh2_free)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh2.c:366,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/vssh/libssh2.c:366,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - sshc
    - nowstate
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - sshstate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 375
    functionName: myssh_state
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - DEBUGASSERT
    - CURL_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: "void myssh_state(struct Curl_easy *data,\n                        struct
      ssh_conn *sshc,\n                        sshstate nowstate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - easy
    - knownkey
    - foundkey
    - match
    - clientp
    argTypes:
    - CURL*
    - struct curl_khkey*
    - struct curl_khkey*
    - enum curl_khmatch
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 390
    functionName: sshkeycallback
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int sshkeycallback(CURL *easy,\n                          const struct
      curl_khkey *knownkey, /* known */\n                          const struct curl_khkey
      *foundkey, /* found */\n                          enum curl_khmatch match,\n
      \                         void *clientp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - sshkeytype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 424
    functionName: convert_ssh2_keytype
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum curl_khtype
    signature: enum curl_khtype convert_ssh2_keytype(int sshkeytype)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_session_hostkey
      Src: /src/curl/lib/vssh/libssh2.c:438,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:476,1
    - Dst: libssh2_knownhost_checkp
      Src: /src/curl/lib/vssh/libssh2.c:484,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:494,1
    - Dst: convert_ssh2_keytype
      Src: /src/curl/lib/vssh/libssh2.c:502,1
    - Dst: convert_ssh2_keytype
      Src: /src/curl/lib/vssh/libssh2.c:509,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh2.c:519,1
    - Dst: func
      Src: /src/curl/lib/vssh/libssh2.c:520,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh2.c:523,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:533,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh2.c:534,1
    - Dst: libssh2_knownhost_del
      Src: /src/curl/lib/vssh/libssh2.c:542,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh2.c:543,1
    - Dst: libssh2_knownhost_add
      Src: /src/curl/lib/vssh/libssh2.c:550,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:557,1
    - Dst: libssh2_knownhost_writefile
      Src: /src/curl/lib/vssh/libssh2.c:564,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:568,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 577
    functionName: ssh_knownhost
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - func
    - libssh2_knownhost_writefile
    - myssh_state
    - libssh2_knownhost_add
    - libssh2_knownhost_checkp
    - libssh2_knownhost_del
    - infof
    - libssh2_session_hostkey
    - convert_ssh2_keytype
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_knownhost(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:585,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:587,1
    - Dst: libssh2_hostkey_hash
      Src: /src/curl/lib/vssh/libssh2.c:598,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:601,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:604,1
    - Dst: curlx_base64_encode
      Src: /src/curl/lib/vssh/libssh2.c:610,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:612,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:617,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:618,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:622,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:639,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:640,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:643,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:644,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:648,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:650,1
    - Dst: libssh2_hostkey_hash
      Src: /src/curl/lib/vssh/libssh2.c:657,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vssh/libssh2.c:664,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:668,1
    - Dst: curl_strequal
      Src: /src/curl/lib/vssh/libssh2.c:673,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:675,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:680,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:684,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:687,1
    - Dst: libssh2_session_hostkey
      Src: /src/curl/lib/vssh/libssh2.c:696,1
    - Dst: convert_ssh2_keytype
      Src: /src/curl/lib/vssh/libssh2.c:699,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh2.c:700,1
    - Dst: struct Curl_easy*::set::ssh_hostkeyfunc
      Src: /src/curl/lib/vssh/libssh2.c:701,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh2.c:703,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:705,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:710,1
    - Dst: ssh_knownhost
      Src: /src/curl/lib/vssh/libssh2.c:716,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 579
    functionDepth: 6
    functionLinenumber: 579
    functionLinenumberEnd: 723
    functionName: ssh_check_fingerprint
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - ssh_knownhost
    - failf
    - curl_msnprintf
    - curlx_base64_encode
    - curl_strequal
    - struct Curl_easy*::set::ssh_hostkeyfunc
    - myssh_state
    - free
    - libssh2_session_hostkey
    - infof
    - libssh2_hostkey_hash
    - strncmp
    - convert_ssh2_keytype
    - Curl_set_in_callback
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_check_fingerprint(struct Curl_easy *data,\n                                      struct
      ssh_conn *sshc)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_knownhost_get
      Src: /src/curl/lib/vssh/libssh2.c:759,1
    - Dst: strstr
      Src: /src/curl/lib/vssh/libssh2.c:765,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:767,1
    - Dst: atoi
      Src: /src/curl/lib/vssh/libssh2.c:771,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:773,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:773,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:774,1
    - Dst: strcmp
      Src: /src/curl/lib/vssh/libssh2.c:781,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:795,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:818,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:821,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:826,1
    - Dst: libssh2_session_method_pref
      Src: /src/curl/lib/vssh/libssh2.c:827,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:832,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:833,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:834,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:838,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 844
    functionName: ssh_force_knownhost_key_type
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - libssh2_knownhost_get
    - strlen
    - failf
    - strstr
    - libssh2_session_error_to_CURLE
    - libssh2_session_method_pref
    - strcmp
    - infof
    - atoi
    - strncmp
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_force_knownhost_key_type(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:849,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:850,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 853
    functionName: return_quote_error
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - Curl_safefree
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode return_quote_error(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: curl_strequal
      Src: /src/curl/lib/vssh/libssh2.c:881,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vssh/libssh2.c:883,1
    - Dst: Curl_debug
      Src: /src/curl/lib/vssh/libssh2.c:887,1
    - Dst: Curl_debug
      Src: /src/curl/lib/vssh/libssh2.c:888,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:888,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/vssh/libssh2.c:893,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:893,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:894,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:896,1
    - Dst: strchr
      Src: /src/curl/lib/vssh/libssh2.c:904,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:906,1
    - Dst: Curl_get_pathname
      Src: /src/curl/lib/vssh/libssh2.c:914,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:917,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:926,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:927,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:928,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:929,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:930,1
    - Dst: Curl_get_pathname
      Src: /src/curl/lib/vssh/libssh2.c:935,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:938,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:939,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh2.c:943,1
    - Dst: memset
      Src: /src/curl/lib/vssh/libssh2.c:945,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:946,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:949,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:950,1
    - Dst: Curl_get_pathname
      Src: /src/curl/lib/vssh/libssh2.c:954,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:957,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:958,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh2.c:962,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:963,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:966,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh2.c:968,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:970,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:973,1
    - Dst: Curl_get_pathname
      Src: /src/curl/lib/vssh/libssh2.c:977,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:980,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:981,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh2.c:985,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:986,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:989,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh2.c:991,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:993,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:996,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh2.c:998,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:999,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:1002,1
    - Dst: return_quote_error
      Src: /src/curl/lib/vssh/libssh2.c:1004,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1005,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1009,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:1010,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:1011,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 855
    functionDepth: 8
    functionLinenumber: 855
    functionLinenumberEnd: 1013
    functionName: sftp_quote
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strlen
    - failf
    - Curl_client_write
    - curl_strequal
    - return_quote_error
    - strchr
    - myssh_state
    - free
    - Curl_get_pathname
    - memset
    - strncmp
    - curl_maprintf
    - Curl_debug
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_quote(struct Curl_easy *data,\n                           struct
      ssh_conn *sshc,\n                           struct SSHPROTO *sshp)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_stat_ex
      Src: /src/curl/lib/vssh/libssh2.c:1033,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1034,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1034,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1046,1
    - Dst: libssh2_sftp_open_ex
      Src: /src/curl/lib/vssh/libssh2.c:1071,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1072,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1072,1
    - Dst: libssh2_session_last_errno
      Src: /src/curl/lib/vssh/libssh2.c:1079,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:1089,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1094,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1095,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:1096,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:1097,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1103,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1106,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1109,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:1110,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1118,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:1120,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh2.c:1131,1
    - Dst: struct Curl_easy*::set::seek_func
      Src: /src/curl/lib/vssh/libssh2.c:1132,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh2.c:1134,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1141,1
    - Dst: curlx_sotouz
      Src: /src/curl/lib/vssh/libssh2.c:1150,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh2.c:1153,1
    - Dst: struct Curl_easy*::state::fread_func
      Src: /src/curl/lib/vssh/libssh2.c:1154,1
    - Dst: Curl_set_in_callback
      Src: /src/curl/lib/vssh/libssh2.c:1157,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1163,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/vssh/libssh2.c:1173,1
    - Dst: libssh2_sftp_seek64
      Src: /src/curl/lib/vssh/libssh2.c:1176,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/vssh/libssh2.c:1181,1
    - Dst: Curl_xfer_setup_send
      Src: /src/curl/lib/vssh/libssh2.c:1184,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vssh/libssh2.c:1195,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1197,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 93
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1199
    functionName: sftp_upload_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - struct Curl_easy*::state::fread_func
    - Curl_xfer_setup_send
    - strlen
    - failf
    - libssh2_sftp_open_ex
    - struct Curl_easy*::set::seek_func
    - curlx_uztoui
    - Curl_pgrsSetUploadSize
    - curlx_sotouz
    - libssh2_sftp_stat_ex
    - libssh2_session_last_errno
    - myssh_state
    - sftp_libssh2_error_to_CURLE
    - libssh2_sftp_seek64
    - Curl_multi_mark_dirty
    - sftp_libssh2_strerror
    - Curl_set_in_callback
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_upload_init(struct Curl_easy *data,\n                 struct
      ssh_conn *sshc,\n                 struct SSHPROTO *sshp,\n                 bool
      *blockp)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/curl/lib/vssh/libssh2.c:1211,1
    - Dst: strdup
      Src: /src/curl/lib/vssh/libssh2.c:1217,1
    - Dst: curl_getenv
      Src: /src/curl/lib/vssh/libssh2.c:1221,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vssh/libssh2.c:1227,1
    - Dst: curlx_stat
      Src: /src/curl/lib/vssh/libssh2.c:1230,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:1231,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vssh/libssh2.c:1232,1
    - Dst: curlx_stat
      Src: /src/curl/lib/vssh/libssh2.c:1235,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:1236,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:1239,1
    - Dst: strdup
      Src: /src/curl/lib/vssh/libssh2.c:1243,1
    - Dst: curlx_stat
      Src: /src/curl/lib/vssh/libssh2.c:1244,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:1245,1
    - Dst: strdup
      Src: /src/curl/lib/vssh/libssh2.c:1246,1
    - Dst: curlx_stat
      Src: /src/curl/lib/vssh/libssh2.c:1247,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:1248,1
    - Dst: strdup
      Src: /src/curl/lib/vssh/libssh2.c:1251,1
    - Dst: strdup
      Src: /src/curl/lib/vssh/libssh2.c:1265,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:1271,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:1272,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1273,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1282,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1283,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1285,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1288,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1201
    functionDepth: 6
    functionLinenumber: 1201
    functionLinenumberEnd: 1291
    functionName: ssh_state_pkey_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strstr
    - strdup
    - myssh_state
    - curl_getenv
    - free
    - curlx_stat
    - infof
    - curl_maprintf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_pkey_init(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:1312,1
    - Dst: libssh2_sftp_stat_ex
      Src: /src/curl/lib/vssh/libssh2.c:1317,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1318,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1318,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:1326,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1327,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:1328,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:1334,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/vssh/libssh2.c:1337,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1342,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:1346,1
    - Dst: curlx_str_octal
      Src: /src/curl/lib/vssh/libssh2.c:1350,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1351,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:1358,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/vssh/libssh2.c:1361,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1366,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:1370,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:1371,1
    - Dst: Curl_getdate_capped
      Src: /src/curl/lib/vssh/libssh2.c:1375,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1376,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1382,1
    - Dst: strncmp
      Src: /src/curl/lib/vssh/libssh2.c:1388,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1397,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:1400,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:1401,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1293
    functionDepth: 5
    functionLinenumber: 1293
    functionLinenumberEnd: 1403
    functionName: sftp_quote_stat
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strlen
    - failf
    - curlx_uztoui
    - libssh2_sftp_stat_ex
    - curlx_str_octal
    - myssh_state
    - curlx_str_number
    - Curl_getdate_capped
    - strncmp
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_quote_stat(struct Curl_easy *data,\n                struct
      ssh_conn *sshc,\n                struct SSHPROTO *sshp,\n                bool
      *blockp)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_stat_ex
      Src: /src/curl/lib/vssh/libssh2.c:1412,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1413,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1413,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh2.c:1430,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1437,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/vssh/libssh2.c:1445,1
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/vssh/libssh2.c:1448,1
    - Dst: curlx_str_single
      Src: /src/curl/lib/vssh/libssh2.c:1449,1
    - Dst: curlx_str_numblanks
      Src: /src/curl/lib/vssh/libssh2.c:1451,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1464,1
    - Dst: libssh2_sftp_seek64
      Src: /src/curl/lib/vssh/libssh2.c:1478,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh2.c:1482,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1490,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1500,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh2.c:1509,1
    - Dst: libssh2_sftp_seek64
      Src: /src/curl/lib/vssh/libssh2.c:1511,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/vssh/libssh2.c:1518,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1519,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1520,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/vssh/libssh2.c:1523,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1528,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1405
    functionDepth: 3
    functionLinenumber: 1405
    functionLinenumberEnd: 1531
    functionName: sftp_download_stat
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strlen
    - failf
    - curlx_str_passblanks
    - Curl_xfer_setup_nop
    - curlx_uztoui
    - Curl_pgrsSetDownloadSize
    - Curl_xfer_setup_recv
    - libssh2_sftp_stat_ex
    - myssh_state
    - curlx_str_number
    - libssh2_sftp_seek64
    - curlx_str_single
    - infof
    - curlx_str_numblanks
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_download_stat(struct Curl_easy *data,\n                   struct
      ssh_conn *sshc,\n                   struct SSHPROTO *sshp,\n                   bool
      *blockp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_readdir_ex
      Src: /src/curl/lib/vssh/libssh2.c:1539,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/vssh/libssh2.c:1552,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/vssh/libssh2.c:1556,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vssh/libssh2.c:1561,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vssh/libssh2.c:1567,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1569,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1572,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1579,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:1582,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:1583,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1584,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:1585,1
    - Dst: libssh2_session_last_errno
      Src: /src/curl/lib/vssh/libssh2.c:1586,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1587,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1533
    functionDepth: 2
    functionLinenumber: 1533
    functionLinenumberEnd: 1590
    functionName: sftp_readdir
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_add
    - libssh2_sftp_readdir_ex
    - failf
    - Curl_client_write
    - myssh_state
    - sftp_libssh2_error_to_CURLE
    - libssh2_session_last_errno
    - sftp_libssh2_strerror
    - curlx_dyn_addf
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_readdir(struct Curl_easy *data,\n                             struct
      ssh_conn *sshc,\n                             struct SSHPROTO *sshp,\n                             bool
      *blockp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_session_set_blocking
      Src: /src/curl/lib/vssh/libssh2.c:1601,1
    - Dst: ssh_force_knownhost_key_type
      Src: /src/curl/lib/vssh/libssh2.c:1603,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1605,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1592
    functionDepth: 2
    functionLinenumber: 1592
    functionLinenumberEnd: 1609
    functionName: ssh_state_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - libssh2_session_set_blocking
    - ssh_force_knownhost_key_type
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_init(struct Curl_easy *data,\n                               struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_session_handshake
      Src: /src/curl/lib/vssh/libssh2.c:1615,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:1622,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1623,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1625,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1631
    functionName: ssh_state_startup
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_handshake
    - libssh2_session_last_error
    - failf
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_startup(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_check_fingerprint
      Src: /src/curl/lib/vssh/libssh2.c:1641,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1633
    functionDepth: 7
    functionLinenumber: 1633
    functionLinenumberEnd: 1645
    functionName: ssh_state_hostkey
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - myssh_state
    - ssh_check_fingerprint
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_hostkey(struct Curl_easy *data,\n                                  struct
      ssh_conn *sshc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_userauth_list
      Src: /src/curl/lib/vssh/libssh2.c:1661,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1663,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1663,1
    - Dst: libssh2_userauth_authenticated
      Src: /src/curl/lib/vssh/libssh2.c:1667,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1669,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1670,1
    - Dst: libssh2_session_last_errno
      Src: /src/curl/lib/vssh/libssh2.c:1673,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1677,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:1678,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1680,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1647
    functionDepth: 2
    functionLinenumber: 1647
    functionLinenumberEnd: 1685
    functionName: ssh_state_authlist
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strlen
    - curlx_uztoui
    - myssh_state
    - libssh2_session_last_errno
    - libssh2_session_error_to_CURLE
    - libssh2_userauth_list
    - infof
    - libssh2_userauth_authenticated
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_authlist(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_userauth_publickey_fromfile_ex
      Src: /src/curl/lib/vssh/libssh2.c:1694,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1696,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1697,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:1703,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:1704,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1708,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1709,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:1720,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1723,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1687
    functionDepth: 2
    functionLinenumber: 1687
    functionLinenumberEnd: 1727
    functionName: ssh_state_auth_pkey
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - Curl_safefree
    - strlen
    - curlx_uztoui
    - myssh_state
    - libssh2_userauth_publickey_fromfile_ex
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_pkey(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/curl/lib/vssh/libssh2.c:1733,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1734,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1729
    functionDepth: 2
    functionLinenumber: 1729
    functionLinenumberEnd: 1740
    functionName: ssh_state_auth_pass_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strstr
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_pass_init(struct Curl_easy *data,\n                                         struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_userauth_password_ex
      Src: /src/curl/lib/vssh/libssh2.c:1747,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1748,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1748,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1750,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1750,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1757,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1758,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1742
    functionDepth: 2
    functionLinenumber: 1742
    functionLinenumberEnd: 1764
    functionName: ssh_state_auth_pass
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strlen
    - curlx_uztoui
    - myssh_state
    - infof
    - libssh2_userauth_password_ex
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_pass(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/curl/lib/vssh/libssh2.c:1770,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1771,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1766
    functionDepth: 2
    functionLinenumber: 1766
    functionLinenumberEnd: 1777
    functionName: ssh_state_auth_host_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strstr
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_host_init(struct Curl_easy *data,\n                                         struct
      ssh_conn *sshc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/curl/lib/vssh/libssh2.c:1784,1
    - Dst: libssh2_agent_init
      Src: /src/curl/lib/vssh/libssh2.c:1790,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1792,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1794,1
    - Dst: libssh2_agent_connect
      Src: /src/curl/lib/vssh/libssh2.c:1799,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1803,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1804,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1807,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1779
    functionDepth: 2
    functionLinenumber: 1779
    functionLinenumberEnd: 1813
    functionName: ssh_state_auth_agent_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_agent_connect
    - strstr
    - myssh_state
    - libssh2_agent_init
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_agent_init(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_agent_list_identities
      Src: /src/curl/lib/vssh/libssh2.c:1818,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1823,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1824,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1815
    functionDepth: 2
    functionLinenumber: 1815
    functionLinenumberEnd: 1831
    functionName: ssh_state_auth_agent_list
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_agent_list_identities
    - infof
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_agent_list(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_agent_get_identity
      Src: /src/curl/lib/vssh/libssh2.c:1839,1
    - Dst: libssh2_agent_userauth
      Src: /src/curl/lib/vssh/libssh2.c:1847,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1861,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1863,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1867,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1868,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1833
    functionDepth: 2
    functionLinenumber: 1833
    functionLinenumberEnd: 1874
    functionName: ssh_state_auth_agent
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - libssh2_agent_get_identity
    - libssh2_agent_userauth
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_agent(struct Curl_easy *data,\n                                     struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/curl/lib/vssh/libssh2.c:1880,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1881,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1876
    functionDepth: 2
    functionLinenumber: 1876
    functionLinenumberEnd: 1887
    functionName: ssh_state_auth_key_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strstr
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_key_init(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_userauth_keyboard_interactive_ex
      Src: /src/curl/lib/vssh/libssh2.c:1895,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1897,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1898,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1905,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1906,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1889
    functionDepth: 2
    functionLinenumber: 1889
    functionLinenumberEnd: 1910
    functionName: ssh_state_auth_key
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strlen
    - curlx_uztoui
    - libssh2_userauth_keyboard_interactive_ex
    - myssh_state
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_key(struct Curl_easy *data,\n                                   struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1917,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1918,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1925,1
    - Dst: Curl_pgrsTime
      Src: /src/curl/lib/vssh/libssh2.c:1927,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1933,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1936,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1912
    functionDepth: 3
    functionLinenumber: 1912
    functionLinenumberEnd: 1939
    functionName: ssh_state_auth_done
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_pgrsTime
    - failf
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_auth_done(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_init
      Src: /src/curl/lib/vssh/libssh2.c:1947,1
    - Dst: libssh2_session_last_errno
      Src: /src/curl/lib/vssh/libssh2.c:1950,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:1954,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:1956,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1957,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1941
    functionDepth: 2
    functionLinenumber: 1941
    functionLinenumberEnd: 1962
    functionName: ssh_state_sftp_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - failf
    - myssh_state
    - libssh2_session_last_errno
    - libssh2_sftp_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_init(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_symlink_ex
      Src: /src/curl/lib/vssh/libssh2.c:1971,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:1972,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:1972,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:1978,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:1980,1
    - Dst: strdup
      Src: /src/curl/lib/vssh/libssh2.c:1981,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:1984,1
    - Dst: strdup
      Src: /src/curl/lib/vssh/libssh2.c:1985,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:1991,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:1994,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:1999,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:1999,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:2008,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2008,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1964
    functionDepth: 2
    functionLinenumber: 1964
    functionLinenumberEnd: 2010
    functionName: ssh_state_sftp_realpath
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strlen
    - DEBUGF
    - curlx_uztoui
    - strdup
    - libssh2_sftp_symlink_ex
    - myssh_state
    - free
    - sftp_libssh2_error_to_CURLE
    - infof
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_realpath(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc,\n                                        struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_getworkingpath
      Src: /src/curl/lib/vssh/libssh2.c:2016,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2018,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2023,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2025,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2012
    functionDepth: 3
    functionLinenumber: 2012
    functionLinenumberEnd: 2031
    functionName: ssh_state_sftp_quote_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - Curl_getworkingpath
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_init(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc,\n                                          struct SSHPROTO *sshp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2037,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2039,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2033
    functionDepth: 2
    functionLinenumber: 2033
    functionLinenumberEnd: 2045
    functionName: ssh_state_sftp_postquote_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_postquote_init(struct Curl_easy *data,\n                                              struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sftp_quote
      Src: /src/curl/lib/vssh/libssh2.c:2052,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2047
    functionDepth: 9
    functionLinenumber: 2047
    functionLinenumberEnd: 2058
    functionName: ssh_state_sftp_quote
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - sftp_quote
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote(struct Curl_easy *data,\n                                     struct
      ssh_conn *sshc,\n                                     struct SSHPROTO *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2063,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2064,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2069,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2073,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2060
    functionDepth: 2
    functionLinenumber: 2060
    functionLinenumberEnd: 2081
    functionName: ssh_state_sftp_next_quote
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_next_quote(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sftp_quote_stat
      Src: /src/curl/lib/vssh/libssh2.c:2088,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - blockp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2083
    functionDepth: 6
    functionLinenumber: 2083
    functionLinenumberEnd: 2094
    functionName: ssh_state_sftp_quote_stat
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - sftp_quote_stat
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_stat(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc,\n                                          struct SSHPROTO *sshp,\n
      \                                         bool *blockp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_stat_ex
      Src: /src/curl/lib/vssh/libssh2.c:2101,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2102,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2102,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2109,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2110,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2111,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2112,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:2113,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2114,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2096
    functionDepth: 2
    functionLinenumber: 2096
    functionLinenumberEnd: 2120
    functionName: ssh_state_sftp_quote_setstat
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strlen
    - failf
    - curlx_uztoui
    - libssh2_sftp_stat_ex
    - myssh_state
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_setstat(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc,\n                                             struct SSHPROTO
      *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_symlink_ex
      Src: /src/curl/lib/vssh/libssh2.c:2126,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2127,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2127,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2129,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2129,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2135,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2136,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2137,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2138,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:2139,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2140,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2122
    functionDepth: 2
    functionLinenumber: 2122
    functionLinenumberEnd: 2146
    functionName: ssh_state_sftp_quote_symlink
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strlen
    - failf
    - curlx_uztoui
    - libssh2_sftp_symlink_ex
    - myssh_state
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_symlink(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_mkdir_ex
      Src: /src/curl/lib/vssh/libssh2.c:2151,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2152,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2152,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2158,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2159,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2160,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:2161,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2162,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2148
    functionDepth: 2
    functionLinenumber: 2148
    functionLinenumberEnd: 2168
    functionName: ssh_state_sftp_quote_mkdir
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strlen
    - failf
    - curlx_uztoui
    - myssh_state
    - libssh2_sftp_mkdir_ex
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_mkdir(struct Curl_easy *data,\n                                           struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_rename_ex
      Src: /src/curl/lib/vssh/libssh2.c:2174,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2175,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2175,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2177,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2177,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2186,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2187,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2188,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2189,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:2190,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2191,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2170
    functionDepth: 2
    functionLinenumber: 2170
    functionLinenumberEnd: 2197
    functionName: ssh_state_sftp_quote_rename
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_sftp_rename_ex
    - Curl_safefree
    - strlen
    - failf
    - curlx_uztoui
    - myssh_state
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_rename(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_rmdir_ex
      Src: /src/curl/lib/vssh/libssh2.c:2202,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2203,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2203,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2208,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2209,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2210,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:2211,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2212,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2199
    functionDepth: 2
    functionLinenumber: 2199
    functionLinenumberEnd: 2218
    functionName: ssh_state_sftp_quote_rmdir
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strlen
    - failf
    - curlx_uztoui
    - myssh_state
    - libssh2_sftp_rmdir_ex
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_rmdir(struct Curl_easy *data,\n                                           struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_unlink_ex
      Src: /src/curl/lib/vssh/libssh2.c:2223,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2224,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2224,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2229,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2230,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2231,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:2231,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2232,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2220
    functionDepth: 2
    functionLinenumber: 2220
    functionLinenumberEnd: 2238
    functionName: ssh_state_sftp_quote_unlink
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strlen
    - failf
    - curlx_uztoui
    - myssh_state
    - libssh2_sftp_unlink_ex
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_unlink(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_statvfs
      Src: /src/curl/lib/vssh/libssh2.c:2244,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2245,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2245,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2252,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2253,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2254,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:2255,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2256,1
    - Dst: curl_maprintf
      Src: /src/curl/lib/vssh/libssh2.c:2267,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2286,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/vssh/libssh2.c:2291,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2291,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:2292,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2294,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2240
    functionDepth: 6
    functionLinenumber: 2240
    functionLinenumberEnd: 2301
    functionName: ssh_state_sftp_quote_statvfs
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_safefree
    - strlen
    - failf
    - curlx_uztoui
    - libssh2_sftp_statvfs
    - Curl_client_write
    - myssh_state
    - curl_maprintf
    - free
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_quote_statvfs(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_mkdir_ex
      Src: /src/curl/lib/vssh/libssh2.c:2308,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2309,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2309,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2322,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2326,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:2327,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2303
    functionDepth: 2
    functionLinenumber: 2303
    functionLinenumberEnd: 2332
    functionName: ssh_state_sftp_create_dirs_mkdir
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strlen
    - curlx_uztoui
    - myssh_state
    - sftp_libssh2_error_to_CURLE
    - libssh2_sftp_mkdir_ex
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_create_dirs_mkdir(struct Curl_easy *data,\n
      \                                                struct ssh_conn *sshc,\n                                                 struct
      SSHPROTO *sshp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh2.c:2338,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2340,1
    - Dst: libssh2_sftp_open_ex
      Src: /src/curl/lib/vssh/libssh2.c:2349,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2350,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2350,1
    - Dst: libssh2_session_last_errno
      Src: /src/curl/lib/vssh/libssh2.c:2354,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2357,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2358,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:2359,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2360,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:2361,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2334
    functionDepth: 2
    functionLinenumber: 2334
    functionLinenumberEnd: 2365
    functionName: ssh_state_sftp_readdir_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strlen
    - failf
    - libssh2_sftp_open_ex
    - curlx_uztoui
    - Curl_pgrsSetDownloadSize
    - myssh_state
    - libssh2_session_last_errno
    - sftp_libssh2_error_to_CURLE
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_readdir_init(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc,\n                                            struct SSHPROTO
      *sshp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_symlink_ex
      Src: /src/curl/lib/vssh/libssh2.c:2373,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vssh/libssh2.c:2374,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vssh/libssh2.c:2376,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vssh/libssh2.c:2382,1
    - Dst: curlx_dyn_addf
      Src: /src/curl/lib/vssh/libssh2.c:2388,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2390,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2367
    functionDepth: 2
    functionLinenumber: 2367
    functionLinenumberEnd: 2394
    functionName: ssh_state_sftp_readdir_link
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_sftp_symlink_ex
    - curlx_dyn_addf
    - curlx_dyn_free
    - myssh_state
    - curlx_dyn_len
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_readdir_link(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc,\n                                            struct SSHPROTO
      *sshp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/vssh/libssh2.c:2413,1
    - Dst: libssh2_scp_recv2
      Src: /src/curl/lib/vssh/libssh2.c:2414,1
    - Dst: libssh2_session_last_errno
      Src: /src/curl/lib/vssh/libssh2.c:2419,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2423,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2425,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2426,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:2427,1
    - Dst: Curl_xfer_setup_recv
      Src: /src/curl/lib/vssh/libssh2.c:2433,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2396
    functionDepth: 3
    functionLinenumber: 2396
    functionLinenumberEnd: 2440
    functionName: ssh_state_scp_download_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - failf
    - Curl_xfer_setup_recv
    - libssh2_session_last_errno
    - myssh_state
    - libssh2_session_error_to_CURLE
    - memset
    - libssh2_scp_recv2
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_scp_download_init(struct Curl_easy *data,\n                                            struct
      ssh_conn *sshc,\n                                            struct SSHPROTO
      *sshp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_close
      Src: /src/curl/lib/vssh/libssh2.c:2448,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2454,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2456,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2461,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:2463,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2463,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2470,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2442
    functionDepth: 2
    functionLinenumber: 2442
    functionLinenumberEnd: 2477
    functionName: ssh_state_sftp_close
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - Curl_safefree
    - DEBUGF
    - myssh_state
    - infof
    - libssh2_sftp_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_close(struct Curl_easy *data,\n                                     struct
      ssh_conn *sshc,\n                                     struct SSHPROTO *sshp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_close
      Src: /src/curl/lib/vssh/libssh2.c:2487,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2493,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2495,1
    - Dst: libssh2_sftp_shutdown
      Src: /src/curl/lib/vssh/libssh2.c:2500,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2505,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2510,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2479
    functionDepth: 2
    functionLinenumber: 2479
    functionLinenumberEnd: 2514
    functionName: ssh_state_sftp_shutdown
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - Curl_safefree
    - myssh_state
    - libssh2_sftp_shutdown
    - infof
    - libssh2_sftp_close
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_shutdown(struct Curl_easy *data,\n                                        struct
      ssh_conn *sshc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_open_ex
      Src: /src/curl/lib/vssh/libssh2.c:2524,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2525,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2525,1
    - Dst: libssh2_session_last_errno
      Src: /src/curl/lib/vssh/libssh2.c:2530,1
    - Dst: libssh2_sftp_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2534,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2535,1
    - Dst: sftp_libssh2_strerror
      Src: /src/curl/lib/vssh/libssh2.c:2536,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2537,1
    - Dst: sftp_libssh2_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:2538,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2516
    functionDepth: 2
    functionLinenumber: 2516
    functionLinenumberEnd: 2542
    functionName: ssh_state_sftp_download_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - strlen
    - failf
    - libssh2_sftp_open_ex
    - curlx_uztoui
    - libssh2_session_last_errno
    - myssh_state
    - sftp_libssh2_error_to_CURLE
    - sftp_libssh2_strerror
    - libssh2_sftp_last_error
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_sftp_download_init(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc,\n                                             struct SSHPROTO
      *sshp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_scp_send64
      Src: /src/curl/lib/vssh/libssh2.c:2555,1
    - Dst: libssh2_session_last_errno
      Src: /src/curl/lib/vssh/libssh2.c:2562,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2566,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2568,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2569,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:2570,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/vssh/libssh2.c:2581,1
    - Dst: Curl_xfer_setup_send
      Src: /src/curl/lib/vssh/libssh2.c:2582,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - data
    - sshc
    - sshp
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2544
    functionDepth: 3
    functionLinenumber: 2544
    functionLinenumberEnd: 2594
    functionName: ssh_state_scp_upload_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - Curl_xfer_setup_send
    - failf
    - Curl_pgrsSetUploadSize
    - myssh_state
    - libssh2_session_last_errno
    - libssh2_scp_send64
    - libssh2_session_error_to_CURLE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_scp_upload_init(struct Curl_easy *data,\n                                          struct
      ssh_conn *sshc,\n                                          struct SSHPROTO *sshp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_channel_free
      Src: /src/curl/lib/vssh/libssh2.c:2604,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2610,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2612,1
    - Dst: libssh2_session_disconnect
      Src: /src/curl/lib/vssh/libssh2.c:2619,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2625,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2627,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:2632,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2634,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - sshc
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2596
    functionDepth: 2
    functionLinenumber: 2596
    functionLinenumberEnd: 2636
    functionName: ssh_state_session_disconnect
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_last_error
    - Curl_safefree
    - libssh2_channel_free
    - myssh_state
    - libssh2_session_disconnect
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_state_session_disconnect(struct Curl_easy *data,\n                                             struct
      ssh_conn *sshc)"
  - BBCount: 92
    BranchProfiles: []
    Callsites:
    - Dst: ssh_state_init
      Src: /src/curl/lib/vssh/libssh2.c:2656,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh2.c:2659,1
    - Dst: ssh_state_startup
      Src: /src/curl/lib/vssh/libssh2.c:2662,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vssh/libssh2.c:2665,1
    - Dst: ssh_state_hostkey
      Src: /src/curl/lib/vssh/libssh2.c:2668,1
    - Dst: ssh_state_authlist
      Src: /src/curl/lib/vssh/libssh2.c:2672,1
    - Dst: ssh_state_pkey_init
      Src: /src/curl/lib/vssh/libssh2.c:2676,1
    - Dst: ssh_state_auth_pkey
      Src: /src/curl/lib/vssh/libssh2.c:2680,1
    - Dst: ssh_state_auth_pass_init
      Src: /src/curl/lib/vssh/libssh2.c:2684,1
    - Dst: ssh_state_auth_pass
      Src: /src/curl/lib/vssh/libssh2.c:2688,1
    - Dst: ssh_state_auth_host_init
      Src: /src/curl/lib/vssh/libssh2.c:2692,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2696,1
    - Dst: ssh_state_auth_agent_init
      Src: /src/curl/lib/vssh/libssh2.c:2700,1
    - Dst: ssh_state_auth_agent_list
      Src: /src/curl/lib/vssh/libssh2.c:2704,1
    - Dst: ssh_state_auth_agent
      Src: /src/curl/lib/vssh/libssh2.c:2708,1
    - Dst: ssh_state_auth_key_init
      Src: /src/curl/lib/vssh/libssh2.c:2712,1
    - Dst: ssh_state_auth_key
      Src: /src/curl/lib/vssh/libssh2.c:2716,1
    - Dst: ssh_state_auth_done
      Src: /src/curl/lib/vssh/libssh2.c:2720,1
    - Dst: ssh_state_sftp_init
      Src: /src/curl/lib/vssh/libssh2.c:2724,1
    - Dst: ssh_state_sftp_realpath
      Src: /src/curl/lib/vssh/libssh2.c:2728,1
    - Dst: ssh_state_sftp_quote_init
      Src: /src/curl/lib/vssh/libssh2.c:2732,1
    - Dst: ssh_state_sftp_postquote_init
      Src: /src/curl/lib/vssh/libssh2.c:2736,1
    - Dst: ssh_state_sftp_quote
      Src: /src/curl/lib/vssh/libssh2.c:2740,1
    - Dst: ssh_state_sftp_next_quote
      Src: /src/curl/lib/vssh/libssh2.c:2744,1
    - Dst: ssh_state_sftp_quote_stat
      Src: /src/curl/lib/vssh/libssh2.c:2748,1
    - Dst: ssh_state_sftp_quote_setstat
      Src: /src/curl/lib/vssh/libssh2.c:2752,1
    - Dst: ssh_state_sftp_quote_symlink
      Src: /src/curl/lib/vssh/libssh2.c:2756,1
    - Dst: ssh_state_sftp_quote_mkdir
      Src: /src/curl/lib/vssh/libssh2.c:2760,1
    - Dst: ssh_state_sftp_quote_rename
      Src: /src/curl/lib/vssh/libssh2.c:2764,1
    - Dst: ssh_state_sftp_quote_rmdir
      Src: /src/curl/lib/vssh/libssh2.c:2768,1
    - Dst: ssh_state_sftp_quote_unlink
      Src: /src/curl/lib/vssh/libssh2.c:2772,1
    - Dst: ssh_state_sftp_quote_statvfs
      Src: /src/curl/lib/vssh/libssh2.c:2776,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2781,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2784,1
    - Dst: libssh2_sftp_stat_ex
      Src: /src/curl/lib/vssh/libssh2.c:2792,1
    - Dst: curlx_uztoui
      Src: /src/curl/lib/vssh/libssh2.c:2793,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2793,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2803,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2809,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2811,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2812,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2814,1
    - Dst: sftp_upload_init
      Src: /src/curl/lib/vssh/libssh2.c:2819,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2821,1
    - Dst: strlen
      Src: /src/curl/lib/vssh/libssh2.c:2827,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2829,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2832,1
    - Dst: strchr
      Src: /src/curl/lib/vssh/libssh2.c:2837,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2841,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2842,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2845,1
    - Dst: ssh_state_sftp_create_dirs_mkdir
      Src: /src/curl/lib/vssh/libssh2.c:2849,1
    - Dst: ssh_state_sftp_readdir_init
      Src: /src/curl/lib/vssh/libssh2.c:2853,1
    - Dst: sftp_readdir
      Src: /src/curl/lib/vssh/libssh2.c:2857,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2859,1
    - Dst: ssh_state_sftp_readdir_link
      Src: /src/curl/lib/vssh/libssh2.c:2864,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vssh/libssh2.c:2868,1
    - Dst: Curl_client_write
      Src: /src/curl/lib/vssh/libssh2.c:2870,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vssh/libssh2.c:2871,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vssh/libssh2.c:2872,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vssh/libssh2.c:2875,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2876,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vssh/libssh2.c:2879,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2880,1
    - Dst: libssh2_sftp_closedir
      Src: /src/curl/lib/vssh/libssh2.c:2885,1
    - Dst: Curl_xfer_setup_nop
      Src: /src/curl/lib/vssh/libssh2.c:2891,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2892,1
    - Dst: ssh_state_sftp_download_init
      Src: /src/curl/lib/vssh/libssh2.c:2897,1
    - Dst: sftp_download_stat
      Src: /src/curl/lib/vssh/libssh2.c:2901,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2903,1
    - Dst: ssh_state_sftp_close
      Src: /src/curl/lib/vssh/libssh2.c:2909,1
    - Dst: ssh_state_sftp_shutdown
      Src: /src/curl/lib/vssh/libssh2.c:2913,1
    - Dst: Curl_getworkingpath
      Src: /src/curl/lib/vssh/libssh2.c:2917,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2919,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:2925,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2927,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2930,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2933,1
    - Dst: ssh_state_scp_upload_init
      Src: /src/curl/lib/vssh/libssh2.c:2938,1
    - Dst: ssh_state_scp_download_init
      Src: /src/curl/lib/vssh/libssh2.c:2942,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2947,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2949,1
    - Dst: libssh2_channel_send_eof
      Src: /src/curl/lib/vssh/libssh2.c:2954,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2961,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2963,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2967,1
    - Dst: libssh2_channel_wait_eof
      Src: /src/curl/lib/vssh/libssh2.c:2972,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2979,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2981,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:2984,1
    - Dst: libssh2_channel_wait_closed
      Src: /src/curl/lib/vssh/libssh2.c:2989,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:2996,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:2998,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3001,1
    - Dst: libssh2_channel_free
      Src: /src/curl/lib/vssh/libssh2.c:3006,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:3013,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3015,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:3020,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3020,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3021,1
    - Dst: ssh_state_session_disconnect
      Src: /src/curl/lib/vssh/libssh2.c:3025,1
    - Dst: sshc_cleanup
      Src: /src/curl/lib/vssh/libssh2.c:3029,1
    - Dst: memset
      Src: /src/curl/lib/vssh/libssh2.c:3033,1
    - Dst: connclose
      Src: /src/curl/lib/vssh/libssh2.c:3034,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3036,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3042,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 306
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - block
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 2644
    functionDepth: 10
    functionLinenumber: 2644
    functionLinenumberEnd: 3056
    functionName: ssh_statemachine
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - ssh_state_startup
    - ssh_state_auth_pass_init
    - ssh_state_auth_pkey
    - libssh2_sftp_closedir
    - ssh_state_sftp_close
    - libssh2_channel_wait_eof
    - ssh_state_auth_agent_list
    - ssh_state_sftp_init
    - libssh2_channel_free
    - ssh_state_auth_key_init
    - Curl_getworkingpath
    - connclose
    - ssh_state_init
    - ssh_state_sftp_quote_stat
    - ssh_state_sftp_readdir_link
    - ssh_state_auth_key
    - ssh_state_sftp_quote_statvfs
    - failf
    - Curl_client_write
    - DEBUGF
    - ssh_state_sftp_quote
    - ssh_state_pkey_init
    - ssh_state_sftp_quote_init
    - strchr
    - ssh_state_auth_done
    - curlx_dyn_addn
    - curlx_dyn_reset
    - libssh2_channel_send_eof
    - curlx_dyn_len
    - ssh_state_sftp_readdir_init
    - curlx_dyn_ptr
    - ssh_state_sftp_quote_rmdir
    - ssh_state_sftp_quote_setstat
    - strlen
    - ssh_state_sftp_quote_unlink
    - ssh_state_auth_host_init
    - myssh_state
    - ssh_state_auth_agent_init
    - curlx_dyn_free
    - ssh_state_scp_upload_init
    - ssh_state_authlist
    - libssh2_channel_wait_closed
    - sshc_cleanup
    - ssh_state_sftp_quote_mkdir
    - ssh_state_hostkey
    - ssh_state_session_disconnect
    - ssh_state_scp_download_init
    - FALLTHROUGH
    - libssh2_session_last_error
    - ssh_state_sftp_quote_rename
    - ssh_state_sftp_create_dirs_mkdir
    - sftp_readdir
    - ssh_state_auth_pass
    - curlx_uztoui
    - ssh_state_sftp_next_quote
    - ssh_state_sftp_quote_symlink
    - Curl_xfer_setup_nop
    - libssh2_sftp_stat_ex
    - sftp_upload_init
    - ssh_state_sftp_postquote_init
    - ssh_state_sftp_shutdown
    - ssh_state_auth_agent
    - memset
    - infof
    - ssh_state_sftp_download_init
    - ssh_state_sftp_realpath
    - sftp_download_stat
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_statemachine(struct Curl_easy *data,\n                                 struct
      ssh_conn *sshc,\n                                 struct SSHPROTO *sshp,\n                                 bool
      *block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_change
      Src: /src/curl/lib/vssh/libssh2.c:3070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - ps
    argTypes:
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3060
    functionDepth: 2
    functionLinenumber: 3060
    functionLinenumberEnd: 3072
    functionName: ssh_pollset
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_change
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_pollset(struct Curl_easy *data,\n                            struct
      easy_pollset *ps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_session_block_directions
      Src: /src/curl/lib/vssh/libssh2.c:3088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - sshc
    - block
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3081
    functionDepth: 0
    functionLinenumber: 3081
    functionLinenumberEnd: 3099
    functionName: ssh_block2waitfor
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 6
    functionsReached:
    - libssh2_session_block_directions
    linkageType: ''
    returnType: void
    signature: "void ssh_block2waitfor(struct Curl_easy *data,\n                              struct
      ssh_conn *sshc,\n                              bool block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3105,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3106,1
    - Dst: ssh_statemachine
      Src: /src/curl/lib/vssh/libssh2.c:3114,1
    - Dst: ssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh2.c:3119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3102
    functionDepth: 11
    functionLinenumber: 3102
    functionLinenumberEnd: 3122
    functionName: ssh_multi_statemach
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 5
    functionsReached:
    - ssh_block2waitfor
    - ssh_statemachine
    - Curl_meta_get
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_multi_statemach(struct Curl_easy *data, bool *done)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/vssh/libssh2.c:3130,1
    - Dst: curlx_now
      Src: /src/curl/lib/vssh/libssh2.c:3135,1
    - Dst: ssh_statemachine
      Src: /src/curl/lib/vssh/libssh2.c:3137,1
    - Dst: Curl_pgrsUpdate
      Src: /src/curl/lib/vssh/libssh2.c:3142,1
    - Dst: Curl_speedcheck
      Src: /src/curl/lib/vssh/libssh2.c:3145,1
    - Dst: Curl_timeleft
      Src: /src/curl/lib/vssh/libssh2.c:3149,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:3151,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vssh/libssh2.c:3155,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:3157,1
    - Dst: libssh2_session_block_directions
      Src: /src/curl/lib/vssh/libssh2.c:3163,1
    - Dst: Curl_socket_check
      Src: /src/curl/lib/vssh/libssh2.c:3172,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - data
    - sshc
    - sshp
    - disconnect
    argTypes:
    - struct Curl_easy*
    - struct ssh_conn*
    - struct SSHPROTO*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3124
    functionDepth: 11
    functionLinenumber: 3124
    functionLinenumberEnd: 3178
    functionName: ssh_block_statemach
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 3
    functionsReached:
    - ssh_statemachine
    - Curl_timeleft
    - failf
    - libssh2_session_block_directions
    - curlx_now
    - Curl_pgrsUpdate
    - curlx_timediff
    - Curl_speedcheck
    - Curl_socket_check
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_block_statemach(struct Curl_easy *data,\n                                    struct
      ssh_conn *sshc,\n                                    struct SSHPROTO *sshp,\n
      \                                   bool disconnect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:3185,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vssh/libssh2.c:3186,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vssh/libssh2.c:3187,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:3188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3189
      start: 3180
    functionDepth: 1
    functionLinenumber: 3180
    functionLinenumberEnd: 3189
    functionName: myssh_easy_dtor
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - Curl_safefree
    - free
    linkageType: ''
    returnType: void
    signature: void myssh_easy_dtor(void *key, size_t klen, void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sshc_cleanup
      Src: /src/curl/lib/vssh/libssh2.c:3196,1
    - Dst: free
      Src: /src/curl/lib/vssh/libssh2.c:3197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - klen
    - entry
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3191
    functionDepth: 0
    functionLinenumber: 3191
    functionLinenumberEnd: 3198
    functionName: myssh_conn_dtor
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - free
    - sshc_cleanup
    linkageType: ''
    returnType: void
    signature: void myssh_conn_dtor(void *key, size_t klen, void *entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/vssh/libssh2.c:3210,1
    - Dst: Curl_conn_meta_set
      Src: /src/curl/lib/vssh/libssh2.c:3214,1
    - Dst: calloc
      Src: /src/curl/lib/vssh/libssh2.c:3217,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vssh/libssh2.c:3221,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vssh/libssh2.c:3222,1
    - Dst: Curl_meta_set
      Src: /src/curl/lib/vssh/libssh2.c:3223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3203
    functionDepth: 2
    functionLinenumber: 3203
    functionLinenumberEnd: 3227
    functionName: ssh_setup_connection
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_init
    - calloc
    - Curl_meta_set
    - Curl_conn_meta_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode ssh_setup_connection(struct Curl_easy *data,\n                                     struct
      connectdata *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_sockindex
      Src: /src/curl/lib/vssh/libssh2.c:3237,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3242,1
    - Dst: Curl_conn_recv
      Src: /src/curl/lib/vssh/libssh2.c:3251,1
    - Dst: Curl_debug
      Src: /src/curl/lib/vssh/libssh2.c:3257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - sock
    - buffer
    - length
    - flags
    - abstract
    argTypes:
    - libssh2_socket_t
    - void*
    - size_t
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3233
    functionDepth: 8
    functionLinenumber: 3233
    functionLinenumberEnd: 3259
    functionName: ssh_tls_recv
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_sockindex
    - Curl_conn_recv
    - Curl_conn_meta_get
    - Curl_debug
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ssh_tls_recv(libssh2_socket_t sock, void *buffer,\n                            size_t
      length, int flags, void **abstract)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_sockindex
      Src: /src/curl/lib/vssh/libssh2.c:3265,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3270,1
    - Dst: Curl_conn_send
      Src: /src/curl/lib/vssh/libssh2.c:3279,1
    - Dst: Curl_debug
      Src: /src/curl/lib/vssh/libssh2.c:3285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - sock
    - buffer
    - length
    - flags
    - abstract
    argTypes:
    - libssh2_socket_t
    - void*
    - size_t
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3261
    functionDepth: 8
    functionLinenumber: 3261
    functionLinenumberEnd: 3287
    functionName: ssh_tls_send
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_conn_sockindex
    - Curl_conn_send
    - Curl_conn_meta_get
    - Curl_debug
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ssh_tls_send(libssh2_socket_t sock, const void *buffer,\n
      \                           size_t length, int flags, void **abstract)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3300,1
    - Dst: libssh2_crypto_engine
      Src: /src/curl/lib/vssh/libssh2.c:3306,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3327,1
    - Dst: connkeep
      Src: /src/curl/lib/vssh/libssh2.c:3336,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3338,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3340,1
    - Dst: libssh2_session_init_ex
      Src: /src/curl/lib/vssh/libssh2.c:3346,1
    - Dst: failf
      Src: /src/curl/lib/vssh/libssh2.c:3351,1
    - Dst: libssh2_session_set_read_timeout
      Src: /src/curl/lib/vssh/libssh2.c:3358,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3378,1
    - Dst: libssh2_session_callback_set2
      Src: /src/curl/lib/vssh/libssh2.c:3383,1
    - Dst: libssh2_session_callback_set2
      Src: /src/curl/lib/vssh/libssh2.c:3386,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3412,1
    - Dst: libssh2_session_callback_set
      Src: /src/curl/lib/vssh/libssh2.c:3413,1
    - Dst: libssh2_session_callback_set
      Src: /src/curl/lib/vssh/libssh2.c:3415,1
    - Dst: libssh2_session_flag
      Src: /src/curl/lib/vssh/libssh2.c:3436,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3437,1
    - Dst: libssh2_knownhost_init
      Src: /src/curl/lib/vssh/libssh2.c:3442,1
    - Dst: libssh2_session_free
      Src: /src/curl/lib/vssh/libssh2.c:3444,1
    - Dst: libssh2_knownhost_readfile
      Src: /src/curl/lib/vssh/libssh2.c:3450,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3454,1
    - Dst: libssh2_trace
      Src: /src/curl/lib/vssh/libssh2.c:3459,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3460,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3463,1
    - Dst: ssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh2.c:3465,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3294
    functionDepth: 12
    functionLinenumber: 3294
    functionLinenumberEnd: 3468
    functionName: ssh_connect
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - libssh2_session_callback_set2
    - libssh2_trace
    - libssh2_session_set_read_timeout
    - failf
    - libssh2_crypto_engine
    - libssh2_session_flag
    - libssh2_session_free
    - connkeep
    - Curl_conn_meta_get
    - myssh_state
    - ssh_multi_statemach
    - libssh2_session_callback_set
    - infof
    - libssh2_knownhost_init
    - libssh2_session_init_ex
    - libssh2_knownhost_readfile
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_connect(struct Curl_easy *data, bool *done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3484,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:3487,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3487,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3494,1
    - Dst: ssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh2.c:3497,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/vssh/libssh2.c:3499,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:3502,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3506
      start: 3479
    functionDepth: 12
    functionLinenumber: 3479
    functionLinenumberEnd: 3506
    functionName: scp_perform
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - DEBUGF
    - Curl_conn_meta_get
    - myssh_state
    - ssh_multi_statemach
    - infof
    - Curl_conn_is_connected
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_perform(struct Curl_easy *data,\n                     bool
      *connected,\n                     bool *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh2.c:3513,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:3516,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3509
    functionDepth: 12
    functionLinenumber: 3509
    functionLinenumberEnd: 3519
    functionName: scp_doing
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - ssh_multi_statemach
    - DEBUGF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_doing(struct Curl_easy *data,\n                          bool
      *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3531,1
    - Dst: Curl_pgrsSetUploadCounter
      Src: /src/curl/lib/vssh/libssh2.c:3541,1
    - Dst: Curl_pgrsSetDownloadCounter
      Src: /src/curl/lib/vssh/libssh2.c:3542,1
    - Dst: Curl_pgrsSetUploadSize
      Src: /src/curl/lib/vssh/libssh2.c:3543,1
    - Dst: Curl_pgrsSetDownloadSize
      Src: /src/curl/lib/vssh/libssh2.c:3544,1
    - Dst: scp_perform
      Src: /src/curl/lib/vssh/libssh2.c:3547,1
    - Dst: sftp_perform
      Src: /src/curl/lib/vssh/libssh2.c:3549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3526
    functionDepth: 2
    functionLinenumber: 3526
    functionLinenumberEnd: 3552
    functionName: ssh_do
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsSetUploadSize
    - sftp_perform
    - Curl_pgrsSetDownloadSize
    - Curl_pgrsSetDownloadCounter
    - Curl_conn_meta_get
    - scp_perform
    - Curl_pgrsSetUploadCounter
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_do(struct Curl_easy *data, bool *done)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_knownhost_free
      Src: /src/curl/lib/vssh/libssh2.c:3560,1
    - Dst: libssh2_agent_disconnect
      Src: /src/curl/lib/vssh/libssh2.c:3565,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:3571,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3573,1
    - Dst: libssh2_agent_free
      Src: /src/curl/lib/vssh/libssh2.c:3576,1
    - Dst: libssh2_sftp_close
      Src: /src/curl/lib/vssh/libssh2.c:3586,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:3592,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3594,1
    - Dst: libssh2_channel_free
      Src: /src/curl/lib/vssh/libssh2.c:3600,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:3606,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3608,1
    - Dst: libssh2_sftp_shutdown
      Src: /src/curl/lib/vssh/libssh2.c:3615,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3620,1
    - Dst: libssh2_session_free
      Src: /src/curl/lib/vssh/libssh2.c:3625,1
    - Dst: libssh2_session_last_error
      Src: /src/curl/lib/vssh/libssh2.c:3631,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3633,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh2.c:3639,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh2.c:3640,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh2.c:3641,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh2.c:3642,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh2.c:3643,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh2.c:3644,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:3646,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:3647,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:3648,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:3649,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/vssh/libssh2.c:3650,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 3
    argNames:
    - sshc
    - data
    - block
    argTypes:
    - struct ssh_conn*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3653
      start: 3554
    functionDepth: 1
    functionLinenumber: 3554
    functionLinenumberEnd: 3653
    functionName: sshc_cleanup
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 4
    functionsReached:
    - libssh2_session_last_error
    - Curl_safefree
    - libssh2_channel_free
    - libssh2_agent_disconnect
    - libssh2_agent_free
    - libssh2_sftp_shutdown
    - infof
    - libssh2_sftp_close
    - libssh2_knownhost_free
    - libssh2_session_free
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sshc_cleanup(struct ssh_conn *sshc, struct Curl_easy *data,\n
      \                            bool block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3664,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3665,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3670,1
    - Dst: ssh_block_statemach
      Src: /src/curl/lib/vssh/libssh2.c:3671,1
    - Dst: sshc_cleanup
      Src: /src/curl/lib/vssh/libssh2.c:3675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3677
      start: 3659
    functionDepth: 12
    functionLinenumber: 3659
    functionLinenumberEnd: 3677
    functionName: scp_disconnect
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - ssh_block_statemach
    - Curl_conn_meta_get
    - myssh_state
    - sshc_cleanup
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_disconnect(struct Curl_easy *data,\n                               struct
      connectdata *conn,\n                               bool dead_connection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3683,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3684,1
    - Dst: ssh_block_statemach
      Src: /src/curl/lib/vssh/libssh2.c:3692,1
    - Dst: Curl_pgrsDone
      Src: /src/curl/lib/vssh/libssh2.c:3696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - data
    - status
    argTypes:
    - struct Curl_easy*
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3681
    functionDepth: 12
    functionLinenumber: 3681
    functionLinenumberEnd: 3701
    functionName: ssh_done
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 2
    functionsReached:
    - ssh_block_statemach
    - Curl_pgrsDone
    - Curl_meta_get
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode ssh_done(struct Curl_easy *data, CURLcode status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3707,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3711,1
    - Dst: ssh_done
      Src: /src/curl/lib/vssh/libssh2.c:3713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3714
      start: 3704
    functionDepth: 13
    functionLinenumber: 3704
    functionLinenumberEnd: 3714
    functionName: scp_done
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - ssh_done
    - Curl_conn_meta_get
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_done(struct Curl_easy *data, CURLcode status,\n                         bool
      premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3721,1
    - Dst: libssh2_channel_write
      Src: /src/curl/lib/vssh/libssh2.c:3733,1
    - Dst: ssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh2.c:3735,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:3740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - data
    - sockindex
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3745
      start: 3716
    functionDepth: 2
    functionLinenumber: 3716
    functionLinenumberEnd: 3745
    functionName: scp_send
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_channel_write
    - ssh_block2waitfor
    - libssh2_session_error_to_CURLE
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_send(struct Curl_easy *data, int sockindex,\n                         const
      void *mem, size_t len, bool eos,\n                         size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3751,1
    - Dst: libssh2_channel_read
      Src: /src/curl/lib/vssh/libssh2.c:3762,1
    - Dst: ssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh2.c:3764,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:3768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - sockindex
    - mem
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3747
    functionDepth: 2
    functionLinenumber: 3747
    functionLinenumberEnd: 3773
    functionName: scp_recv
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_error_to_CURLE
    - libssh2_channel_read
    - ssh_block2waitfor
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode scp_recv(struct Curl_easy *data, int sockindex,\n                         char
      *mem, size_t len, size_t *pnread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3793,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:3796,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3796,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3803,1
    - Dst: ssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh2.c:3806,1
    - Dst: Curl_conn_is_connected
      Src: /src/curl/lib/vssh/libssh2.c:3808,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:3811,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - data
    - connected
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3815
      start: 3788
    functionDepth: 12
    functionLinenumber: 3788
    functionLinenumberEnd: 3815
    functionName: sftp_perform
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 2
    functionsReached:
    - DEBUGF
    - Curl_conn_meta_get
    - myssh_state
    - ssh_multi_statemach
    - infof
    - Curl_conn_is_connected
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_perform(struct Curl_easy *data,\n                      bool
      *connected,\n                      bool *dophase_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssh_multi_statemach
      Src: /src/curl/lib/vssh/libssh2.c:3821,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:3824,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dophase_done
    argTypes:
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3827
      start: 3818
    functionDepth: 12
    functionLinenumber: 3818
    functionLinenumberEnd: 3827
    functionName: sftp_doing
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - infof
    - ssh_multi_statemach
    - DEBUGF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_doing(struct Curl_easy *data,\n                           bool
      *dophase_done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3836,1
    - Dst: Curl_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3837,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:3840,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3840,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3844,1
    - Dst: ssh_block_statemach
      Src: /src/curl/lib/vssh/libssh2.c:3845,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:3848,1
    - Dst: infof
      Src: /src/curl/lib/vssh/libssh2.c:3848,1
    - Dst: sshc_cleanup
      Src: /src/curl/lib/vssh/libssh2.c:3850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - data
    - conn
    - dead_connection
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3854
      start: 3832
    functionDepth: 12
    functionLinenumber: 3832
    functionLinenumberEnd: 3854
    functionName: sftp_disconnect
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - ssh_block_statemach
    - DEBUGF
    - Curl_conn_meta_get
    - myssh_state
    - sshc_cleanup
    - infof
    - Curl_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_disconnect(struct Curl_easy *data,\n                                struct
      connectdata *conn, bool dead_connection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3860,1
    - Dst: myssh_state
      Src: /src/curl/lib/vssh/libssh2.c:3871,1
    - Dst: ssh_done
      Src: /src/curl/lib/vssh/libssh2.c:3873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - data
    - status
    - premature
    argTypes:
    - struct Curl_easy*
    - CURLcode
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3856
    functionDepth: 13
    functionLinenumber: 3856
    functionLinenumberEnd: 3874
    functionName: sftp_done
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - ssh_done
    - Curl_conn_meta_get
    - myssh_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_done(struct Curl_easy *data, CURLcode status,\n                          bool
      premature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3882,1
    - Dst: libssh2_sftp_write
      Src: /src/curl/lib/vssh/libssh2.c:3892,1
    - Dst: ssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh2.c:3894,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:3899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - data
    - sockindex
    - mem
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_easy*
    - int
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3877
    functionDepth: 2
    functionLinenumber: 3877
    functionLinenumberEnd: 3902
    functionName: sftp_send
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_error_to_CURLE
    - ssh_block2waitfor
    - libssh2_sftp_write
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_send(struct Curl_easy *data, int sockindex,\n                          const
      void *mem, size_t len, bool eos,\n                          size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:3912,1
    - Dst: libssh2_sftp_read
      Src: /src/curl/lib/vssh/libssh2.c:3921,1
    - Dst: ssh_block2waitfor
      Src: /src/curl/lib/vssh/libssh2.c:3923,1
    - Dst: libssh2_session_error_to_CURLE
      Src: /src/curl/lib/vssh/libssh2.c:3928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - data
    - sockindex
    - mem
    - len
    - pnread
    argTypes:
    - struct Curl_easy*
    - int
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3932
      start: 3908
    functionDepth: 2
    functionLinenumber: 3908
    functionLinenumberEnd: 3932
    functionName: sftp_recv
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - libssh2_session_error_to_CURLE
    - ssh_block2waitfor
    - libssh2_sftp_read
    - Curl_conn_meta_get
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode sftp_recv(struct Curl_easy *data, int sockindex,\n                          char
      *mem, size_t len, size_t *pnread)"
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 1
    argNames:
    - err
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3998
      start: 3934
    functionDepth: 0
    functionLinenumber: 3934
    functionLinenumberEnd: 3998
    functionName: sftp_libssh2_strerror
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sftp_libssh2_strerror(unsigned long err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_init
      Src: /src/curl/lib/vssh/libssh2.c:4002,1
    - Dst: DEBUGF
      Src: /src/curl/lib/vssh/libssh2.c:4003,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vssh/libssh2.c:4003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4007
      start: 4000
    functionDepth: 5
    functionLinenumber: 4000
    functionLinenumberEnd: 4007
    functionName: Curl_ssh_init
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - curl_mfprintf
    - DEBUGF
    - libssh2_init
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode Curl_ssh_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_exit
      Src: /src/curl/lib/vssh/libssh2.c:4011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 4009
    functionDepth: 0
    functionLinenumber: 4009
    functionLinenumberEnd: 4012
    functionName: Curl_ssh_cleanup
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 1
    functionsReached:
    - libssh2_exit
    linkageType: ''
    returnType: void
    signature: void Curl_ssh_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vssh/libssh2.c:4016,1
    - Dst: libssh2_version
      Src: /src/curl/lib/vssh/libssh2.c:4016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4017
      start: 4014
    functionDepth: 6
    functionLinenumber: 4014
    functionLinenumberEnd: 4017
    functionName: Curl_ssh_version
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 2
    functionsReached:
    - curl_msnprintf
    - libssh2_version
    linkageType: ''
    returnType: void
    signature: void Curl_ssh_version(char *buffer, size_t buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh2.c:4025,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vssh/libssh2.c:4026,1
    - Dst: Curl_conn_meta_get
      Src: /src/curl/lib/vssh/libssh2.c:4028,1
    - Dst: libssh2_session_abstract
      Src: /src/curl/lib/vssh/libssh2.c:4031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - conn
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4035
      start: 4023
    functionDepth: 2
    functionLinenumber: 4023
    functionLinenumberEnd: 4035
    functionName: ssh_attach
    functionSourceFile: /src/curl/lib/vssh/libssh2.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - libssh2_session_abstract
    - Curl_conn_meta_get
    linkageType: ''
    returnType: void
    signature: void ssh_attach(struct Curl_easy *data, struct connectdata *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: curlx_convert_UTF8_to_tchar
    functionSourceFile: /src/curl/lib/curlx/multibyte.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_convert_UTF8_to_tchar(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: curlx_convert_tchar_to_UTF8
    functionSourceFile: /src/curl/lib/curlx/multibyte.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_convert_tchar_to_UTF8(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: curlx_convert_UTF8_to_tchar
    functionSourceFile: /src/curl/lib/curlx/multibyte.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_convert_UTF8_to_tchar(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: curlx_convert_tchar_to_UTF8
    functionSourceFile: /src/curl/lib/curlx/multibyte.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_convert_tchar_to_UTF8(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: curlx_unicodefree
    functionSourceFile: /src/curl/lib/curlx/multibyte.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_unicodefree(ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sfcntl
      Src: /src/curl/lib/curlx/nonblock.c:52,1
    - Dst: sfcntl
      Src: /src/curl/lib/curlx/nonblock.c:64,1
    - Dst: IoctlSocket
      Src: /src/curl/lib/curlx/nonblock.c:70,1
    - Dst: ioctl
      Src: /src/curl/lib/curlx/nonblock.c:76,1
    - Dst: ioctlsocket
      Src: /src/curl/lib/curlx/nonblock.c:82,1
    - Dst: setsockopt
      Src: /src/curl/lib/curlx/nonblock.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - sockfd
    - nonblock
    argTypes:
    - curl_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 93
    functionName: curlx_nonblock
    functionSourceFile: /src/curl/lib/curlx/nonblock.c
    functionUses: 13
    functionsReached:
    - sfcntl
    - ioctl
    - setsockopt
    - IoctlSocket
    - ioctlsocket
    linkageType: ''
    returnType: int
    signature: "int curlx_nonblock(curl_socket_t sockfd,    /* operate on this */\n
      \                  int nonblock   /* TRUE or FALSE */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SET_SOCKERRNO
      Src: /src/curl/lib/curlx/wait.c:68,1
    - Dst: delay
      Src: /src/curl/lib/curlx/wait.c:72,1
    - Dst: Sleep
      Src: /src/curl/lib/curlx/wait.c:80,1
    - Dst: select
      Src: /src/curl/lib/curlx/wait.c:86,1
    - Dst: curlx_mstotv
      Src: /src/curl/lib/curlx/wait.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 97
    functionName: curlx_wait_ms
    functionSourceFile: /src/curl/lib/curlx/wait.c
    functionUses: 29
    functionsReached:
    - SET_SOCKERRNO
    - delay
    - select
    - curlx_mstotv
    - Sleep
    linkageType: ''
    returnType: int
    signature: int curlx_wait_ms(timediff_t timeout_ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton4
      Src: /src/curl/lib/curlx/inet_pton.c:81,1
    - Dst: inet_pton6
      Src: /src/curl/lib/curlx/inet_pton.c:83,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/inet_pton.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: curlx_inet_pton
    functionSourceFile: /src/curl/lib/curlx/inet_pton.c
    functionUses: 24
    functionsReached:
    - inet_pton4
    - inet_pton6
    - CURL_SETERRNO
    linkageType: ''
    returnType: int
    signature: int curlx_inet_pton(int af, const char *src, void *dst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISDIGIT
      Src: /src/curl/lib/curlx/inet_pton.c:112,1
    - Dst: memcpy
      Src: /src/curl/lib/curlx/inet_pton.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 139
    functionName: inet_pton4
    functionSourceFile: /src/curl/lib/curlx/inet_pton.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ISDIGIT
    linkageType: ''
    returnType: int
    signature: int inet_pton4(const char *src, unsigned char *dst)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/curlx/inet_pton.c:162,1
    - Dst: ISXDIGIT
      Src: /src/curl/lib/curlx/inet_pton.c:173,1
    - Dst: Curl_hexval
      Src: /src/curl/lib/curlx/inet_pton.c:175,1
    - Dst: inet_pton4
      Src: /src/curl/lib/curlx/inet_pton.c:197,1
    - Dst: memcpy
      Src: /src/curl/lib/curlx/inet_pton.c:228,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 230
    functionName: inet_pton6
    functionSourceFile: /src/curl/lib/curlx/inet_pton.c
    functionUses: 1
    functionsReached:
    - Curl_hexval
    - memcpy
    - ISXDIGIT
    - memset
    - inet_pton4
    linkageType: ''
    returnType: int
    signature: int inet_pton6(const char *src, unsigned char *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fname
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: CURLX_FOPEN_LOW
    functionSourceFile: /src/curl/lib/curlx/fopen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_FOPEN_LOW(fname, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fname
    - ','
    - stp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: curlx_stat
    functionSourceFile: /src/curl/lib/curlx/fopen.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_stat(fname, stp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fname
    - ','
    - stp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: curlx_stat
    functionSourceFile: /src/curl/lib/curlx/fopen.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_stat(fname, stp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - file
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: curlx_fopen
    functionSourceFile: /src/curl/lib/curlx/fopen.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_fopen(file,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - file
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: curlx_fdopen
    functionSourceFile: /src/curl/lib/curlx/fopen.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_fdopen(file,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: curlx_fclose
    functionSourceFile: /src/curl/lib/curlx/fopen.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_fclose(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct Curl_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: curlx_str_init
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curlx_str_init(struct Curl_str *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - str
    - len
    argTypes:
    - struct Curl_str*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: curlx_str_assign
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void curlx_str_assign(struct Curl_str *out, const char *str, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/strparse.c:50,1
    - Dst: curlx_str_init
      Src: /src/curl/lib/curlx/strparse.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - linep
    - out
    - max
    - delim
    argTypes:
    - char**
    - struct Curl_str*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: curlx_str_until
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 13
    functionsReached:
    - DEBUGASSERT
    - curlx_str_init
    linkageType: ''
    returnType: int
    signature: "int curlx_str_until(const char **linep, struct Curl_str *out,\n                    const
      size_t max, char delim)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_until
      Src: /src/curl/lib/curlx/strparse.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linep
    - out
    - max
    argTypes:
    - char**
    - struct Curl_str*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: curlx_str_word
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 3
    functionsReached:
    - curlx_str_until
    linkageType: ''
    returnType: int
    signature: "int curlx_str_word(const char **linep, struct Curl_str *out,\n                   const
      size_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/strparse.c:82,1
    - Dst: curlx_str_init
      Src: /src/curl/lib/curlx/strparse.c:84,1
    - Dst: ISNEWLINE
      Src: /src/curl/lib/curlx/strparse.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - linep
    - out
    - max
    argTypes:
    - char**
    - struct Curl_str*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: curlx_str_untilnl
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 4
    functionsReached:
    - ISNEWLINE
    - DEBUGASSERT
    - curlx_str_init
    linkageType: ''
    returnType: int
    signature: "int curlx_str_untilnl(const char **linep, struct Curl_str *out,\n
      \                     const size_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/strparse.c:106,1
    - Dst: curlx_str_init
      Src: /src/curl/lib/curlx/strparse.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - linep
    - out
    - max
    argTypes:
    - char**
    - struct Curl_str*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: curlx_str_quotedword
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 5
    functionsReached:
    - DEBUGASSERT
    - curlx_str_init
    linkageType: ''
    returnType: int
    signature: "int curlx_str_quotedword(const char **linep, struct Curl_str *out,\n
      \                        const size_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/strparse.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - linep
    - byte
    argTypes:
    - char**
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: curlx_str_single
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 34
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_str_single(const char **linep, char byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_single
      Src: /src/curl/lib/curlx/strparse.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linep
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: curlx_str_singlespace
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 3
    functionsReached:
    - curlx_str_single
    linkageType: ''
    returnType: int
    signature: int curlx_str_singlespace(const char **linep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: valid_digit
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: valid_digit(x,m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/strparse.c:166,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/strparse.c:167,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/strparse.c:168,1
    - Dst: valid_digit
      Src: /src/curl/lib/curlx/strparse.c:171,1
    - Dst: Curl_hexval
      Src: /src/curl/lib/curlx/strparse.c:176,1
    - Dst: valid_digit
      Src: /src/curl/lib/curlx/strparse.c:180,1
    - Dst: Curl_hexval
      Src: /src/curl/lib/curlx/strparse.c:184,1
    - Dst: valid_digit
      Src: /src/curl/lib/curlx/strparse.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - linep
    - nump
    - max
    - base
    argTypes:
    - char**
    - curl_off_t*
    - curl_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: str_num_base
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 0
    functionsReached:
    - Curl_hexval
    - DEBUGASSERT
    - valid_digit
    linkageType: ''
    returnType: int
    signature: "int str_num_base(const char **linep, curl_off_t *nump, curl_off_t
      max,\n                        int base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_num_base
      Src: /src/curl/lib/curlx/strparse.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linep
    - nump
    - max
    argTypes:
    - char**
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: curlx_str_number
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 68
    functionsReached:
    - str_num_base
    linkageType: ''
    returnType: int
    signature: int curlx_str_number(const char **linep, curl_off_t *nump, curl_off_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_num_base
      Src: /src/curl/lib/curlx/strparse.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linep
    - nump
    - max
    argTypes:
    - char**
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: curlx_str_hex
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 5
    functionsReached:
    - str_num_base
    linkageType: ''
    returnType: int
    signature: int curlx_str_hex(const char **linep, curl_off_t *nump, curl_off_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_num_base
      Src: /src/curl/lib/curlx/strparse.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linep
    - nump
    - max
    argTypes:
    - char**
    - curl_off_t*
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: curlx_str_octal
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 5
    functionsReached:
    - str_num_base
    linkageType: ''
    returnType: int
    signature: int curlx_str_octal(const char **linep, curl_off_t *nump, curl_off_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_str_passblanks
      Src: /src/curl/lib/curlx/strparse.c:222,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/curlx/strparse.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - num
    argTypes:
    - char**
    - curl_off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: curlx_str_numblanks
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 8
    functionsReached:
    - curlx_str_number
    - curlx_str_passblanks
    linkageType: ''
    returnType: int
    signature: int curlx_str_numblanks(const char **str, curl_off_t *num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/strparse.c:230,1
    - Dst: ISNEWLINE
      Src: /src/curl/lib/curlx/strparse.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - linep
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: curlx_str_newline
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 4
    functionsReached:
    - ISNEWLINE
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_str_newline(const char **linep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/curlx/strparse.c:243,1
    - Dst: curl_strnequal
      Src: /src/curl/lib/curlx/strparse.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - check
    argTypes:
    - struct Curl_str*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: curlx_str_casecompare
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 11
    functionsReached:
    - strlen
    - curl_strnequal
    linkageType: ''
    returnType: int
    signature: int curlx_str_casecompare(struct Curl_str *str, const char *check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/curlx/strparse.c:252,1
    - Dst: strncmp
      Src: /src/curl/lib/curlx/strparse.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - str
    - check
    argTypes:
    - struct Curl_str*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: curlx_str_cmp
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 3
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int curlx_str_cmp(struct Curl_str *str, const char *check)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - num
    argTypes:
    - struct Curl_str*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: curlx_str_nudge
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int curlx_str_nudge(struct Curl_str *str, size_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/strparse.c:277,1
    - Dst: strcspn
      Src: /src/curl/lib/curlx/strparse.c:279,1
    - Dst: curlx_str_init
      Src: /src/curl/lib/curlx/strparse.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - linep
    - out
    - reject
    argTypes:
    - char**
    - struct Curl_str*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 288
    functionName: curlx_str_cspn
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 5
    functionsReached:
    - DEBUGASSERT
    - curlx_str_init
    - strcspn
    linkageType: ''
    returnType: int
    signature: "int curlx_str_cspn(const char **linep, struct Curl_str *out,\n                   const
      char *reject)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/curl/lib/curlx/strparse.c:293,1
    - Dst: curlx_str_nudge
      Src: /src/curl/lib/curlx/strparse.c:294,1
    - Dst: ISBLANK
      Src: /src/curl/lib/curlx/strparse.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct Curl_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: curlx_str_trimblanks
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 7
    functionsReached:
    - curlx_str_nudge
    - ISBLANK
    linkageType: ''
    returnType: void
    signature: void curlx_str_trimblanks(struct Curl_str *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISBLANK
      Src: /src/curl/lib/curlx/strparse.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - linep
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: curlx_str_passblanks
    functionSourceFile: /src/curl/lib/curlx/strparse.c
    functionUses: 26
    functionsReached:
    - ISBLANK
    linkageType: ''
    returnType: void
    signature: void curlx_str_passblanks(const char **linep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ulnum
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: curlx_ultouc
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char curlx_ultouc(unsigned long ulnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: curlx_uztosi
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 9
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_uztosi(size_t uznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: curlx_uztoul
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 14
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long curlx_uztoul(size_t uznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: curlx_uztoui
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 27
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int curlx_uztoui(size_t uznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:143,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - slnum
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: curlx_sltosi
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_sltosi(long slnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:165,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - slnum
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: curlx_sltoui
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int curlx_sltoui(long slnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:187,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - slnum
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: curlx_sltous
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short curlx_sltous(long slnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uznum
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: curlx_uztosz
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t curlx_uztosz(size_t uznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sonum
    argTypes:
    - curl_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: curlx_sotouz
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 12
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t curlx_sotouz(curl_off_t sonum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:245,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sznum
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: curlx_sztosi
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 3
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int curlx_sztosi(ssize_t sznum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uinum
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: curlx_uitous
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 2
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short curlx_uitous(unsigned int uinum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/warnless.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sinum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: curlx_sitouz
    functionSourceFile: /src/curl/lib/curlx/warnless.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t curlx_sitouz(int sinum)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/curlx/base64.c:83,1
    - Dst: malloc
      Src: /src/curl/lib/curlx/base64.c:106,1
    - Dst: memset
      Src: /src/curl/lib/curlx/base64.c:112,1
    - Dst: memcpy
      Src: /src/curl/lib/curlx/base64.c:113,1
    - Dst: free
      Src: /src/curl/lib/curlx/base64.c:168,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src
    - outptr
    - outlen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 170
    functionName: curlx_base64_decode
    functionSourceFile: /src/curl/lib/curlx/base64.c
    functionUses: 11
    functionsReached:
    - strlen
    - malloc
    - memcpy
    - free
    - memset
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curlx_base64_decode(const char *src,\n                             unsigned
      char **outptr, size_t *outlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/curl/lib/curlx/base64.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 6
    argNames:
    - table64
    - padbyte
    - inputbuff
    - insize
    - outptr
    - outlen
    argTypes:
    - char*
    - unsigned char
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 233
    functionName: base64_encode
    functionSourceFile: /src/curl/lib/curlx/base64.c
    functionUses: 17
    functionsReached:
    - malloc
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode base64_encode(const char *table64,\n                              unsigned
      char padbyte,\n                              const char *inputbuff, size_t insize,\n
      \                             char **outptr, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode
      Src: /src/curl/lib/curlx/base64.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - inputbuff
    - insize
    - outptr
    - outlen
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: curlx_base64_encode
    functionSourceFile: /src/curl/lib/curlx/base64.c
    functionUses: 17
    functionsReached:
    - base64_encode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curlx_base64_encode(const char *inputbuff, size_t insize,\n
      \                            char **outptr, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_encode
      Src: /src/curl/lib/curlx/base64.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - inputbuff
    - insize
    - outptr
    - outlen
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: curlx_base64url_encode
    functionSourceFile: /src/curl/lib/curlx/base64.c
    functionUses: 2
    functionsReached:
    - base64_encode
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode curlx_base64url_encode(const char *inputbuff, size_t insize,\n
      \                               char **outptr, size_t *outlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessageW
      Src: /src/curl/lib/curlx/winapi.c:66,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/curlx/winapi.c:68,1
    - Dst: wcstombs
      Src: /src/curl/lib/curlx/winapi.c:69,1
    - Dst: strchr
      Src: /src/curl/lib/curlx/winapi.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - DWORD
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 86
    functionName: curlx_get_winapi_error
    functionSourceFile: /src/curl/lib/curlx/winapi.c
    functionUses: 1
    functionsReached:
    - CURL_ARRAYSIZE
    - wcstombs
    - strchr
    - FormatMessageW
    linkageType: ''
    returnType: char
    signature: char *curlx_get_winapi_error(DWORD err, char *buf, size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/curl/lib/curlx/winapi.c:90,1
    - Dst: curlx_get_winapi_error
      Src: /src/curl/lib/curlx/winapi.c:99,1
    - Dst: SNPRINTF
      Src: /src/curl/lib/curlx/winapi.c:106,1
    - Dst: strlen
      Src: /src/curl/lib/curlx/winapi.c:115,1
    - Dst: strcpy
      Src: /src/curl/lib/curlx/winapi.c:116,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/winapi.c:121,1
    - Dst: GetLastError
      Src: /src/curl/lib/curlx/winapi.c:123,1
    - Dst: SetLastError
      Src: /src/curl/lib/curlx/winapi.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - DWORD
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 127
    functionName: curlx_winapi_strerror
    functionSourceFile: /src/curl/lib/curlx/winapi.c
    functionUses: 4
    functionsReached:
    - SetLastError
    - CURL_SETERRNO
    - strlen
    - SNPRINTF
    - curlx_get_winapi_error
    - GetLastError
    - strcpy
    linkageType: ''
    returnType: char
    signature: char *curlx_winapi_strerror(DWORD err, char *buf, size_t buflen)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _tcsncmp
      Src: /src/curl/lib/curlx/fopen.c:81,1
    - Dst: _T
      Src: /src/curl/lib/curlx/fopen.c:81,1
    - Dst: mbstowcs
      Src: /src/curl/lib/curlx/fopen.c:86,1
    - Dst: mbstowcs
      Src: /src/curl/lib/curlx/fopen.c:93,1
    - Dst: GetFullPathNameW
      Src: /src/curl/lib/curlx/fopen.c:104,1
    - Dst: GetFullPathNameW
      Src: /src/curl/lib/curlx/fopen.c:113,1
    - Dst: wcsncmp
      Src: /src/curl/lib/curlx/fopen.c:126,1
    - Dst: wcsncmp
      Src: /src/curl/lib/curlx/fopen.c:128,1
    - Dst: wcsncmp
      Src: /src/curl/lib/curlx/fopen.c:130,1
    - Dst: wcsncmp
      Src: /src/curl/lib/curlx/fopen.c:130,1
    - Dst: wcsncmp
      Src: /src/curl/lib/curlx/fopen.c:137,1
    - Dst: wcsncpy
      Src: /src/curl/lib/curlx/fopen.c:147,1
    - Dst: wcscpy
      Src: /src/curl/lib/curlx/fopen.c:148,1
    - Dst: wcsncpy
      Src: /src/curl/lib/curlx/fopen.c:160,1
    - Dst: wcscpy
      Src: /src/curl/lib/curlx/fopen.c:161,1
    - Dst: wcstombs
      Src: /src/curl/lib/curlx/fopen.c:170,1
    - Dst: wcstombs
      Src: /src/curl/lib/curlx/fopen.c:177,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 92
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TCHAR*
    - TCHAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 194
    functionName: fix_excessive_path
    functionSourceFile: /src/curl/lib/curlx/fopen.c
    functionUses: 0
    functionsReached:
    - _tcsncmp
    - wcscpy
    - mbstowcs
    - _T
    - wcstombs
    - wcsncmp
    - GetFullPathNameW
    - wcsncpy
    linkageType: ''
    returnType: bool
    signature: bool fix_excessive_path(const TCHAR *in, TCHAR **out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/curl/lib/curlx/fopen.c:204,1
    - Dst: va_start
      Src: /src/curl/lib/curlx/fopen.c:208,1
    - Dst: va_arg
      Src: /src/curl/lib/curlx/fopen.c:210,1
    - Dst: va_end
      Src: /src/curl/lib/curlx/fopen.c:211,1
    - Dst: fix_excessive_path
      Src: /src/curl/lib/curlx/fopen.c:215,1
    - Dst: _wopen
      Src: /src/curl/lib/curlx/fopen.c:219,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/curlx/fopen.c:220,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/fopen.c:224,1
    - Dst: fix_excessive_path
      Src: /src/curl/lib/curlx/fopen.c:226,1
    - Dst: _open
      Src: /src/curl/lib/curlx/fopen.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - filename
    - oflag
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 235
    functionName: curlx_win32_open
    functionSourceFile: /src/curl/lib/curlx/fopen.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - _open
    - va_start
    - fix_excessive_path
    - _wopen
    - va_end
    - curlx_convert_UTF8_to_wchar
    - curlx_unicodefree
    - va_arg
    linkageType: ''
    returnType: int
    signature: int curlx_win32_open(const char *filename, int oflag, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/curl/lib/curlx/fopen.c:244,1
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/curl/lib/curlx/fopen.c:245,1
    - Dst: fix_excessive_path
      Src: /src/curl/lib/curlx/fopen.c:247,1
    - Dst: _wfopen
      Src: /src/curl/lib/curlx/fopen.c:251,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/fopen.c:255,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/curlx/fopen.c:256,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/curlx/fopen.c:257,1
    - Dst: fix_excessive_path
      Src: /src/curl/lib/curlx/fopen.c:259,1
    - Dst: fopen
      Src: /src/curl/lib/curlx/fopen.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 269
    functionName: curlx_win32_fopen
    functionSourceFile: /src/curl/lib/curlx/fopen.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - fix_excessive_path
    - _wfopen
    - fopen
    - curlx_convert_UTF8_to_wchar
    - curlx_unicodefree
    linkageType: ''
    returnType: FILE
    signature: FILE *curlx_win32_fopen(const char *filename, const char *mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curlx_convert_UTF8_to_wchar
      Src: /src/curl/lib/curlx/fopen.c:278,1
    - Dst: fix_excessive_path
      Src: /src/curl/lib/curlx/fopen.c:280,1
    - Dst: _wstat
      Src: /src/curl/lib/curlx/fopen.c:285,1
    - Dst: _wstati64
      Src: /src/curl/lib/curlx/fopen.c:287,1
    - Dst: curlx_unicodefree
      Src: /src/curl/lib/curlx/fopen.c:289,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/fopen.c:293,1
    - Dst: fix_excessive_path
      Src: /src/curl/lib/curlx/fopen.c:295,1
    - Dst: _stat
      Src: /src/curl/lib/curlx/fopen.c:300,1
    - Dst: _stati64
      Src: /src/curl/lib/curlx/fopen.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 308
    functionName: curlx_win32_stat
    functionSourceFile: /src/curl/lib/curlx/fopen.c
    functionUses: 1
    functionsReached:
    - _stat
    - CURL_SETERRNO
    - _wstat
    - _stati64
    - fix_excessive_path
    - _wstati64
    - curlx_convert_UTF8_to_wchar
    - curlx_unicodefree
    linkageType: ''
    returnType: int
    signature: int curlx_win32_stat(const char *path, struct_stat *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - target_type
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: CURLX_FUNCTION_CAST
    functionSourceFile: /src/curl/lib/curlx/warnless.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_FUNCTION_CAST(target_type, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: read
    functionSourceFile: /src/curl/lib/curlx/warnless.h
    functionUses: 147
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read(fd, buf, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: write
    functionSourceFile: /src/curl/lib/curlx/warnless.h
    functionUses: 187
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write(fd, buf, count)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - tv
    - ms
    argTypes:
    - struct timeval*
    - timediff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: curlx_mstotv
    functionSourceFile: /src/curl/lib/curlx/timediff.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval *curlx_mstotv(struct timeval *tv, timediff_t ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: curlx_tvtoms
    functionSourceFile: /src/curl/lib/curlx/timediff.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: timediff_t
    signature: timediff_t curlx_tvtoms(struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: CURLX_SET_BINMODE
    functionSourceFile: /src/curl/lib/curlx/binmode.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_SET_BINMODE(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: CURLX_SET_BINMODE
    functionSourceFile: /src/curl/lib/curlx/binmode.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_SET_BINMODE(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CURLX_SET_BINMODE
    functionSourceFile: /src/curl/lib/curlx/binmode.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURLX_SET_BINMODE(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: curlx_str
    functionSourceFile: /src/curl/lib/curlx/strparse.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_str(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: curlx_strlen
    functionSourceFile: /src/curl/lib/curlx/strparse.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_strlen(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: Curl_hexval
    functionSourceFile: /src/curl/lib/curlx/strparse.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_hexval(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/curl/lib/curlx/multibyte.c:48,1
    - Dst: MultiByteToWideChar
      Src: /src/curl/lib/curlx/multibyte.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - str_utf8
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: curlx_convert_UTF8_to_wchar
    functionSourceFile: /src/curl/lib/curlx/multibyte.c
    functionUses: 5
    functionsReached:
    - MultiByteToWideChar
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *curlx_convert_UTF8_to_wchar(const char *str_utf8)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/curl/lib/curlx/multibyte.c:70,1
    - Dst: WideCharToMultiByte
      Src: /src/curl/lib/curlx/multibyte.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - str_w
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: curlx_convert_wchar_to_UTF8
    functionSourceFile: /src/curl/lib/curlx/multibyte.c
    functionUses: 2
    functionsReached:
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: char *curlx_convert_wchar_to_UTF8(const wchar_t *str_w)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/curl/lib/curlx/version_win32.c:83,1
    - Dst: CURLX_FUNCTION_CAST
      Src: /src/curl/lib/curlx/version_win32.c:141,1
    - Dst: GetProcAddress
      Src: /src/curl/lib/curlx/version_win32.c:142,1
    - Dst: GetModuleHandleA
      Src: /src/curl/lib/curlx/version_win32.c:142,1
    - Dst: memset
      Src: /src/curl/lib/curlx/version_win32.c:194,1
    - Dst: VerSetConditionMask
      Src: /src/curl/lib/curlx/version_win32.c:204,1
    - Dst: VerSetConditionMask
      Src: /src/curl/lib/curlx/version_win32.c:205,1
    - Dst: VerSetConditionMask
      Src: /src/curl/lib/curlx/version_win32.c:206,1
    - Dst: VerSetConditionMask
      Src: /src/curl/lib/curlx/version_win32.c:207,1
    - Dst: VerSetConditionMask
      Src: /src/curl/lib/curlx/version_win32.c:210,1
    - Dst: pRtlVerifyVersionInfo
      Src: /src/curl/lib/curlx/version_win32.c:220,1
    - Dst: VerifyVersionInfoW
      Src: /src/curl/lib/curlx/version_win32.c:222,1
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/curlx/version_win32.c:233,1
    - Dst: VerSetConditionMask
      Src: /src/curl/lib/curlx/version_win32.c:236,1
    - Dst: pRtlVerifyVersionInfo
      Src: /src/curl/lib/curlx/version_win32.c:239,1
    - Dst: VerifyVersionInfoW
      Src: /src/curl/lib/curlx/version_win32.c:241,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 98
    argCount: 5
    argNames:
    - majorVersion
    - minorVersion
    - buildVersion
    - platform
    - condition
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    - PlatformIdentifier
    - VersionCondition
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 248
    functionName: curlx_verify_windows_version
    functionSourceFile: /src/curl/lib/curlx/version_win32.c
    functionUses: 9
    functionsReached:
    - curlx_verify_windows_version
    - GetModuleHandleA
    - VerSetConditionMask
    - GetProcAddress
    - CURLX_FUNCTION_CAST
    - pRtlVerifyVersionInfo
    - VerifyVersionInfoW
    - memset
    - MAKEWORD
    linkageType: ''
    returnType: bool
    signature: "bool curlx_verify_windows_version(const unsigned int majorVersion,\n
      \                                 const unsigned int minorVersion,\n                                  const
      unsigned int buildVersion,\n                                  const PlatformIdentifier
      platform,\n                                  const VersionCondition condition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:44,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:45,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - s
    - toobig
    argTypes:
    - struct dynbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: curlx_dyn_init
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 103
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void curlx_dyn_init(struct dynbuf *s, size_t toobig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:62,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:63,1
    - Dst: Curl_safefree
      Src: /src/curl/lib/curlx/dynbuf.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: curlx_dyn_free
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 97
    functionsReached:
    - Curl_safefree
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void curlx_dyn_free(struct dynbuf *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:79,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:80,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:81,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:82,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:83,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:84,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/curlx/dynbuf.c:87,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:91,1
    - Dst: realloc
      Src: /src/curl/lib/curlx/dynbuf.c:111,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/curlx/dynbuf.c:113,1
    - Dst: memcpy
      Src: /src/curl/lib/curlx/dynbuf.c:121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - s
    - mem
    - len
    argTypes:
    - struct dynbuf*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 125
    functionName: dyn_nappend
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 0
    functionsReached:
    - curlx_dyn_free
    - realloc
    - DEBUGASSERT
    - memcpy
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode dyn_nappend(struct dynbuf *s,\n                            const
      unsigned char *mem, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:133,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:134,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: curlx_dyn_reset
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 47
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void curlx_dyn_reset(struct dynbuf *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:147,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:148,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:149,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/curlx/dynbuf.c:155,1
    - Dst: memmove
      Src: /src/curl/lib/curlx/dynbuf.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - trail
    argTypes:
    - struct dynbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 164
    functionName: curlx_dyn_tail
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 7
    functionsReached:
    - memmove
    - DEBUGASSERT
    - curlx_dyn_reset
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_tail(struct dynbuf *s, size_t trail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:171,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:172,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:173,1
    - Dst: dyn_nappend
      Src: /src/curl/lib/curlx/dynbuf.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - mem
    - len
    argTypes:
    - struct dynbuf*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: curlx_dyn_addn
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 97
    functionsReached:
    - DEBUGASSERT
    - dyn_nappend
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_addn(struct dynbuf *s, const void *mem, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:183,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:184,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:185,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:186,1
    - Dst: strlen
      Src: /src/curl/lib/curlx/dynbuf.c:187,1
    - Dst: dyn_nappend
      Src: /src/curl/lib/curlx/dynbuf.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - struct dynbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: curlx_dyn_add
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 36
    functionsReached:
    - strlen
    - DEBUGASSERT
    - dyn_nappend
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_add(struct dynbuf *s, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:198,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:199,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:200,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:201,1
    - Dst: curlx_dyn_vprintf
      Src: /src/curl/lib/curlx/dynbuf.c:202,1
    - Dst: curl_mvaprintf
      Src: /src/curl/lib/curlx/dynbuf.c:211,1
    - Dst: dyn_nappend
      Src: /src/curl/lib/curlx/dynbuf.c:214,1
    - Dst: strlen
      Src: /src/curl/lib/curlx/dynbuf.c:214,1
    - Dst: free
      Src: /src/curl/lib/curlx/dynbuf.c:215,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/curlx/dynbuf.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - s
    - fmt
    - ap
    argTypes:
    - struct dynbuf*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 222
    functionName: curlx_dyn_vaddf
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 1
    functionsReached:
    - strlen
    - dyn_nappend
    - free
    - curlx_dyn_free
    - curlx_dyn_vprintf
    - curl_mvaprintf
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_vaddf(struct dynbuf *s, const char *fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:231,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:232,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:233,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:234,1
    - Dst: strcmp
      Src: /src/curl/lib/curlx/dynbuf.c:234,1
    - Dst: va_start
      Src: /src/curl/lib/curlx/dynbuf.c:235,1
    - Dst: curlx_dyn_vaddf
      Src: /src/curl/lib/curlx/dynbuf.c:236,1
    - Dst: va_end
      Src: /src/curl/lib/curlx/dynbuf.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - struct dynbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: curlx_dyn_addf
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 44
    functionsReached:
    - curlx_dyn_vaddf
    - va_start
    - strcmp
    - va_end
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_addf(struct dynbuf *s, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:246,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:247,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: curlx_dyn_ptr
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 137
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: char *curlx_dyn_ptr(const struct dynbuf *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:255,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - s
    - plen
    argTypes:
    - struct dynbuf*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: curlx_dyn_take
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 1
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: char
    signature: char *curlx_dyn_take(struct dynbuf *s, size_t *plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:269,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:270,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: curlx_dyn_uptr
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 5
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *curlx_dyn_uptr(const struct dynbuf *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:280,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:281,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct dynbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: curlx_dyn_len
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 88
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t curlx_dyn_len(const struct dynbuf *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:291,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:292,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/dynbuf.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - set
    argTypes:
    - struct dynbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: curlx_dyn_setlen
    functionSourceFile: /src/curl/lib/curlx/dynbuf.c
    functionUses: 5
    functionsReached:
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode curlx_dyn_setlen(struct dynbuf *s, size_t set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curlx_verify_windows_version
      Src: /src/curl/lib/curlx/timeval.c:40,1
    - Dst: QueryPerformanceFrequency
      Src: /src/curl/lib/curlx/timeval.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: curlx_now_init
    functionSourceFile: /src/curl/lib/curlx/timeval.c
    functionUses: 3
    functionsReached:
    - curlx_verify_windows_version
    - QueryPerformanceFrequency
    linkageType: ''
    returnType: void
    signature: void curlx_now_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/timeval.c:59,1
    - Dst: QueryPerformanceCounter
      Src: /src/curl/lib/curlx/timeval.c:60,1
    - Dst: GetTickCount
      Src: /src/curl/lib/curlx/timeval.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 80
    functionName: curlx_now
    functionSourceFile: /src/curl/lib/curlx/timeval.c
    functionUses: 109
    functionsReached:
    - DEBUGASSERT
    - QueryPerformanceCounter
    - GetTickCount
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime curlx_now(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mach_timebase_info
      Src: /src/curl/lib/curlx/timeval.c:172,1
    - Dst: mach_absolute_time
      Src: /src/curl/lib/curlx/timeval.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: curlx_now
    functionSourceFile: /src/curl/lib/curlx/timeval.c
    functionUses: 109
    functionsReached:
    - mach_absolute_time
    - mach_timebase_info
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime curlx_now(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/curl/lib/curlx/timeval.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: curlx_now
    functionSourceFile: /src/curl/lib/curlx/timeval.c
    functionUses: 109
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime curlx_now(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/curl/lib/curlx/timeval.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: curlx_now
    functionSourceFile: /src/curl/lib/curlx/timeval.c
    functionUses: 109
    functionsReached:
    - time
    linkageType: ''
    returnType: struct curltime
    signature: struct curltime curlx_now(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - newer
    - older
    argTypes:
    - struct curltime
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: curlx_timediff
    functionSourceFile: /src/curl/lib/curlx/timeval.c
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: timediff_t
    signature: timediff_t curlx_timediff(struct curltime newer, struct curltime older)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - newer
    - older
    argTypes:
    - struct curltime
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: curlx_timediff_ceil
    functionSourceFile: /src/curl/lib/curlx/timeval.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: timediff_t
    signature: timediff_t curlx_timediff_ceil(struct curltime newer, struct curltime
      older)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - newer
    - older
    argTypes:
    - struct curltime
    - struct curltime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: curlx_timediff_us
    functionSourceFile: /src/curl/lib/curlx/timeval.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: timediff_t
    signature: timediff_t curlx_timediff_us(struct curltime newer, struct curltime
      older)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: curlx_inet_pton
    functionSourceFile: /src/curl/lib/curlx/inet_pton.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_inet_pton(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: curlx_inet_pton
    functionSourceFile: /src/curl/lib/curlx/inet_pton.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_inet_pton(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - af
    - ','
    - addr
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: curlx_inet_ntop
    functionSourceFile: /src/curl/lib/curlx/inet_ntop.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_inet_ntop(af,addr,buf,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - af
    - ','
    - addr
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: curlx_inet_ntop
    functionSourceFile: /src/curl/lib/curlx/inet_ntop.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: curlx_inet_ntop(af,addr,buf,size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/curlx/inet_ntop.c:62,1
    - Dst: strlen
      Src: /src/curl/lib/curlx/inet_ntop.c:72,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/inet_ntop.c:75,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/inet_ntop.c:77,1
    - Dst: strcpy
      Src: /src/curl/lib/curlx/inet_ntop.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: inet_ntop4
    functionSourceFile: /src/curl/lib/curlx/inet_ntop.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - strlen
    - DEBUGASSERT
    - strcpy
    linkageType: ''
    returnType: char
    signature: char *inet_ntop4(const unsigned char *src, char *dst, size_t size)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/curl/lib/curlx/inet_ntop.c:110,1
    - Dst: inet_ntop4
      Src: /src/curl/lib/curlx/inet_ntop.c:156,1
    - Dst: strlen
      Src: /src/curl/lib/curlx/inet_ntop.c:159,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/inet_ntop.c:189,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/inet_ntop.c:191,1
    - Dst: strcpy
      Src: /src/curl/lib/curlx/inet_ntop.c:195,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 61
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - unsigned char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 197
    functionName: inet_ntop6
    functionSourceFile: /src/curl/lib/curlx/inet_ntop.c
    functionUses: 0
    functionsReached:
    - CURL_SETERRNO
    - strlen
    - inet_ntop4
    - memset
    - strcpy
    linkageType: ''
    returnType: char
    signature: char *inet_ntop6(const unsigned char *src, char *dst, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop4
      Src: /src/curl/lib/curlx/inet_ntop.c:214,1
    - Dst: inet_ntop6
      Src: /src/curl/lib/curlx/inet_ntop.c:216,1
    - Dst: CURL_SETERRNO
      Src: /src/curl/lib/curlx/inet_ntop.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - af
    - src
    - buf
    - size
    argTypes:
    - int
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: curlx_inet_ntop
    functionSourceFile: /src/curl/lib/curlx/inet_ntop.c
    functionUses: 7
    functionsReached:
    - inet_ntop6
    - inet_ntop4
    - CURL_SETERRNO
    linkageType: ''
    returnType: char
    signature: char *curlx_inet_ntop(int af, const void *src, char *buf, size_t size)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/curl/lib/curlx/strerr.c:245,1
    - Dst: strcpy
      Src: /src/curl/lib/curlx/strerr.c:247,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 165
    argCount: 3
    argNames:
    - err
    - buf
    - len
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 250
    functionName: get_winsock_error
    functionSourceFile: /src/curl/lib/curlx/strerr.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      get_winsock_error(int err, char *buf, size_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: Curl_vquic_init
    functionSourceFile: /src/curl/lib/vquic/vquic.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Curl_vquic_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 136
    functionName: osslq_SSL_ERROR_to_str
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *osslq_SSL_ERROR_to_str(int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:141,1
    - Dst: ERR_error_string_n
      Src: /src/curl/lib/vquic/curl_osslq.c:145,1
    - Dst: ERR_error_string_n
      Src: /src/curl/lib/vquic/curl_osslq.c:147,1
    - Dst: strlen
      Src: /src/curl/lib/vquic/curl_osslq.c:152,1
    - Dst: strcpy
      Src: /src/curl/lib/vquic/curl_osslq.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - error
    - buf
    - size
    argTypes:
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: osslq_strerror
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - strlen
    - DEBUGASSERT
    - ERR_error_string_n
    - strcpy
    linkageType: ''
    returnType: char
    signature: char *osslq_strerror(unsigned long error, char *buf, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_new
      Src: /src/curl/lib/vquic/curl_osslq.c:165,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vquic/curl_osslq.c:174,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/curl/lib/vquic/curl_osslq.c:175,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vquic/curl_osslq.c:185,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/curl/lib/vquic/curl_osslq.c:186,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:196,1
    - Dst: BIO_ADDR_free
      Src: /src/curl/lib/vquic/curl_osslq.c:202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - pbio_addr
    - addr
    argTypes:
    - BIO_ADDR**
    - struct Curl_sockaddr_ex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 207
    functionName: make_bio_addr
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_UNCONST
    - BIO_ADDR_new
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode make_bio_addr(BIO_ADDR **pbio_addr,\n                              const
      struct Curl_sockaddr_ex *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:226,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/lib/vquic/curl_osslq.c:227,1
    - Dst: SSL_new_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:228,1
    - Dst: SSL_get_stream_id
      Src: /src/curl/lib/vquic/curl_osslq.c:232,1
    - Dst: SSL_set_app_data
      Src: /src/curl/lib/vquic/curl_osslq.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - s
    - conn
    - flags
    - bufcp
    - user_data
    argTypes:
    - struct cf_osslq_stream*
    - SSL*
    - uint64_t
    - struct bufc_pool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: cf_osslq_stream_open
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_set_app_data
    - Curl_bufq_initp
    - SSL_get_stream_id
    - SSL_new_stream
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_stream_open(struct cf_osslq_stream *s,\n                                     SSL
      *conn,\n                                     uint64_t flags,\n                                     struct
      bufc_pool *bufcp,\n                                     void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_app_data
      Src: /src/curl/lib/vquic/curl_osslq.c:240,1
    - Dst: SSL_free
      Src: /src/curl/lib/vquic/curl_osslq.c:241,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/vquic/curl_osslq.c:243,1
    - Dst: memset
      Src: /src/curl/lib/vquic/curl_osslq.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct cf_osslq_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: cf_osslq_stream_cleanup
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_bufq_free
    - SSL_set_app_data
    - SSL_free
    - memset
    linkageType: ''
    returnType: void
    signature: void cf_osslq_stream_cleanup(struct cf_osslq_stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/curl/lib/vquic/curl_osslq.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct cf_osslq_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: cf_osslq_stream_close
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void cf_osslq_stream_close(struct cf_osslq_stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_del
      Src: /src/curl/lib/vquic/curl_osslq.c:270,1
    - Dst: cf_osslq_stream_cleanup
      Src: /src/curl/lib/vquic/curl_osslq.c:271,1
    - Dst: cf_osslq_stream_cleanup
      Src: /src/curl/lib/vquic/curl_osslq.c:272,1
    - Dst: cf_osslq_stream_cleanup
      Src: /src/curl/lib/vquic/curl_osslq.c:273,1
    - Dst: cf_osslq_stream_cleanup
      Src: /src/curl/lib/vquic/curl_osslq.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h3
    argTypes:
    - struct cf_osslq_h3conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: cf_osslq_h3conn_cleanup
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - cf_osslq_stream_cleanup
    - nghttp3_conn_del
    linkageType: ''
    returnType: void
    signature: void cf_osslq_h3conn_cleanup(struct cf_osslq_h3conn *h3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:306,1
    - Dst: Curl_bufcp_init
      Src: /src/curl/lib/vquic/curl_osslq.c:307,1
    - Dst: Curl_uint_hash_init
      Src: /src/curl/lib/vquic/curl_osslq.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_osslq_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: cf_osslq_ctx_init
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_init
    - Curl_bufcp_init
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void cf_osslq_ctx_init(struct cf_osslq_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufcp_free
      Src: /src/curl/lib/vquic/curl_osslq.c:319,1
    - Dst: Curl_uint_hash_destroy
      Src: /src/curl/lib/vquic/curl_osslq.c:320,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/curl/lib/vquic/curl_osslq.c:321,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_osslq.c:322,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_osslq.c:323,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_osslq.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_osslq_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 5
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: cf_osslq_ctx_free
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_ssl_peer_cleanup
    - Curl_uint_hash_destroy
    - Curl_bufcp_free
    linkageType: ''
    returnType: void
    signature: void cf_osslq_ctx_free(struct cf_osslq_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_osslq_h3conn_cleanup
      Src: /src/curl/lib/vquic/curl_osslq.c:332,1
    - Dst: Curl_vquic_tls_cleanup
      Src: /src/curl/lib/vquic/curl_osslq.c:333,1
    - Dst: vquic_ctx_free
      Src: /src/curl/lib/vquic/curl_osslq.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_osslq_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: cf_osslq_ctx_close
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_vquic_tls_cleanup
    - cf_osslq_h3conn_cleanup
    - vquic_ctx_free
    linkageType: ''
    returnType: void
    signature: void cf_osslq_ctx_close(struct cf_osslq_ctx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_osslq.c:346,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_osslq.c:353,1
    - Dst: SSL_shutdown_ex
      Src: /src/curl/lib/vquic/curl_osslq.c:358,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:361,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:366,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vquic/curl_osslq.c:373,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:378,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:384,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:388,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vquic/curl_osslq.c:393,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:394,1
    - Dst: osslq_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:396,1
    - Dst: osslq_SSL_ERROR_to_str
      Src: /src/curl/lib/vquic/curl_osslq.c:397,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_osslq.c:405,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 407
    functionName: cf_osslq_shutdown
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - osslq_SSL_ERROR_to_str
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - SSL_shutdown_ex
    - osslq_strerror
    - SSL_get_error
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_shutdown(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data, bool *done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_osslq.c:414,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:416,1
    - Dst: SSL_shutdown_ex
      Src: /src/curl/lib/vquic/curl_osslq.c:419,1
    - Dst: cf_osslq_ctx_close
      Src: /src/curl/lib/vquic/curl_osslq.c:423,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_osslq.c:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 428
    functionName: cf_osslq_close
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - cf_osslq_ctx_close
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - SSL_shutdown_ex
    - CF_DATA_SAVE
    linkageType: ''
    returnType: void
    signature: void cf_osslq_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_osslq.c:435,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:436,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:438,1
    - Dst: cf_osslq_ctx_close
      Src: /src/curl/lib/vquic/curl_osslq.c:440,1
    - Dst: cf_osslq_ctx_free
      Src: /src/curl/lib/vquic/curl_osslq.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 430
    functionDepth: 6
    functionLinenumber: 430
    functionLinenumberEnd: 446
    functionName: cf_osslq_destroy
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - cf_osslq_ctx_close
    - cf_osslq_ctx_free
    - CURL_TRC_CF
    - CF_DATA_SAVE
    linkageType: ''
    returnType: void
    signature: void cf_osslq_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_stream_id
      Src: /src/curl/lib/vquic/curl_osslq.c:454,1
    - Dst: SSL_get_stream_type
      Src: /src/curl/lib/vquic/curl_osslq.c:455,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/vquic/curl_osslq.c:463,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:465,1
    - Dst: SSL_free
      Src: /src/curl/lib/vquic/curl_osslq.c:467,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/lib/vquic/curl_osslq.c:473,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:474,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:479,1
    - Dst: SSL_free
      Src: /src/curl/lib/vquic/curl_osslq.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - h3
    - stream_ssl
    - cf
    - data
    argTypes:
    - struct cf_osslq_h3conn*
    - SSL*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 485
    functionName: cf_osslq_h3conn_add_stream
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_bufq_initp
    - SSL_get_stream_id
    - SSL_get_stream_type
    - CURL_ARRAYSIZE
    - SSL_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_h3conn_add_stream(struct cf_osslq_h3conn *h3,\n
      \                                          SSL *stream_ssl,\n                                           struct
      Curl_cfilter *cf,\n                                           struct Curl_easy
      *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vquic/curl_osslq.c:499,1
    - Dst: ERR_get_error
      Src: /src/curl/lib/vquic/curl_osslq.c:501,1
    - Dst: ERR_GET_LIB
      Src: /src/curl/lib/vquic/curl_osslq.c:502,1
    - Dst: ERR_GET_REASON
      Src: /src/curl/lib/vquic/curl_osslq.c:503,1
    - Dst: SSL_get_verify_result
      Src: /src/curl/lib/vquic/curl_osslq.c:510,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vquic/curl_osslq.c:513,1
    - Dst: X509_verify_cert_error_string
      Src: /src/curl/lib/vquic/curl_osslq.c:515,1
    - Dst: osslq_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:528,1
    - Dst: osslq_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - cf
    - data
    - detail
    - def_result
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - CURLcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 487
    functionDepth: 6
    functionLinenumber: 487
    functionLinenumberEnd: 539
    functionName: cf_osslq_ssl_err
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - SSL_get_verify_result
    - curl_msnprintf
    - ERR_GET_LIB
    - X509_verify_cert_error_string
    - ERR_GET_REASON
    - Curl_ssl_cf_get_config
    - osslq_strerror
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_ssl_err(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 int detail, CURLcode def_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vquic_tls_verify_peer
      Src: /src/curl/lib/vquic/curl_osslq.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 571
    functionName: cf_osslq_verify_peer
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_vquic_tls_verify_peer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_verify_peer(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_osslq_stream_cleanup
      Src: /src/curl/lib/vquic/curl_osslq.c:596,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/vquic/curl_osslq.c:597,1
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/vquic/curl_osslq.c:598,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/curl/lib/vquic/curl_osslq.c:599,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_osslq.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h3_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 601
    functionName: h3_stream_ctx_free
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - free
    - Curl_bufq_free
    - Curl_h1_req_parse_free
    - cf_osslq_stream_cleanup
    linkageType: ''
    returnType: void
    signature: void h3_stream_ctx_free(struct h3_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:606,1
    - Dst: h3_stream_ctx_free
      Src: /src/curl/lib/vquic/curl_osslq.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - stream
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: h3_stream_hash_free
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - h3_stream_ctx_free
    linkageType: ''
    returnType: void
    signature: void h3_stream_hash_free(unsigned int id, void *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:614,1
    - Dst: calloc
      Src: /src/curl/lib/vquic/curl_osslq.c:622,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/lib/vquic/curl_osslq.c:628,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/lib/vquic/curl_osslq.c:633,1
    - Dst: Curl_h1_req_parse_init
      Src: /src/curl/lib/vquic/curl_osslq.c:636,1
    - Dst: Curl_uint_hash_set
      Src: /src/curl/lib/vquic/curl_osslq.c:638,1
    - Dst: h3_stream_ctx_free
      Src: /src/curl/lib/vquic/curl_osslq.c:639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 644
    functionName: h3_data_setup
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - calloc
    - Curl_bufq_initp
    - H3_STREAM_CTX
    - Curl_uint_hash_set
    - Curl_h1_req_parse_init
    - h3_stream_ctx_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_setup(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:649,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:653,1
    - Dst: nghttp3_conn_shutdown_stream_read
      Src: /src/curl/lib/vquic/curl_osslq.c:656,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:657,1
    - Dst: nghttp3_conn_set_stream_user_data
      Src: /src/curl/lib/vquic/curl_osslq.c:659,1
    - Dst: Curl_uint_hash_remove
      Src: /src/curl/lib/vquic/curl_osslq.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 646
    functionDepth: 4
    functionLinenumber: 646
    functionLinenumberEnd: 665
    functionName: h3_data_done
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_uint_hash_remove
    - nghttp3_conn_shutdown_stream_read
    - H3_STREAM_CTX
    - nghttp3_conn_set_stream_user_data
    - nghttp3_conn_close_stream
    linkageType: ''
    returnType: void
    signature: void h3_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 683
    functionName: cf_osslq_find_stream
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_osslq_find_stream(unsigned int mid, void *val, void *user_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:690,1
    - Dst: Curl_uint_hash_visit
      Src: /src/curl/lib/vquic/curl_osslq.c:708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - cf
    - data
    - stream_id
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 713
    functionName: cf_osslq_get_qstream
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_visit
    - H3_STREAM_CTX
    linkageType: ''
    returnType: struct cf_osslq_stream
    signature: "struct cf_osslq_stream *cf_osslq_get_qstream(struct Curl_cfilter *cf,\n
      \                                                   struct Curl_easy *data,\n
      \                                                   int64_t stream_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_osslq.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - pause
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: h3_data_pause
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_pause(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool pause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:734,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:747,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:751,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_osslq.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - conn
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 755
    functionName: cb_h3_stream_close
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_stream_close(nghttp3_conn *conn, int64_t stream_id,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:768,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/vquic/curl_osslq.c:776,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - cf
    - data
    - mem
    - memlen
    - flow
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 762
    functionDepth: 5
    functionLinenumber: 762
    functionLinenumberEnd: 790
    functionName: write_resp_raw
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - DEBUGASSERT
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode write_resp_raw(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const void *mem, size_t memlen,\n
      \                              bool flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:799,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_osslq.c:808,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:810,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:815,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_osslq.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - conn
    - stream3_id
    - buf
    - buflen
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 819
    functionName: cb_h3_recv_data
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - write_resp_raw
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_recv_data(nghttp3_conn *conn, int64_t stream3_id,\n                           const
      uint8_t *buf, size_t buflen,\n                           void *user_data, void
      *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:828,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - conn
    - stream_id
    - consumed
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 836
    functionName: cb_h3_deferred_consume
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_deferred_consume(nghttp3_conn *conn, int64_t stream_id,\n
      \                                 size_t consumed, void *user_data,\n                                  void
      *stream_user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/curl/lib/vquic/curl_osslq.c:846,1
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/curl/lib/vquic/curl_osslq.c:847,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:849,1
    - Dst: Curl_http_decode_status
      Src: /src/curl/lib/vquic/curl_osslq.c:865,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vquic/curl_osslq.c:869,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:871,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_osslq.c:872,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:879,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_osslq.c:882,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_osslq.c:886,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_osslq.c:890,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_osslq.c:894,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 8
    argNames:
    - conn
    - sid
    - token
    - name
    - value
    - flags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int32_t
    - nghttp3_rcbuf*
    - nghttp3_rcbuf*
    - uint8_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 838
    functionDepth: 6
    functionLinenumber: 838
    functionLinenumberEnd: 900
    functionName: cb_h3_recv_header
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - curl_msnprintf
    - H3_STREAM_CTX
    - Curl_http_decode_status
    - write_resp_raw
    - nghttp3_rcbuf_get_buf
    linkageType: ''
    returnType: int
    signature: "int cb_h3_recv_header(nghttp3_conn *conn, int64_t sid,\n                             int32_t
      token, nghttp3_rcbuf *name,\n                             nghttp3_rcbuf *value,
      uint8_t flags,\n                             void *user_data, void *stream_user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:909,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_osslq.c:919,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:924,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_osslq.c:929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - conn
    - sid
    - fin
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 931
    functionName: cb_h3_end_headers
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - write_resp_raw
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_end_headers(nghttp3_conn *conn, int64_t sid,\n                             int
      fin, void *user_data, void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:941,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:948,1
    - Dst: cf_osslq_stream_close
      Src: /src/curl/lib/vquic/curl_osslq.c:949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - conn
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 951
    functionName: cb_h3_stop_sending
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - CURL_TRC_CF
    - cf_osslq_stream_close
    linkageType: ''
    returnType: int
    signature: "int cb_h3_stop_sending(nghttp3_conn *conn, int64_t sid,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:960,1
    - Dst: SSL_stream_reset
      Src: /src/curl/lib/vquic/curl_osslq.c:967,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - conn
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 974
    functionName: cb_h3_reset_stream
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - SSL_stream_reset
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_reset_stream(nghttp3_conn *conn, int64_t sid,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:985,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_osslq.c:1003,1
    - Dst: Curl_bufq_peek_at
      Src: /src/curl/lib/vquic/curl_osslq.c:1006,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vquic/curl_osslq.c:1008,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:1014,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1028,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1033,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_osslq.c:1037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 7
    argNames:
    - conn
    - stream_id
    - vec
    - veccnt
    - pflags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - nghttp3_vec*
    - size_t
    - uint32_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 976
    functionDepth: 3
    functionLinenumber: 976
    functionLinenumberEnd: 1040
    functionName: cb_h3_read_req_body
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - H3_STREAM_CTX
    - Curl_bufq_len
    - CURL_UNCONST
    - Curl_bufq_peek_at
    - DEBUGASSERT
    linkageType: ''
    returnType: nghttp3_ssize
    signature: "nghttp3_ssize cb_h3_read_req_body(nghttp3_conn *conn, int64_t stream_id,\n
      \                   nghttp3_vec *vec, size_t veccnt,\n                    uint32_t
      *pflags, void *user_data,\n                    void *stream_user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:1049,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/vquic/curl_osslq.c:1062,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_osslq.c:1066,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - conn
    - stream_id
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1042
    functionDepth: 4
    functionLinenumber: 1042
    functionLinenumberEnd: 1073
    functionName: cb_h3_acked_stream_data
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - Curl_bufq_len
    - Curl_bufq_skip
    - nghttp3_conn_resume_stream
    linkageType: ''
    returnType: int
    signature: "int cb_h3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id,\n
      \                                  uint64_t datalen, void *user_data,\n                                   void
      *stream_user_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_settings_default
      Src: /src/curl/lib/vquic/curl_osslq.c:1105,1
    - Dst: nghttp3_conn_client_new
      Src: /src/curl/lib/vquic/curl_osslq.c:1106,1
    - Dst: Curl_nghttp3_mem
      Src: /src/curl/lib/vquic/curl_osslq.c:1109,1
    - Dst: cf_osslq_stream_open
      Src: /src/curl/lib/vquic/curl_osslq.c:1116,1
    - Dst: cf_osslq_stream_open
      Src: /src/curl/lib/vquic/curl_osslq.c:1123,1
    - Dst: cf_osslq_stream_open
      Src: /src/curl/lib/vquic/curl_osslq.c:1130,1
    - Dst: nghttp3_conn_bind_control_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1138,1
    - Dst: nghttp3_conn_bind_qpack_streams
      Src: /src/curl/lib/vquic/curl_osslq.c:1143,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - conn
    - user_data
    argTypes:
    - struct cf_osslq_ctx*
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1098
    functionDepth: 4
    functionLinenumber: 1098
    functionLinenumberEnd: 1153
    functionName: cf_osslq_h3conn_init
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_bind_control_stream
    - nghttp3_conn_bind_qpack_streams
    - cf_osslq_stream_open
    - nghttp3_conn_client_new
    - Curl_nghttp3_mem
    - nghttp3_settings_default
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_h3conn_init(struct cf_osslq_ctx *ctx, SSL *conn,\n
      \                                    void *user_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:1166,1
    - Dst: Curl_vquic_tls_init
      Src: /src/curl/lib/vquic/curl_osslq.c:1169,1
    - Dst: vquic_ctx_init
      Src: /src/curl/lib/vquic/curl_osslq.c:1174,1
    - Dst: Curl_cf_socket_peek
      Src: /src/curl/lib/vquic/curl_osslq.c:1179,1
    - Dst: getsockname
      Src: /src/curl/lib/vquic/curl_osslq.c:1184,1
    - Dst: make_bio_addr
      Src: /src/curl/lib/vquic/curl_osslq.c:1189,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1191,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1200,1
    - Dst: BIO_new_dgram
      Src: /src/curl/lib/vquic/curl_osslq.c:1205,1
    - Dst: BIO_new_dgram
      Src: /src/curl/lib/vquic/curl_osslq.c:1207,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/curl/lib/vquic/curl_osslq.c:1214,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1215,1
    - Dst: SSL_set_blocking_mode
      Src: /src/curl/lib/vquic/curl_osslq.c:1219,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1220,1
    - Dst: SSL_set_bio
      Src: /src/curl/lib/vquic/curl_osslq.c:1225,1
    - Dst: SSL_set_connect_state
      Src: /src/curl/lib/vquic/curl_osslq.c:1227,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/curl/lib/vquic/curl_osslq.c:1228,1
    - Dst: SSL_set_value_uint
      Src: /src/curl/lib/vquic/curl_osslq.c:1231,1
    - Dst: cf_osslq_h3conn_init
      Src: /src/curl/lib/vquic/curl_osslq.c:1234,1
    - Dst: BIO_free
      Src: /src/curl/lib/vquic/curl_osslq.c:1238,1
    - Dst: BIO_ADDR_free
      Src: /src/curl/lib/vquic/curl_osslq.c:1240,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1241,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1155
    functionDepth: 5
    functionLinenumber: 1155
    functionLinenumberEnd: 1243
    functionName: cf_osslq_ctx_start
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - cf_osslq_h3conn_init
    - BIO_ADDR_free
    - failf
    - CURL_TRC_CF
    - SSL_set1_initial_peer_addr
    - BIO_free
    - SSL_set_blocking_mode
    - Curl_vquic_tls_init
    - SSL_set_incoming_stream_policy
    - vquic_ctx_init
    - SSL_set_connect_state
    - make_bio_addr
    - Curl_cf_socket_peek
    - SSL_set_bio
    - SSL_set_value_uint
    - getsockname
    - DEBUGASSERT
    - BIO_new_dgram
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_ctx_start(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_read_ex
      Src: /src/curl/lib/vquic/curl_osslq.c:1258,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vquic/curl_osslq.c:1260,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1265,1
    - Dst: SSL_get_stream_read_state
      Src: /src/curl/lib/vquic/curl_osslq.c:1270,1
    - Dst: SSL_get_stream_read_error_code
      Src: /src/curl/lib/vquic/curl_osslq.c:1273,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1278,1
    - Dst: cf_osslq_ssl_err
      Src: /src/curl/lib/vquic/curl_osslq.c:1288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - reader_ctx
    - buf
    - len
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1251
    functionDepth: 7
    functionLinenumber: 1251
    functionLinenumberEnd: 1292
    functionName: h3_quic_recv
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - SSL_read_ex
    - SSL_get_stream_read_error_code
    - SSL_get_error
    - cf_osslq_ssl_err
    - SSL_get_stream_read_state
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_quic_recv(void *reader_ctx,\n                             unsigned
      char *buf, size_t len,\n                             size_t *pnread)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:1306,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_osslq.c:1315,1
    - Dst: Curl_bufq_is_full
      Src: /src/curl/lib/vquic/curl_osslq.c:1316,1
    - Dst: Curl_bufq_sipn
      Src: /src/curl/lib/vquic/curl_osslq.c:1317,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_osslq.c:1328,1
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/vquic/curl_osslq.c:1332,1
    - Dst: nghttp3_conn_read_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1333,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1335,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1338,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:1339,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/vquic/curl_osslq.c:1346,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_osslq.c:1352,1
    - Dst: SSL_get_stream_read_error_code
      Src: /src/curl/lib/vquic/curl_osslq.c:1357,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1358,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1362,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1365,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:1366,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1372,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1375,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1378,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:1379,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1388,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 3
    argNames:
    - s
    - cf
    - data
    argTypes:
    - struct cf_osslq_stream*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1294
    functionDepth: 5
    functionLinenumber: 1294
    functionLinenumberEnd: 1391
    functionName: cf_osslq_stream_recv
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_strerror
    - failf
    - CURL_TRC_CF
    - Curl_bufq_sipn
    - SSL_get_stream_read_error_code
    - Curl_bufq_is_full
    - Curl_bufq_is_empty
    - nghttp3_conn_read_stream
    - Curl_bufq_skip
    - nghttp3_conn_close_stream
    - Curl_bufq_peek
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_stream_recv(struct cf_osslq_stream *s,\n                                     struct
      Curl_cfilter *cf,\n                                     struct Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_is_full
      Src: /src/curl/lib/vquic/curl_osslq.c:1405,1
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/vquic/curl_osslq.c:1406,1
    - Dst: cf_osslq_stream_recv
      Src: /src/curl/lib/vquic/curl_osslq.c:1408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1399
    functionDepth: 6
    functionLinenumber: 1399
    functionLinenumberEnd: 1414
    functionName: cf_osslq_iter_recv
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - Curl_bufq_is_full
    - cf_osslq_stream_recv
    linkageType: ''
    returnType: bool
    signature: bool cf_osslq_iter_recv(unsigned int mid, void *val, void *user_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vquic/curl_osslq.c:1425,1
    - Dst: SSL_accept_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1429,1
    - Dst: cf_osslq_h3conn_add_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1434,1
    - Dst: SSL_handle_events
      Src: /src/curl/lib/vquic/curl_osslq.c:1439,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vquic/curl_osslq.c:1440,1
    - Dst: cf_osslq_ssl_err
      Src: /src/curl/lib/vquic/curl_osslq.c:1441,1
    - Dst: cf_osslq_stream_recv
      Src: /src/curl/lib/vquic/curl_osslq.c:1449,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:1458,1
    - Dst: Curl_uint_hash_visit
      Src: /src/curl/lib/vquic/curl_osslq.c:1462,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1467,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1416
    functionDepth: 7
    functionLinenumber: 1416
    functionLinenumberEnd: 1469
    functionName: cf_progress_ingress
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - cf_osslq_h3conn_add_stream
    - CURL_TRC_CF
    - SSL_get_error
    - ERR_clear_error
    - cf_osslq_stream_recv
    - SSL_accept_stream
    - Curl_uint_hash_visit
    - cf_osslq_ssl_err
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_progress_ingress(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/vquic/curl_osslq.c:1488,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/curl/lib/vquic/curl_osslq.c:1490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1477
    functionDepth: 4
    functionLinenumber: 1477
    functionLinenumberEnd: 1497
    functionName: cf_osslq_collect_block_send
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - SSL_as_poll_descriptor
    linkageType: ''
    returnType: bool
    signature: "bool cf_osslq_collect_block_send(unsigned int mid, void *val,\n                                        void
      *user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_count
      Src: /src/curl/lib/vquic/curl_osslq.c:1515,1
    - Dst: Curl_uint_hash_count
      Src: /src/curl/lib/vquic/curl_osslq.c:1516,1
    - Dst: realloc
      Src: /src/curl/lib/vquic/curl_osslq.c:1518,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_osslq.c:1520,1
    - Dst: realloc
      Src: /src/curl/lib/vquic/curl_osslq.c:1527,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_osslq.c:1529,1
    - Dst: Curl_uint_hash_visit
      Src: /src/curl/lib/vquic/curl_osslq.c:1541,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1545,1
    - Dst: memset
      Src: /src/curl/lib/vquic/curl_osslq.c:1547,1
    - Dst: SSL_poll
      Src: /src/curl/lib/vquic/curl_osslq.c:1549,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:1558,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:1559,1
    - Dst: nghttp3_conn_unblock_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1561,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_osslq.c:1563,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1564,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1500
    functionDepth: 3
    functionLinenumber: 1500
    functionLinenumberEnd: 1574
    functionName: cf_osslq_check_and_unblock
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    - Curl_uint_hash_count
    - H3_STREAM_CTX
    - nghttp3_conn_unblock_stream
    - SSL_poll
    - free
    - memset
    - Curl_uint_hash_visit
    - realloc
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_check_and_unblock(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_writev_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1595,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/vquic/curl_osslq.c:1596,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1598,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:1599,1
    - Dst: cf_osslq_get_qstream
      Src: /src/curl/lib/vquic/curl_osslq.c:1609,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1611,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:1617,1
    - Dst: SSL_write_ex2
      Src: /src/curl/lib/vquic/curl_osslq.c:1626,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1633,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vquic/curl_osslq.c:1638,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1643,1
    - Dst: nghttp3_conn_block_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:1646,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1650,1
    - Dst: cf_osslq_ssl_err
      Src: /src/curl/lib/vquic/curl_osslq.c:1652,1
    - Dst: curlx_now
      Src: /src/curl/lib/vquic/curl_osslq.c:1661,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/curl/lib/vquic/curl_osslq.c:1662,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1664,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:1665,1
    - Dst: nghttp3_conn_add_ack_offset
      Src: /src/curl/lib/vquic/curl_osslq.c:1669,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1671,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:1672,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1676,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1682,1
    - Dst: SSL_stream_conclude
      Src: /src/curl/lib/vquic/curl_osslq.c:1683,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1688,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1576
    functionDepth: 7
    functionLinenumber: 1576
    functionLinenumberEnd: 1690
    functionName: h3_send_streams
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_strerror
    - nghttp3_conn_block_stream
    - failf
    - nghttp3_conn_writev_stream
    - CURL_TRC_CF
    - nghttp3_conn_add_ack_offset
    - SSL_stream_conclude
    - curlx_now
    - SSL_get_error
    - nghttp3_conn_add_write_offset
    - cf_osslq_get_qstream
    - CURL_ARRAYSIZE
    - SSL_write_ex2
    - cf_osslq_ssl_err
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_send_streams(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vquic/curl_osslq.c:1701,1
    - Dst: h3_send_streams
      Src: /src/curl/lib/vquic/curl_osslq.c:1702,1
    - Dst: SSL_handle_events
      Src: /src/curl/lib/vquic/curl_osslq.c:1706,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vquic/curl_osslq.c:1707,1
    - Dst: cf_osslq_ssl_err
      Src: /src/curl/lib/vquic/curl_osslq.c:1708,1
    - Dst: cf_osslq_check_and_unblock
      Src: /src/curl/lib/vquic/curl_osslq.c:1711,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1692
    functionDepth: 8
    functionLinenumber: 1692
    functionLinenumberEnd: 1716
    functionName: cf_progress_egress
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - CURL_TRC_CF
    - SSL_get_error
    - h3_send_streams
    - ERR_clear_error
    - cf_osslq_ssl_err
    - cf_osslq_check_and_unblock
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_progress_egress(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_event_timeout
      Src: /src/curl/lib/vquic/curl_osslq.c:1728,1
    - Dst: curlx_tvtoms
      Src: /src/curl/lib/vquic/curl_osslq.c:1730,1
    - Dst: cf_progress_ingress
      Src: /src/curl/lib/vquic/curl_osslq.c:1733,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_osslq.c:1736,1
    - Dst: SSL_get_event_timeout
      Src: /src/curl/lib/vquic/curl_osslq.c:1739,1
    - Dst: curlx_tvtoms
      Src: /src/curl/lib/vquic/curl_osslq.c:1740,1
    - Dst: Curl_expire
      Src: /src/curl/lib/vquic/curl_osslq.c:1744,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1745,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1718
    functionDepth: 7
    functionLinenumber: 1718
    functionLinenumberEnd: 1750
    functionName: check_and_set_expiry
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_expire
    - CURL_TRC_CF
    - curlx_tvtoms
    - cf_progress_ingress
    - cf_progress_egress
    - SSL_get_event_timeout
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode check_and_set_expiry(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/vquic/curl_osslq.c:1769,1
    - Dst: curlx_now
      Src: /src/curl/lib/vquic/curl_osslq.c:1775,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_osslq.c:1776,1
    - Dst: cf_osslq_ctx_start
      Src: /src/curl/lib/vquic/curl_osslq.c:1780,1
    - Dst: SOCKET_READABLE
      Src: /src/curl/lib/vquic/curl_osslq.c:1786,1
    - Dst: curlx_now
      Src: /src/curl/lib/vquic/curl_osslq.c:1789,1
    - Dst: Curl_vquic_tls_before_recv
      Src: /src/curl/lib/vquic/curl_osslq.c:1797,1
    - Dst: ERR_clear_error
      Src: /src/curl/lib/vquic/curl_osslq.c:1801,1
    - Dst: SSL_do_handshake
      Src: /src/curl/lib/vquic/curl_osslq.c:1802,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1808,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vquic/curl_osslq.c:1809,1
    - Dst: cf_osslq_verify_peer
      Src: /src/curl/lib/vquic/curl_osslq.c:1810,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1812,1
    - Dst: connkeep
      Src: /src/curl/lib/vquic/curl_osslq.c:1815,1
    - Dst: SSL_get_error
      Src: /src/curl/lib/vquic/curl_osslq.c:1819,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1823,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1827,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1833,1
    - Dst: cf_osslq_ssl_err
      Src: /src/curl/lib/vquic/curl_osslq.c:1843,1
    - Dst: Curl_cf_socket_peek
      Src: /src/curl/lib/vquic/curl_osslq.c:1862,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_osslq.c:1863,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:1864,1
    - Dst: check_and_set_expiry
      Src: /src/curl/lib/vquic/curl_osslq.c:1868,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1870,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_osslq.c:1871,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 87
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1752
    functionDepth: 7
    functionLinenumber: 1752
    functionLinenumberEnd: 1873
    functionName: cf_osslq_connect
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - curl_easy_strerror
    - check_and_set_expiry
    - cf_osslq_verify_peer
    - CF_DATA_SAVE
    - SSL_do_handshake
    - cf_osslq_ctx_start
    - curlx_now
    - connkeep
    - curlx_timediff
    - cf_osslq_ssl_err
    - CURL_TRC_CF
    - SOCKET_READABLE
    - Curl_conn_cf_connect
    - SSL_get_error
    - Curl_vquic_tls_before_recv
    - ERR_clear_error
    - Curl_cf_socket_peek
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_connect(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 bool *done)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/vquic/curl_osslq.c:1891,1
    - Dst: h3_data_setup
      Src: /src/curl/lib/vquic/curl_osslq.c:1893,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:1896,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:1897,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/curl/lib/vquic/curl_osslq.c:1903,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:1910,1
    - Dst: Curl_http_req_to_h2
      Src: /src/curl/lib/vquic/curl_osslq.c:1912,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/curl/lib/vquic/curl_osslq.c:1918,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/lib/vquic/curl_osslq.c:1920,1
    - Dst: malloc
      Src: /src/curl/lib/vquic/curl_osslq.c:1921,1
    - Dst: Curl_dynhds_getn
      Src: /src/curl/lib/vquic/curl_osslq.c:1929,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:1937,1
    - Dst: cf_osslq_stream_open
      Src: /src/curl/lib/vquic/curl_osslq.c:1938,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:1941,1
    - Dst: nghttp3_conn_submit_request
      Src: /src/curl/lib/vquic/curl_osslq.c:1970,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1975,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:1979,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_osslq.c:1980,1
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/vquic/curl_osslq.c:1988,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_osslq.c:1989,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_osslq.c:1992,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_osslq.c:2000,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/vquic/curl_osslq.c:2001,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1875
    functionDepth: 5
    functionLinenumber: 1875
    functionLinenumberEnd: 2003
    functionName: h3_stream_open
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_strerror
    - cf_osslq_stream_open
    - failf
    - H3_STREAM_CTX
    - Curl_dynhds_init
    - Curl_dynhds_count
    - CURL_TRC_CF
    - h3_data_setup
    - Curl_trc_is_verbose
    - free
    - Curl_h1_req_parse_read
    - DEBUGASSERT
    - Curl_dynhds_getn
    - Curl_h1_req_parse_free
    - malloc
    - nghttp3_conn_submit_request
    - Curl_http_req_to_h2
    - Curl_dynhds_free
    - infof
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t h3_stream_open(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              const void *buf, size_t len,\n
      \                             CURLcode *err)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:2010,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_osslq.c:2016,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:2017,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:2018,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:2019,1
    - Dst: cf_progress_ingress
      Src: /src/curl/lib/vquic/curl_osslq.c:2022,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_osslq.c:2026,1
    - Dst: h3_stream_open
      Src: /src/curl/lib/vquic/curl_osslq.c:2031,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2033,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:2036,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2046,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2052,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/vquic/curl_osslq.c:2058,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2059,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:2064,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_osslq.c:2067,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_osslq.c:2067,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_osslq.c:2070,1
    - Dst: check_and_set_expiry
      Src: /src/curl/lib/vquic/curl_osslq.c:2070,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2072,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_osslq.c:2074,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2005
    functionDepth: 5
    functionLinenumber: 2005
    functionLinenumberEnd: 2076
    functionName: cf_osslq_send
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_1st_err
    - h3_stream_open
    - CURL_TRC_CF
    - CF_DATA_RESTORE
    - H3_STREAM_CTX
    - Curl_bufq_write
    - cf_progress_ingress
    - check_and_set_expiry
    - cf_progress_egress
    - nghttp3_conn_resume_stream
    - DEBUGASSERT
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                             const void *buf, size_t len, bool eos,\n                              size_t
      *pnwritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:2086,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_osslq.c:2092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2100
    functionName: recv_closed_stream
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_closed_stream(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct h3_stream_ctx *stream,\n
      \                                  size_t *pnread)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:2106,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_osslq.c:2111,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:2112,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:2113,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:2114,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:2115,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_osslq.c:2123,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/vquic/curl_osslq.c:2124,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2126,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_osslq.c:2132,1
    - Dst: cf_progress_ingress
      Src: /src/curl/lib/vquic/curl_osslq.c:2132,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_osslq.c:2137,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/vquic/curl_osslq.c:2138,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2140,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_osslq.c:2147,1
    - Dst: recv_closed_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:2151,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_osslq.c:2158,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_osslq.c:2158,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_osslq.c:2159,1
    - Dst: check_and_set_expiry
      Src: /src/curl/lib/vquic/curl_osslq.c:2159,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2161,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_osslq.c:2163,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 2102
    functionDepth: 5
    functionLinenumber: 2102
    functionLinenumberEnd: 2165
    functionName: cf_osslq_recv
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - Curl_1st_err
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - Curl_bufq_cread
    - H3_STREAM_CTX
    - Curl_bufq_is_empty
    - cf_progress_ingress
    - check_and_set_expiry
    - cf_progress_egress
    - DEBUGASSERT
    - recv_closed_stream
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_recv(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                             char *buf, size_t len, size_t *pnread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:2175,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_osslq.c:2177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2171
    functionDepth: 2
    functionLinenumber: 2171
    functionLinenumberEnd: 2178
    functionName: cf_osslq_data_pending
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - Curl_bufq_is_empty
    linkageType: ''
    returnType: bool
    signature: "bool cf_osslq_data_pending(struct Curl_cfilter *cf,\n                                  const
      struct Curl_easy *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_osslq.c:2188,1
    - Dst: h3_data_pause
      Src: /src/curl/lib/vquic/curl_osslq.c:2195,1
    - Dst: h3_data_done
      Src: /src/curl/lib/vquic/curl_osslq.c:2198,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_osslq.c:2201,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_osslq.c:2204,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/curl/lib/vquic/curl_osslq.c:2206,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/curl/lib/vquic/curl_osslq.c:2213,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_osslq.c:2219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2180
    functionDepth: 2
    functionLinenumber: 2180
    functionLinenumberEnd: 2221
    functionName: cf_osslq_cntrl
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - h3_data_done
    - H3_STREAM_CTX
    - Curl_bufq_len
    - Curl_conn_set_multiplex
    - h3_data_pause
    - nghttp3_conn_resume_stream
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_cntrl(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               int event, int arg1, void *arg2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_osslq.c:2231,1
    - Dst: SSL_get_value_uint
      Src: /src/curl/lib/vquic/curl_osslq.c:2241,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2244,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2248,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vquic/curl_osslq.c:2250,1
    - Dst: curlx_now
      Src: /src/curl/lib/vquic/curl_osslq.c:2250,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/curl/lib/vquic/curl_osslq.c:2257,1
    - Dst: cf_progress_ingress
      Src: /src/curl/lib/vquic/curl_osslq.c:2267,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2268,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_osslq.c:2273,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2223
    functionDepth: 2
    functionLinenumber: 2223
    functionLinenumberEnd: 2275
    functionName: cf_osslq_conn_is_alive
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::is_alive
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - SSL_get_value_uint
    - curlx_now
    - cf_progress_ingress
    - curlx_timediff
    - CF_DATA_SAVE
    linkageType: ''
    returnType: bool
    signature: "bool cf_osslq_conn_is_alive(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   bool *input_pending)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_set
      Src: /src/curl/lib/vquic/curl_osslq.c:2290,1
    - Dst: SSL_net_read_desired
      Src: /src/curl/lib/vquic/curl_osslq.c:2291,1
    - Dst: SSL_net_write_desired
      Src: /src/curl/lib/vquic/curl_osslq.c:2292,1
    - Dst: Curl_pollset_check
      Src: /src/curl/lib/vquic/curl_osslq.c:2298,1
    - Dst: Curl_pollset_set
      Src: /src/curl/lib/vquic/curl_osslq.c:2300,1
    - Dst: SSL_net_read_desired
      Src: /src/curl/lib/vquic/curl_osslq.c:2301,1
    - Dst: SSL_net_write_desired
      Src: /src/curl/lib/vquic/curl_osslq.c:2302,1
    - Dst: Curl_pollset_set
      Src: /src/curl/lib/vquic/curl_osslq.c:2305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2277
    functionDepth: 3
    functionLinenumber: 2277
    functionLinenumberEnd: 2310
    functionName: cf_osslq_adjust_pollset
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - SSL_net_write_desired
    - Curl_pollset_set
    - SSL_net_read_desired
    - Curl_pollset_check
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_adjust_pollset(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        struct easy_pollset
      *ps)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_value_uint
      Src: /src/curl/lib/vquic/curl_osslq.c:2324,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2326,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/vquic/curl_osslq.c:2330,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_osslq.c:2335,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vquic/curl_osslq.c:2340,1
    - Dst: Curl_vquic_tls_get_ssl_info
      Src: /src/curl/lib/vquic/curl_osslq.c:2364,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_osslq.c:2371,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/vquic/curl_osslq.c:2379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2381
    functionName: cf_osslq_query
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - CONN_ATTACHED
    - struct Curl_cfilter*::next::cft::query
    - CURL_TRC_CF
    - SSL_get_value_uint
    - curlx_timediff
    - DEBUGASSERT
    - Curl_vquic_tls_get_ssl_info
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_osslq_query(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               int query, int *pres1, void
      *pres2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/vquic/curl_osslq.c:2411,1
    - Dst: cf_osslq_ctx_init
      Src: /src/curl/lib/vquic/curl_osslq.c:2416,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/vquic/curl_osslq.c:2418,1
    - Dst: Curl_cf_udp_create
      Src: /src/curl/lib/vquic/curl_osslq.c:2423,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/vquic/curl_osslq.c:2434,1
    - Dst: cf_osslq_ctx_free
      Src: /src/curl/lib/vquic/curl_osslq.c:2436,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pcf
    - data
    - conn
    - ai
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2401
    functionDepth: 6
    functionLinenumber: 2401
    functionLinenumberEnd: 2439
    functionName: Curl_cf_osslq_create
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - calloc
    - cf_osslq_ctx_free
    - Curl_cf_create
    - Curl_cf_udp_create
    - cf_osslq_ctx_init
    - Curl_conn_cf_discard_chain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_osslq_create(struct Curl_cfilter **pcf,\n                              struct
      Curl_easy *data,\n                              struct connectdata *conn,\n
      \                             const struct Curl_addrinfo *ai)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2455
    functionName: Curl_conn_is_osslq
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_is_osslq(const struct Curl_easy *data,\n                        const
      struct connectdata *conn,\n                        int sockindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_version
      Src: /src/curl/lib/vquic/curl_osslq.c:2462,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vquic/curl_osslq.c:2463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2460
    functionDepth: 6
    functionLinenumber: 2460
    functionLinenumberEnd: 2464
    functionName: Curl_osslq_ver
    functionSourceFile: /src/curl/lib/vquic/curl_osslq.c
    functionUses: 0
    functionsReached:
    - nghttp3_version
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_osslq_ver(char *p, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ossl_version
      Src: /src/curl/lib/vquic/vquic-tls.c:73,1
    - Dst: Curl_gtls_version
      Src: /src/curl/lib/vquic/vquic-tls.c:75,1
    - Dst: Curl_wssl_version
      Src: /src/curl/lib/vquic/vquic-tls.c:77,1
    - Dst: Curl_ssl_peer_init
      Src: /src/curl/lib/vquic/vquic-tls.c:83,1
    - Dst: Curl_ossl_ctx_init
      Src: /src/curl/lib/vquic/vquic-tls.c:89,1
    - Dst: Curl_gtls_ctx_init
      Src: /src/curl/lib/vquic/vquic-tls.c:93,1
    - Dst: Curl_wssl_ctx_init
      Src: /src/curl/lib/vquic/vquic-tls.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 9
    argNames:
    - ctx
    - cf
    - data
    - peer
    - alpns
    - cb_setup
    - cb_user_data
    - ssl_user_data
    - session_reuse_cb
    argTypes:
    - struct curl_tls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    - struct alpn_spec*
    - Curl_vquic_tls_ctx_setup*
    - void*
    - void*
    - Curl_vquic_session_reuse_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 60
    functionDepth: 7
    functionLinenumber: 60
    functionLinenumberEnd: 104
    functionName: Curl_vquic_tls_init
    functionSourceFile: /src/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached:
    - Curl_ossl_version
    - Curl_ossl_ctx_init
    - Curl_wssl_version
    - Curl_ssl_peer_init
    - Curl_gtls_ctx_init
    - Curl_wssl_ctx_init
    - Curl_gtls_version
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_vquic_tls_init(struct curl_tls_ctx *ctx,\n                             struct
      Curl_cfilter *cf,\n                             struct Curl_easy *data,\n                             struct
      ssl_peer *peer,\n                             const struct alpn_spec *alpns,\n
      \                            Curl_vquic_tls_ctx_setup *cb_setup,\n                             void
      *cb_user_data, void *ssl_user_data,\n                             Curl_vquic_session_reuse_cb
      *session_reuse_cb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/curl/lib/vquic/vquic-tls.c:110,1
    - Dst: SSL_CTX_free
      Src: /src/curl/lib/vquic/vquic-tls.c:112,1
    - Dst: gnutls_deinit
      Src: /src/curl/lib/vquic/vquic-tls.c:115,1
    - Dst: Curl_gtls_shared_creds_free
      Src: /src/curl/lib/vquic/vquic-tls.c:116,1
    - Dst: wolfSSL_free
      Src: /src/curl/lib/vquic/vquic-tls.c:119,1
    - Dst: wolfSSL_CTX_free
      Src: /src/curl/lib/vquic/vquic-tls.c:121,1
    - Dst: memset
      Src: /src/curl/lib/vquic/vquic-tls.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct curl_tls_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: Curl_vquic_tls_cleanup
    functionSourceFile: /src/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached:
    - Curl_gtls_shared_creds_free
    - SSL_CTX_free
    - gnutls_deinit
    - wolfSSL_CTX_free
    - wolfSSL_free
    - memset
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void Curl_vquic_tls_cleanup(struct curl_tls_ctx *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_setup_x509_store
      Src: /src/curl/lib/vquic/vquic-tls.c:132,1
    - Dst: Curl_wssl_setup_x509_store
      Src: /src/curl/lib/vquic/vquic-tls.c:139,1
    - Dst: Curl_gtls_client_trust_setup
      Src: /src/curl/lib/vquic/vquic-tls.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - cf
    - data
    argTypes:
    - struct curl_tls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 126
    functionDepth: 6
    functionLinenumber: 126
    functionLinenumberEnd: 153
    functionName: Curl_vquic_tls_before_recv
    functionSourceFile: /src/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached:
    - Curl_gtls_client_trust_setup
    - Curl_wssl_setup_x509_store
    - Curl_ssl_setup_x509_store
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_vquic_tls_before_recv(struct curl_tls_ctx *ctx,\n                                    struct
      Curl_cfilter *cf,\n                                    struct Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_primary_config
      Src: /src/curl/lib/vquic/vquic-tls.c:163,1
    - Dst: Curl_ossl_check_peer_cert
      Src: /src/curl/lib/vquic/vquic-tls.c:169,1
    - Dst: Curl_gtls_verifyserver
      Src: /src/curl/lib/vquic/vquic-tls.c:172,1
    - Dst: wolfSSL_get_peer_certificate
      Src: /src/curl/lib/vquic/vquic-tls.c:182,1
    - Dst: wolfSSL_X509_check_host
      Src: /src/curl/lib/vquic/vquic-tls.c:183,1
    - Dst: strlen
      Src: /src/curl/lib/vquic/vquic-tls.c:183,1
    - Dst: wolfSSL_X509_free
      Src: /src/curl/lib/vquic/vquic-tls.c:187,1
    - Dst: Curl_wssl_verify_pinned
      Src: /src/curl/lib/vquic/vquic-tls.c:190,1
    - Dst: Curl_ssl_scache_remove_all
      Src: /src/curl/lib/vquic/vquic-tls.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - cf
    - data
    - peer
    argTypes:
    - struct curl_tls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct ssl_peer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 155
    functionDepth: 10
    functionLinenumber: 155
    functionLinenumberEnd: 196
    functionName: Curl_vquic_tls_verify_peer
    functionSourceFile: /src/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached:
    - Curl_ossl_check_peer_cert
    - strlen
    - wolfSSL_get_peer_certificate
    - Curl_ssl_scache_remove_all
    - wolfSSL_X509_check_host
    - Curl_gtls_verifyserver
    - Curl_wssl_verify_pinned
    - Curl_ssl_cf_get_primary_config
    - wolfSSL_X509_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_vquic_tls_verify_peer(struct curl_tls_ctx *ctx,\n                                    struct
      Curl_cfilter *cf,\n                                    struct Curl_easy *data,\n
      \                                   struct ssl_peer *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - give_ssl_ctx
    - info
    argTypes:
    - struct curl_tls_ctx*
    - bool
    - struct curl_tlssessioninfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: Curl_vquic_tls_get_ssl_info
    functionSourceFile: /src/curl/lib/vquic/vquic-tls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_vquic_tls_get_ssl_info(struct curl_tls_ctx *ctx,\n                                 bool
      give_ssl_ctx,\n                                 struct curl_tlssessioninfo *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ossl_report_handshake
      Src: /src/curl/lib/vquic/vquic-tls.c:230,1
    - Dst: Curl_gtls_report_handshake
      Src: /src/curl/lib/vquic/vquic-tls.c:232,1
    - Dst: Curl_wssl_report_handshake
      Src: /src/curl/lib/vquic/vquic-tls.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cf
    - data
    argTypes:
    - struct curl_tls_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: Curl_vquic_report_handshake
    functionSourceFile: /src/curl/lib/vquic/vquic-tls.c
    functionUses: 0
    functionsReached:
    - Curl_wssl_report_handshake
    - Curl_gtls_report_handshake
    - Curl_ossl_report_handshake
    linkageType: ''
    returnType: void
    signature: "void Curl_vquic_report_handshake(struct curl_tls_ctx *ctx,\n                                 struct
      Curl_cfilter *cf,\n                                 struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vquic/curl_quiche.c:82,1
    - Dst: quiche_version
      Src: /src/curl/lib/vquic/curl_quiche.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 6
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Curl_quiche_ver
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - curl_msnprintf
    - quiche_version
    linkageType: ''
    returnType: void
    signature: void Curl_quiche_ver(char *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vquic/curl_quiche.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - line
    - argp
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: quiche_debug_log
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    linkageType: ''
    returnType: void
    signature: void quiche_debug_log(const char *line, void *argp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:119,1
    - Dst: quiche_enable_debug_logging
      Src: /src/curl/lib/vquic/curl_quiche.c:122,1
    - Dst: Curl_bufcp_init
      Src: /src/curl/lib/vquic/curl_quiche.c:126,1
    - Dst: Curl_uint_hash_init
      Src: /src/curl/lib/vquic/curl_quiche.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_quiche_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: cf_quiche_ctx_init
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_init
    - quiche_enable_debug_logging
    - Curl_bufcp_init
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void cf_quiche_ctx_init(struct cf_quiche_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vquic_tls_cleanup
      Src: /src/curl/lib/vquic/curl_quiche.c:138,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/curl/lib/vquic/curl_quiche.c:139,1
    - Dst: vquic_ctx_free
      Src: /src/curl/lib/vquic/curl_quiche.c:140,1
    - Dst: Curl_bufcp_free
      Src: /src/curl/lib/vquic/curl_quiche.c:141,1
    - Dst: Curl_uint_hash_destroy
      Src: /src/curl/lib/vquic/curl_quiche.c:142,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_quiche.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_quiche_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: cf_quiche_ctx_free
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_vquic_tls_cleanup
    - Curl_uint_hash_destroy
    - free
    - Curl_bufcp_free
    - Curl_ssl_peer_cleanup
    - vquic_ctx_free
    linkageType: ''
    returnType: void
    signature: void cf_quiche_ctx_free(struct cf_quiche_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_conn_free
      Src: /src/curl/lib/vquic/curl_quiche.c:150,1
    - Dst: quiche_h3_config_free
      Src: /src/curl/lib/vquic/curl_quiche.c:154,1
    - Dst: quiche_conn_free
      Src: /src/curl/lib/vquic/curl_quiche.c:158,1
    - Dst: quiche_config_free
      Src: /src/curl/lib/vquic/curl_quiche.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_quiche_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: cf_quiche_ctx_close
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_conn_free
    - quiche_config_free
    - quiche_h3_config_free
    - quiche_h3_conn_free
    linkageType: ''
    returnType: void
    signature: void cf_quiche_ctx_close(struct cf_quiche_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/vquic/curl_quiche.c:189,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/curl/lib/vquic/curl_quiche.c:190,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_quiche.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h3_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: h3_stream_ctx_free
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 2
    functionsReached:
    - free
    - Curl_bufq_free
    - Curl_h1_req_parse_free
    linkageType: ''
    returnType: void
    signature: void h3_stream_ctx_free(struct h3_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:197,1
    - Dst: h3_stream_ctx_free
      Src: /src/curl/lib/vquic/curl_quiche.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - stream
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: h3_stream_hash_free
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - h3_stream_ctx_free
    linkageType: ''
    returnType: void
    signature: void h3_stream_hash_free(unsigned int id, void *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/vquic/curl_quiche.c:217,1
    - Dst: struct cf_quiche_visit_ctx*::cb
      Src: /src/curl/lib/vquic/curl_quiche.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: cf_quiche_stream_do
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - struct cf_quiche_visit_ctx*::cb
    linkageType: ''
    returnType: bool
    signature: bool cf_quiche_stream_do(unsigned int mid, void *val, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_visit
      Src: /src/curl/lib/vquic/curl_quiche.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cf
    - multi
    - do_cb
    - user_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_multi*
    - cf_quiche_svisit*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: cf_quiche_for_all_streams
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_visit
    linkageType: ''
    returnType: void
    signature: "void cf_quiche_for_all_streams(struct Curl_cfilter *cf,\n                                      struct
      Curl_multi *multi,\n                                      cf_quiche_svisit *do_cb,\n
      \                                     void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_quiche.c:245,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cf
    - sdata
    - stream
    - user_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: cf_quiche_do_resume
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    linkageType: ''
    returnType: bool
    signature: "bool cf_quiche_do_resume(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *sdata,\n                                struct h3_stream_ctx *stream,\n
      \                               void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:258,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_quiche.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cf
    - sdata
    - stream
    - user_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: cf_quiche_do_expire
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    linkageType: ''
    returnType: bool
    signature: "bool cf_quiche_do_expire(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *sdata,\n                                struct h3_stream_ctx *stream,\n
      \                               void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:267,1
    - Dst: calloc
      Src: /src/curl/lib/vquic/curl_quiche.c:272,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/lib/vquic/curl_quiche.c:277,1
    - Dst: Curl_h1_req_parse_init
      Src: /src/curl/lib/vquic/curl_quiche.c:279,1
    - Dst: Curl_uint_hash_set
      Src: /src/curl/lib/vquic/curl_quiche.c:281,1
    - Dst: h3_stream_ctx_free
      Src: /src/curl/lib/vquic/curl_quiche.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: h3_data_setup
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - calloc
    - Curl_bufq_initp
    - H3_STREAM_CTX
    - Curl_uint_hash_set
    - Curl_h1_req_parse_init
    - h3_stream_ctx_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_setup(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:292,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:297,1
    - Dst: quiche_conn_stream_shutdown
      Src: /src/curl/lib/vquic/curl_quiche.c:299,1
    - Dst: quiche_conn_stream_shutdown
      Src: /src/curl/lib/vquic/curl_quiche.c:302,1
    - Dst: cf_flush_egress
      Src: /src/curl/lib/vquic/curl_quiche.c:307,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:309,1
    - Dst: Curl_uint_hash_remove
      Src: /src/curl/lib/vquic/curl_quiche.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 289
    functionDepth: 4
    functionLinenumber: 289
    functionLinenumberEnd: 313
    functionName: h3_data_done
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - cf_flush_egress
    - CURL_TRC_CF
    - Curl_uint_hash_remove
    - H3_STREAM_CTX
    - quiche_conn_stream_shutdown
    linkageType: ''
    returnType: void
    signature: void h3_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:318,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:319,1
    - Dst: cf_quiche_for_all_streams
      Src: /src/curl/lib/vquic/curl_quiche.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: cf_quiche_expire_conn_closed
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_quiche_for_all_streams
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void cf_quiche_expire_conn_closed(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:333,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/vquic/curl_quiche.c:340,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - cf
    - data
    - mem
    - memlen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 5
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: write_resp_raw
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 3
    functionsReached:
    - H3_STREAM_CTX
    - DEBUGASSERT
    - Curl_bufq_write
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode write_resp_raw(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const void *mem, size_t memlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:364,1
    - Dst: strncmp
      Src: /src/curl/lib/vquic/curl_quiche.c:370,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:371,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_quiche.c:373,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_quiche.c:375,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_quiche.c:377,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:380,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_quiche.c:383,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_quiche.c:385,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_quiche.c:387,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_quiche.c:389,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - name
    - name_len
    - value
    - value_len
    - argp
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 396
    functionName: cb_each_header
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - write_resp_raw
    - strncmp
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_each_header(uint8_t *name, size_t name_len,\n                          uint8_t
      *value, size_t value_len,\n                          void *argp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:404,1
    - Dst: quiche_h3_recv_body
      Src: /src/curl/lib/vquic/curl_quiche.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - reader_ctx
    - buf
    - len
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 418
    functionName: stream_resp_read
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - quiche_h3_recv_body
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode stream_resp_read(void *reader_ctx,\n                                 unsigned
      char *buf, size_t len,\n                                 size_t *pnread)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:424,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_quiche.c:433,1
    - Dst: Curl_bufq_slurp
      Src: /src/curl/lib/vquic/curl_quiche.c:441,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:445,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:447,1
    - Dst: streamclose
      Src: /src/curl/lib/vquic/curl_quiche.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 420
    functionDepth: 7
    functionLinenumber: 420
    functionLinenumberEnd: 456
    functionName: cf_recv_body
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - failf
    - CURL_TRC_CF
    - H3_STREAM_CTX
    - write_resp_raw
    - Curl_bufq_slurp
    - streamclose
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_recv_body(struct Curl_cfilter *cf,\n                             struct
      Curl_easy *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_event_type
      Src: /src/curl/lib/vquic/curl_quiche.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ev
    argTypes:
    - quiche_h3_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 475
    functionName: cf_ev_name
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_h3_event_type
    linkageType: ''
    returnType: char
    signature: char *cf_ev_name(quiche_h3_event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: cf_ev_name
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf_ev_name(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_event_type
      Src: /src/curl/lib/vquic/curl_quiche.c:491,1
    - Dst: quiche_h3_event_for_each_header
      Src: /src/curl/lib/vquic/curl_quiche.c:496,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:498,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:502,1
    - Dst: cf_recv_body
      Src: /src/curl/lib/vquic/curl_quiche.c:507,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:512,1
    - Dst: streamclose
      Src: /src/curl/lib/vquic/curl_quiche.c:516,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:520,1
    - Dst: write_resp_raw
      Src: /src/curl/lib/vquic/curl_quiche.c:522,1
    - Dst: streamclose
      Src: /src/curl/lib/vquic/curl_quiche.c:528,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:532,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:536,1
    - Dst: quiche_h3_event_type
      Src: /src/curl/lib/vquic/curl_quiche.c:537,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - ev
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - quiche_h3_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 480
    functionDepth: 8
    functionLinenumber: 480
    functionLinenumberEnd: 541
    functionName: h3_process_event
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_recv_body
    - failf
    - CURL_TRC_CF
    - write_resp_raw
    - quiche_h3_event_type
    - streamclose
    - quiche_h3_event_for_each_header
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_process_event(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct h3_stream_ctx *stream,\n
      \                                quiche_h3_event *ev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h3_process_event
      Src: /src/curl/lib/vquic/curl_quiche.c:548,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_quiche.c:549,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:551,1
    - Dst: cf_ev_name
      Src: /src/curl/lib/vquic/curl_quiche.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - ev
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - quiche_h3_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 543
    functionDepth: 9
    functionLinenumber: 543
    functionLinenumberEnd: 555
    functionName: cf_quiche_ev_process
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - h3_process_event
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    - cf_ev_name
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_ev_process(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct h3_stream_ctx
      *stream,\n                                     quiche_h3_event *ev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_get_easy
      Src: /src/curl/lib/vquic/curl_quiche.c:571,1
    - Dst: cf_quiche_ev_process
      Src: /src/curl/lib/vquic/curl_quiche.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mid
    - val
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 565
    functionDepth: 10
    functionLinenumber: 565
    functionLinenumberEnd: 577
    functionName: cf_quiche_disp_event
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_multi_get_easy
    - cf_quiche_ev_process
    linkageType: ''
    returnType: bool
    signature: bool cf_quiche_disp_event(unsigned int mid, void *val, void *user_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_conn_poll
      Src: /src/curl/lib/vquic/curl_quiche.c:588,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:593,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:603,1
    - Dst: cf_quiche_ev_process
      Src: /src/curl/lib/vquic/curl_quiche.c:606,1
    - Dst: quiche_h3_event_free
      Src: /src/curl/lib/vquic/curl_quiche.c:607,1
    - Dst: Curl_uint_hash_visit
      Src: /src/curl/lib/vquic/curl_quiche.c:614,1
    - Dst: quiche_h3_event_free
      Src: /src/curl/lib/vquic/curl_quiche.c:615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 579
    functionDepth: 10
    functionLinenumber: 579
    functionLinenumberEnd: 620
    functionName: cf_poll_events
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_h3_conn_poll
    - quiche_h3_event_free
    - CURL_TRC_CF
    - H3_STREAM_CTX
    - Curl_uint_hash_visit
    - cf_quiche_ev_process
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_poll_events(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_recv
      Src: /src/curl/lib/vquic/curl_quiche.c:646,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vquic/curl_quiche.c:647,1
    - Dst: quiche_conn_is_draining
      Src: /src/curl/lib/vquic/curl_quiche.c:651,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:652,1
    - Dst: quiche_conn_is_closed
      Src: /src/curl/lib/vquic/curl_quiche.c:655,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:656,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:659,1
    - Dst: SSL_get_verify_result
      Src: /src/curl/lib/vquic/curl_quiche.c:663,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:665,1
    - Dst: X509_verify_cert_error_string
      Src: /src/curl/lib/vquic/curl_quiche.c:666,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:669,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:673,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 6
    argNames:
    - pkt
    - pktlen
    - remote_addr
    - remote_addrlen
    - ecn
    - userp
    argTypes:
    - unsigned char*
    - size_t
    - struct sockaddr_storage*
    - socklen_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 683
    functionName: recv_pkt
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - SSL_get_verify_result
    - failf
    - CURL_TRC_CF
    - CURL_UNCONST
    - X509_verify_cert_error_string
    - quiche_conn_is_closed
    - quiche_conn_recv
    - quiche_conn_is_draining
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_pkt(const unsigned char *pkt, size_t pktlen,\n                         struct
      sockaddr_storage *remote_addr,\n                         socklen_t remote_addrlen,
      int ecn,\n                         void *userp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:692,1
    - Dst: Curl_vquic_tls_before_recv
      Src: /src/curl/lib/vquic/curl_quiche.c:693,1
    - Dst: vquic_recv_packets
      Src: /src/curl/lib/vquic/curl_quiche.c:701,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:708,1
    - Dst: cf_quiche_for_all_streams
      Src: /src/curl/lib/vquic/curl_quiche.c:709,1
    - Dst: cf_poll_events
      Src: /src/curl/lib/vquic/curl_quiche.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 685
    functionDepth: 11
    functionLinenumber: 685
    functionLinenumberEnd: 712
    functionName: cf_process_ingress
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_poll_events
    - Curl_vquic_tls_before_recv
    - vquic_recv_packets
    - cf_quiche_for_all_streams
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_process_ingress(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_send
      Src: /src/curl/lib/vquic/curl_quiche.c:729,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - userp
    - buf
    - buflen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 739
    functionName: read_pkt_to_send
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - failf
    - quiche_conn_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode read_pkt_to_send(void *userp,\n                                 unsigned
      char *buf, size_t buflen,\n                                 size_t *pnread)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_timeout_as_nanos
      Src: /src/curl/lib/vquic/curl_quiche.c:756,1
    - Dst: quiche_conn_on_timeout
      Src: /src/curl/lib/vquic/curl_quiche.c:758,1
    - Dst: quiche_conn_is_closed
      Src: /src/curl/lib/vquic/curl_quiche.c:759,1
    - Dst: quiche_conn_is_timed_out
      Src: /src/curl/lib/vquic/curl_quiche.c:760,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:761,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:763,1
    - Dst: cf_quiche_expire_conn_closed
      Src: /src/curl/lib/vquic/curl_quiche.c:766,1
    - Dst: vquic_flush
      Src: /src/curl/lib/vquic/curl_quiche.c:771,1
    - Dst: Curl_expire
      Src: /src/curl/lib/vquic/curl_quiche.c:774,1
    - Dst: memset
      Src: /src/curl/lib/vquic/curl_quiche.c:782,1
    - Dst: quiche_conn_max_send_udp_payload_size
      Src: /src/curl/lib/vquic/curl_quiche.c:784,1
    - Dst: Curl_bufq_sipn
      Src: /src/curl/lib/vquic/curl_quiche.c:787,1
    - Dst: vquic_send
      Src: /src/curl/lib/vquic/curl_quiche.c:793,1
    - Dst: Curl_expire
      Src: /src/curl/lib/vquic/curl_quiche.c:796,1
    - Dst: vquic_send
      Src: /src/curl/lib/vquic/curl_quiche.c:806,1
    - Dst: Curl_expire
      Src: /src/curl/lib/vquic/curl_quiche.c:809,1
    - Dst: quiche_conn_timeout_as_nanos
      Src: /src/curl/lib/vquic/curl_quiche.c:819,1
    - Dst: Curl_expire
      Src: /src/curl/lib/vquic/curl_quiche.c:823,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 745
    functionDepth: 7
    functionLinenumber: 745
    functionLinenumberEnd: 825
    functionName: cf_flush_egress
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - Curl_expire
    - vquic_send
    - failf
    - vquic_flush
    - Curl_bufq_sipn
    - cf_quiche_expire_conn_closed
    - quiche_conn_timeout_as_nanos
    - quiche_conn_max_send_udp_payload_size
    - quiche_conn_on_timeout
    - memset
    - quiche_conn_is_closed
    - quiche_conn_is_timed_out
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_flush_egress(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:832,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:835,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:838,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:841,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cf
    - data
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 852
    functionName: recv_closed_stream
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - H3_STREAM_CTX
    - DEBUGASSERT
    - CURL_TRC_CF
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_closed_stream(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   size_t *pnread)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:858,1
    - Dst: vquic_ctx_update_time
      Src: /src/curl/lib/vquic/curl_quiche.c:862,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_quiche.c:868,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/vquic/curl_quiche.c:869,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:870,1
    - Dst: cf_process_ingress
      Src: /src/curl/lib/vquic/curl_quiche.c:876,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:878,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_quiche.c:883,1
    - Dst: Curl_bufq_cread
      Src: /src/curl/lib/vquic/curl_quiche.c:884,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:885,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_quiche.c:893,1
    - Dst: recv_closed_stream
      Src: /src/curl/lib/vquic/curl_quiche.c:897,1
    - Dst: quiche_conn_is_draining
      Src: /src/curl/lib/vquic/curl_quiche.c:898,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:899,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_quiche.c:907,1
    - Dst: cf_flush_egress
      Src: /src/curl/lib/vquic/curl_quiche.c:907,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:910,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 854
    functionDepth: 12
    functionLinenumber: 854
    functionLinenumberEnd: 914
    functionName: cf_quiche_recv
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_process_ingress
    - Curl_1st_err
    - cf_flush_egress
    - failf
    - CURL_TRC_CF
    - Curl_bufq_cread
    - H3_STREAM_CTX
    - Curl_bufq_is_empty
    - quiche_conn_is_draining
    - Curl_multi_mark_dirty
    - recv_closed_stream
    - vquic_ctx_update_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               char *buf, size_t len, size_t *pnread)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: quiche_h3_send_body
      Src: /src/curl/lib/vquic/curl_quiche.c:926,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vquic/curl_quiche.c:927,1
    - Dst: quiche_conn_stream_writable
      Src: /src/curl/lib/vquic/curl_quiche.c:931,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:932,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:939,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:944,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:949,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 7
    argNames:
    - cf
    - data
    - stream
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 962
    functionName: cf_quiche_send_body
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_conn_stream_writable
    - quiche_h3_send_body
    - CURL_TRC_CF
    - CURL_UNCONST
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_send_body(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    struct h3_stream_ctx *stream,\n
      \                                   const void *buf, size_t len, bool eos,\n
      \                                   size_t *pnwritten)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:970,1
    - Dst: h3_data_setup
      Src: /src/curl/lib/vquic/curl_quiche.c:980,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:983,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:984,1
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/vquic/curl_quiche.c:987,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:989,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/curl/lib/vquic/curl_quiche.c:990,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:997,1
    - Dst: Curl_http_req_to_h2
      Src: /src/curl/lib/vquic/curl_quiche.c:999,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/curl/lib/vquic/curl_quiche.c:1004,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/lib/vquic/curl_quiche.c:1006,1
    - Dst: malloc
      Src: /src/curl/lib/vquic/curl_quiche.c:1007,1
    - Dst: Curl_dynhds_getn
      Src: /src/curl/lib/vquic/curl_quiche.c:1014,1
    - Dst: quiche_h3_send_request
      Src: /src/curl/lib/vquic/curl_quiche.c:1028,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1030,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1035,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1041,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:1048,1
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/vquic/curl_quiche.c:1054,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_quiche.c:1055,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_quiche.c:1058,1
    - Dst: cf_quiche_send_body
      Src: /src/curl/lib/vquic/curl_quiche.c:1068,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_quiche.c:1078,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/vquic/curl_quiche.c:1079,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - blen
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 964
    functionDepth: 5
    functionLinenumber: 964
    functionLinenumberEnd: 1081
    functionName: h3_open_stream
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_h1_req_parse_free
    - malloc
    - Curl_dynhds_count
    - CURL_TRC_CF
    - h3_data_setup
    - H3_STREAM_CTX
    - Curl_http_req_to_h2
    - quiche_h3_send_request
    - Curl_trc_is_verbose
    - Curl_dynhds_free
    - free
    - cf_quiche_send_body
    - Curl_h1_req_parse_read
    - infof
    - DEBUGASSERT
    - Curl_dynhds_init
    - Curl_dynhds_getn
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_open_stream(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const char *buf, size_t blen,
      bool eos,\n                               size_t *pnwritten)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:1088,1
    - Dst: vquic_ctx_update_time
      Src: /src/curl/lib/vquic/curl_quiche.c:1092,1
    - Dst: cf_process_ingress
      Src: /src/curl/lib/vquic/curl_quiche.c:1094,1
    - Dst: h3_open_stream
      Src: /src/curl/lib/vquic/curl_quiche.c:1099,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:1102,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1114,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1120,1
    - Dst: cf_quiche_send_body
      Src: /src/curl/lib/vquic/curl_quiche.c:1126,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_quiche.c:1130,1
    - Dst: cf_flush_egress
      Src: /src/curl/lib/vquic/curl_quiche.c:1130,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1083
    functionDepth: 12
    functionLinenumber: 1083
    functionLinenumberEnd: 1136
    functionName: cf_quiche_send
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_process_ingress
    - Curl_1st_err
    - cf_flush_egress
    - h3_open_stream
    - CURL_TRC_CF
    - H3_STREAM_CTX
    - cf_quiche_send_body
    - vquic_ctx_update_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               const void *buf, size_t len, bool eos,\n
      \                              size_t *pnwritten)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:1142,1
    - Dst: quiche_conn_stream_writable
      Src: /src/curl/lib/vquic/curl_quiche.c:1144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1146
    functionName: stream_is_writeable
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_conn_stream_writable
    - H3_STREAM_CTX
    linkageType: ''
    returnType: bool
    signature: "bool stream_is_writeable(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_check
      Src: /src/curl/lib/vquic/curl_quiche.c:1159,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:1161,1
    - Dst: stream_is_writeable
      Src: /src/curl/lib/vquic/curl_quiche.c:1167,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_quiche.c:1170,1
    - Dst: Curl_pollset_set
      Src: /src/curl/lib/vquic/curl_quiche.c:1172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1148
    functionDepth: 3
    functionLinenumber: 1148
    functionLinenumberEnd: 1175
    functionName: cf_quiche_adjust_pollset
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_pollset_set
    - H3_STREAM_CTX
    - Curl_bufq_is_empty
    - stream_is_writeable
    - Curl_pollset_check
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_adjust_pollset(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         struct easy_pollset
      *ps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:1185,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_quiche.c:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1188
    functionName: cf_quiche_data_pending
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - Curl_bufq_is_empty
    linkageType: ''
    returnType: bool
    signature: "bool cf_quiche_data_pending(struct Curl_cfilter *cf,\n                                   const
      struct Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_quiche.c:1198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - pause
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1201
    functionName: h3_data_pause
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 1
    functionsReached:
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_pause(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool pause)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: h3_data_pause
      Src: /src/curl/lib/vquic/curl_quiche.c:1216,1
    - Dst: h3_data_done
      Src: /src/curl/lib/vquic/curl_quiche.c:1219,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_quiche.c:1222,1
    - Dst: cf_quiche_send
      Src: /src/curl/lib/vquic/curl_quiche.c:1229,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1230,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/curl/lib/vquic/curl_quiche.c:1238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1203
    functionDepth: 13
    functionLinenumber: 1203
    functionLinenumberEnd: 1245
    functionName: cf_quiche_cntrl
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - h3_data_done
    - H3_STREAM_CTX
    - Curl_conn_set_multiplex
    - h3_data_pause
    - cf_quiche_send
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_cntrl(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int event, int arg1, void
      *arg2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:1256,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:1257,1
    - Dst: vquic_ctx_init
      Src: /src/curl/lib/vquic/curl_quiche.c:1259,1
    - Dst: quiche_config_new
      Src: /src/curl/lib/vquic/curl_quiche.c:1263,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:1265,1
    - Dst: quiche_config_enable_pacing
      Src: /src/curl/lib/vquic/curl_quiche.c:1268,1
    - Dst: quiche_config_set_initial_max_data
      Src: /src/curl/lib/vquic/curl_quiche.c:1269,1
    - Dst: quiche_config_set_initial_max_streams_bidi
      Src: /src/curl/lib/vquic/curl_quiche.c:1271,1
    - Dst: quiche_config_set_initial_max_streams_uni
      Src: /src/curl/lib/vquic/curl_quiche.c:1272,1
    - Dst: quiche_config_set_initial_max_stream_data_bidi_local
      Src: /src/curl/lib/vquic/curl_quiche.c:1273,1
    - Dst: quiche_config_set_initial_max_stream_data_bidi_remote
      Src: /src/curl/lib/vquic/curl_quiche.c:1275,1
    - Dst: quiche_config_set_initial_max_stream_data_uni
      Src: /src/curl/lib/vquic/curl_quiche.c:1277,1
    - Dst: quiche_config_set_disable_active_migration
      Src: /src/curl/lib/vquic/curl_quiche.c:1279,1
    - Dst: quiche_config_set_max_connection_window
      Src: /src/curl/lib/vquic/curl_quiche.c:1281,1
    - Dst: quiche_config_set_max_stream_window
      Src: /src/curl/lib/vquic/curl_quiche.c:1283,1
    - Dst: quiche_config_set_application_protos
      Src: /src/curl/lib/vquic/curl_quiche.c:1284,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vquic/curl_quiche.c:1285,1
    - Dst: Curl_vquic_tls_init
      Src: /src/curl/lib/vquic/curl_quiche.c:1289,1
    - Dst: Curl_rand
      Src: /src/curl/lib/vquic/curl_quiche.c:1294,1
    - Dst: Curl_cf_socket_peek
      Src: /src/curl/lib/vquic/curl_quiche.c:1298,1
    - Dst: getsockname
      Src: /src/curl/lib/vquic/curl_quiche.c:1302,1
    - Dst: quiche_conn_new_with_tls
      Src: /src/curl/lib/vquic/curl_quiche.c:1307,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_quiche.c:1315,1
    - Dst: Curl_qlogdir
      Src: /src/curl/lib/vquic/curl_quiche.c:1323,1
    - Dst: quiche_conn_set_qlog_fd
      Src: /src/curl/lib/vquic/curl_quiche.c:1325,1
    - Dst: cf_flush_egress
      Src: /src/curl/lib/vquic/curl_quiche.c:1330,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1345,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1247
    functionDepth: 8
    functionLinenumber: 1247
    functionLinenumberEnd: 1350
    functionName: cf_quiche_ctx_open
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - quiche_config_set_max_stream_window
    - quiche_config_set_initial_max_stream_data_bidi_remote
    - CURL_UNCONST
    - quiche_config_set_application_protos
    - quiche_config_enable_pacing
    - getsockname
    - cf_flush_egress
    - failf
    - quiche_config_set_disable_active_migration
    - Curl_qlogdir
    - vquic_ctx_init
    - quiche_config_set_initial_max_stream_data_uni
    - CURL_TRC_CF
    - quiche_config_new
    - quiche_conn_new_with_tls
    - quiche_config_set_initial_max_stream_data_bidi_local
    - Curl_rand
    - quiche_config_set_initial_max_streams_uni
    - quiche_conn_set_qlog_fd
    - DEBUGASSERT
    - quiche_config_set_initial_max_streams_bidi
    - quiche_config_set_max_connection_window
    - Curl_vquic_tls_init
    - Curl_cf_socket_peek
    - quiche_config_set_initial_max_data
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_ctx_open(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vquic_tls_verify_peer
      Src: /src/curl/lib/vquic/curl_quiche.c:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1352
    functionDepth: 11
    functionLinenumber: 1352
    functionLinenumberEnd: 1357
    functionName: cf_quiche_verify_peer
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - Curl_vquic_tls_verify_peer
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_verify_peer(struct Curl_cfilter *cf,\n                                      struct
      Curl_easy *data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/vquic/curl_quiche.c:1373,1
    - Dst: vquic_ctx_update_time
      Src: /src/curl/lib/vquic/curl_quiche.c:1379,1
    - Dst: cf_quiche_ctx_open
      Src: /src/curl/lib/vquic/curl_quiche.c:1382,1
    - Dst: cf_flush_egress
      Src: /src/curl/lib/vquic/curl_quiche.c:1386,1
    - Dst: cf_process_ingress
      Src: /src/curl/lib/vquic/curl_quiche.c:1391,1
    - Dst: cf_flush_egress
      Src: /src/curl/lib/vquic/curl_quiche.c:1395,1
    - Dst: quiche_conn_is_established
      Src: /src/curl/lib/vquic/curl_quiche.c:1399,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1401,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vquic/curl_quiche.c:1402,1
    - Dst: cf_quiche_verify_peer
      Src: /src/curl/lib/vquic/curl_quiche.c:1403,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1405,1
    - Dst: quiche_h3_config_new
      Src: /src/curl/lib/vquic/curl_quiche.c:1406,1
    - Dst: quiche_h3_conn_new_with_transport
      Src: /src/curl/lib/vquic/curl_quiche.c:1413,1
    - Dst: connkeep
      Src: /src/curl/lib/vquic/curl_quiche.c:1420,1
    - Dst: quiche_conn_is_draining
      Src: /src/curl/lib/vquic/curl_quiche.c:1423,1
    - Dst: Curl_cf_socket_peek
      Src: /src/curl/lib/vquic/curl_quiche.c:1436,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_quiche.c:1437,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/vquic/curl_quiche.c:1438,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_quiche.c:1440,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/vquic/curl_quiche.c:1440,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1359
    functionDepth: 12
    functionLinenumber: 1359
    functionLinenumberEnd: 1444
    functionName: cf_quiche_connect
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_process_ingress
    - cf_flush_egress
    - quiche_conn_is_draining
    - CURL_TRC_CF
    - cf_quiche_verify_peer
    - curl_easy_strerror
    - Curl_conn_cf_connect
    - connkeep
    - quiche_h3_conn_new_with_transport
    - curlx_timediff
    - quiche_conn_is_established
    - quiche_h3_config_new
    - Curl_cf_socket_peek
    - infof
    - cf_quiche_ctx_open
    - vquic_ctx_update_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_connect(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  bool *done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vquic_ctx_update_time
      Src: /src/curl/lib/vquic/curl_quiche.c:1462,1
    - Dst: quiche_conn_close
      Src: /src/curl/lib/vquic/curl_quiche.c:1463,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1465,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_quiche.c:1472,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1473,1
    - Dst: cf_flush_egress
      Src: /src/curl/lib/vquic/curl_quiche.c:1474,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_quiche.c:1479,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1482,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1446
    functionDepth: 8
    functionLinenumber: 1446
    functionLinenumberEnd: 1491
    functionName: cf_quiche_shutdown
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_flush_egress
    - CURL_TRC_CF
    - Curl_bufq_is_empty
    - quiche_conn_close
    - vquic_ctx_update_time
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_shutdown(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data, bool *done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_quiche_shutdown
      Src: /src/curl/lib/vquic/curl_quiche.c:1497,1
    - Dst: cf_quiche_ctx_close
      Src: /src/curl/lib/vquic/curl_quiche.c:1498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1493
    functionDepth: 9
    functionLinenumber: 1493
    functionLinenumberEnd: 1501
    functionName: cf_quiche_close
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_quiche_ctx_close
    - cf_quiche_shutdown
    linkageType: ''
    returnType: void
    signature: void cf_quiche_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_quiche_ctx_close
      Src: /src/curl/lib/vquic/curl_quiche.c:1507,1
    - Dst: cf_quiche_ctx_free
      Src: /src/curl/lib/vquic/curl_quiche.c:1508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1503
    functionDepth: 6
    functionLinenumber: 1503
    functionLinenumberEnd: 1511
    functionName: cf_quiche_destroy
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_quiche_ctx_free
    - cf_quiche_ctx_close
    linkageType: ''
    returnType: void
    signature: void cf_quiche_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/vquic/curl_quiche.c:1521,1
    - Dst: quiche_conn_peer_streams_left_bidi
      Src: /src/curl/lib/vquic/curl_quiche.c:1523,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1526,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/vquic/curl_quiche.c:1528,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vquic/curl_quiche.c:1533,1
    - Dst: Curl_vquic_tls_get_ssl_info
      Src: /src/curl/lib/vquic/curl_quiche.c:1557,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_quiche.c:1564,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/vquic/curl_quiche.c:1572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1574
    functionName: cf_quiche_query
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - CONN_ATTACHED
    - struct Curl_cfilter*::next::cft::query
    - CURL_TRC_CF
    - curlx_timediff
    - quiche_conn_peer_streams_left_bidi
    - DEBUGASSERT
    - Curl_vquic_tls_get_ssl_info
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_quiche_query(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int query, int *pres1, void
      *pres2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: quiche_conn_is_closed
      Src: /src/curl/lib/vquic/curl_quiche.c:1587,1
    - Dst: quiche_conn_is_timed_out
      Src: /src/curl/lib/vquic/curl_quiche.c:1588,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1589,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_quiche.c:1591,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/curl/lib/vquic/curl_quiche.c:1595,1
    - Dst: cf_process_ingress
      Src: /src/curl/lib/vquic/curl_quiche.c:1603,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1576
    functionDepth: 12
    functionLinenumber: 1576
    functionLinenumberEnd: 1611
    functionName: cf_quiche_conn_is_alive
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - cf_process_ingress
    - struct Curl_cfilter*::next::cft::is_alive
    - CURL_TRC_CF
    - quiche_conn_is_closed
    - quiche_conn_is_timed_out
    linkageType: ''
    returnType: bool
    signature: "bool cf_quiche_conn_is_alive(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *input_pending)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/vquic/curl_quiche.c:1642,1
    - Dst: cf_quiche_ctx_init
      Src: /src/curl/lib/vquic/curl_quiche.c:1647,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/vquic/curl_quiche.c:1649,1
    - Dst: Curl_cf_udp_create
      Src: /src/curl/lib/vquic/curl_quiche.c:1654,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/vquic/curl_quiche.c:1664,1
    - Dst: cf_quiche_ctx_free
      Src: /src/curl/lib/vquic/curl_quiche.c:1666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - pcf
    - data
    - conn
    - ai
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1631
    functionDepth: 6
    functionLinenumber: 1631
    functionLinenumberEnd: 1670
    functionName: Curl_cf_quiche_create
    functionSourceFile: /src/curl/lib/vquic/curl_quiche.c
    functionUses: 0
    functionsReached:
    - calloc
    - cf_quiche_ctx_init
    - Curl_cf_create
    - Curl_cf_udp_create
    - cf_quiche_ctx_free
    - Curl_conn_cf_discard_chain
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_quiche_create(struct Curl_cfilter **pcf,\n                               struct
      Curl_easy *data,\n                               struct connectdata *conn,\n
      \                              const struct Curl_addrinfo *ai)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: H3_STREAM_CTX
    functionSourceFile: /src/curl/lib/vquic/vquic_int.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H3_STREAM_CTX(ctx,data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_crypto_ossl_init
      Src: /src/curl/lib/vquic/vquic.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: Curl_vquic_init
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - ngtcp2_crypto_ossl_init
    linkageType: ''
    returnType: int
    signature: int Curl_vquic_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ngtcp2_ver
      Src: /src/curl/lib/vquic/vquic.c:73,1
    - Dst: Curl_osslq_ver
      Src: /src/curl/lib/vquic/vquic.c:75,1
    - Dst: Curl_quiche_ver
      Src: /src/curl/lib/vquic/vquic.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 7
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: Curl_quic_ver
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - Curl_ngtcp2_ver
    - Curl_osslq_ver
    - Curl_quiche_ver
    linkageType: ''
    returnType: void
    signature: void Curl_quic_ver(char *p, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_init2
      Src: /src/curl/lib/vquic/vquic.c:83,1
    - Dst: getenv
      Src: /src/curl/lib/vquic/vquic.c:92,1
    - Dst: curlx_str_number
      Src: /src/curl/lib/vquic/vquic.c:95,1
    - Dst: vquic_ctx_update_time
      Src: /src/curl/lib/vquic/vquic.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - struct cf_quic_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: vquic_ctx_init
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - curlx_str_number
    - getenv
    - vquic_ctx_update_time
    - Curl_bufq_init2
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode vquic_ctx_init(struct cf_quic_ctx *qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/vquic/vquic.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - struct cf_quic_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: vquic_ctx_free
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - Curl_bufq_free
    linkageType: ''
    returnType: void
    signature: void vquic_ctx_free(struct cf_quic_ctx *qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curlx_now
      Src: /src/curl/lib/vquic/vquic.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - struct cf_quic_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: vquic_ctx_update_time
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 5
    functionsReached:
    - curlx_now
    linkageType: ''
    returnType: void
    signature: void vquic_ctx_update_time(struct cf_quic_ctx *qctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vquic/vquic.c:138,1
    - Dst: assert
      Src: /src/curl/lib/vquic/vquic.c:148,1
    - Dst: CMSG_SPACE
      Src: /src/curl/lib/vquic/vquic.c:148,1
    - Dst: CMSG_SPACE
      Src: /src/curl/lib/vquic/vquic.c:149,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/curl/lib/vquic/vquic.c:150,1
    - Dst: CMSG_LEN
      Src: /src/curl/lib/vquic/vquic.c:153,1
    - Dst: CMSG_DATA
      Src: /src/curl/lib/vquic/vquic.c:154,1
    - Dst: sendmsg
      Src: /src/curl/lib/vquic/vquic.c:159,1
    - Dst: infof
      Src: /src/curl/lib/vquic/vquic.c:176,1
    - Dst: send_packet_no_gso
      Src: /src/curl/lib/vquic/vquic.c:179,1
    - Dst: FALLTHROUGH
      Src: /src/curl/lib/vquic/vquic.c:181,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:183,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:189,1
    - Dst: CURL_SEND
      Src: /src/curl/lib/vquic/vquic.c:199,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:210,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 7
    argNames:
    - cf
    - data
    - qctx
    - pkt
    - pktlen
    - gsolen
    - psent
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - uint8_t*
    - size_t
    - size_t
    - size_t*
    assertStmts:
    - condition: (sizeof(msg_ctrl) >= CMSG_SPACE(sizeof(int)))
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/curl/lib/vquic/vquic.c
    constantsTouched: []
    func_position:
      end: 225
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 225
    functionName: do_sendmsg
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - FALLTHROUGH
    - failf
    - CURL_SEND
    - CURL_UNCONST
    - sendmsg
    - CMSG_FIRSTHDR
    - CMSG_LEN
    - send_packet_no_gso
    - infof
    - assert
    - CMSG_SPACE
    - CMSG_DATA
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode do_sendmsg(struct Curl_cfilter *cf,\n                           struct
      Curl_easy *data,\n                           struct cf_quic_ctx *qctx,\n                           const
      uint8_t *pkt, size_t pktlen, size_t gsolen,\n                           size_t
      *psent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURLMIN
      Src: /src/curl/lib/vquic/vquic.c:246,1
    - Dst: do_sendmsg
      Src: /src/curl/lib/vquic/vquic.c:247,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/vquic.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - cf
    - data
    - qctx
    - pkt
    - pktlen
    - gsolen
    - psent
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - uint8_t*
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 258
    functionName: send_packet_no_gso
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - CURL_TRC_CF
    - CURLMIN
    - do_sendmsg
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode send_packet_no_gso(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct cf_quic_ctx *qctx,\n
      \                                  const uint8_t *pkt, size_t pktlen,\n                                   size_t
      gsolen, size_t *psent)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/curl/lib/vquic/vquic.c:272,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/vquic.c:274,1
    - Dst: send_packet_no_gso
      Src: /src/curl/lib/vquic/vquic.c:280,1
    - Dst: do_sendmsg
      Src: /src/curl/lib/vquic/vquic.c:283,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/vquic.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 7
    argNames:
    - cf
    - data
    - qctx
    - pkt
    - pktlen
    - gsolen
    - psent
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - uint8_t*
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 291
    functionName: vquic_send_packets
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    - do_sendmsg
    - send_packet_no_gso
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_send_packets(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct cf_quic_ctx *qctx,\n
      \                                  const uint8_t *pkt, size_t pktlen,\n                                   size_t
      gsolen, size_t *psent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_peek
      Src: /src/curl/lib/vquic/vquic.c:301,1
    - Dst: vquic_send_packets
      Src: /src/curl/lib/vquic/vquic.c:309,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/vquic/vquic.c:312,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/vquic/vquic.c:318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - cf
    - data
    - qctx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 323
    functionName: vquic_flush
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - Curl_bufq_peek
    - Curl_bufq_skip
    - vquic_send_packets
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_flush(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                    struct cf_quic_ctx *qctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vquic_flush
      Src: /src/curl/lib/vquic/vquic.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cf
    - data
    - qctx
    - gsolen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 5
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: vquic_send
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - vquic_flush
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_send(struct Curl_cfilter *cf, struct Curl_easy *data,\n
      \                   struct cf_quic_ctx *qctx, size_t gsolen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/vquic.c:336,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/vquic.c:336,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/vquic.c:337,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/vquic.c:340,1
    - Dst: vquic_flush
      Src: /src/curl/lib/vquic/vquic.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - gsolen
    - tail_len
    - tail_gsolen
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 5
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: vquic_send_tail_split
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - vquic_flush
    - Curl_bufq_len
    - DEBUGASSERT
    - CURL_TRC_CF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_send_tail_split(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               struct cf_quic_ctx *qctx, size_t gsolen,\n
      \                              size_t tail_len, size_t tail_gsolen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_FIRSTHDR
      Src: /src/curl/lib/vquic/vquic.c:359,1
    - Dst: CMSG_NXTHDR
      Src: /src/curl/lib/vquic/vquic.c:359,1
    - Dst: memcpy
      Src: /src/curl/lib/vquic/vquic.c:364,1
    - Dst: CMSG_DATA
      Src: /src/curl/lib/vquic/vquic.c:364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct msghdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 373
    functionName: vquic_msghdr_get_udp_gro
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CMSG_FIRSTHDR
    - CMSG_NXTHDR
    - CMSG_DATA
    linkageType: ''
    returnType: size_t
    signature: size_t vquic_msghdr_get_udp_gro(struct msghdr *msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/curl/lib/vquic/vquic.c:386,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/vquic.c:398,1
    - Dst: Curl_multi_xfer_sockbuf_borrow
      Src: /src/curl/lib/vquic/vquic.c:399,1
    - Dst: CURLMIN
      Src: /src/curl/lib/vquic/vquic.c:407,1
    - Dst: CURLMIN
      Src: /src/curl/lib/vquic/vquic.c:407,1
    - Dst: memset
      Src: /src/curl/lib/vquic/vquic.c:408,1
    - Dst: CMSG_SPACE
      Src: /src/curl/lib/vquic/vquic.c:416,1
    - Dst: CMSG_SPACE
      Src: /src/curl/lib/vquic/vquic.c:417,1
    - Dst: recvmmsg
      Src: /src/curl/lib/vquic/vquic.c:420,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/vquic.c:425,1
    - Dst: Curl_cf_socket_peek
      Src: /src/curl/lib/vquic/vquic.c:430,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:431,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vquic/vquic.c:436,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:437,1
    - Dst: vquic_msghdr_get_udp_gro
      Src: /src/curl/lib/vquic/vquic.c:447,1
    - Dst: recv_cb
      Src: /src/curl/lib/vquic/vquic.c:463,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/vquic.c:473,1
    - Dst: Curl_multi_xfer_sockbuf_release
      Src: /src/curl/lib/vquic/vquic.c:475,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - max_pkts
    - recv_cb
    - userp
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - vquic_recv_pkt_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 477
    functionName: recvmmsg_packets
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - recv_cb
    - failf
    - Curl_multi_xfer_sockbuf_borrow
    - CURL_TRC_CF
    - Curl_cf_socket_peek
    - curlx_strerror
    - vquic_msghdr_get_udp_gro
    - CURLMIN
    - Curl_multi_xfer_sockbuf_release
    - memset
    - recvmmsg
    - CMSG_SPACE
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recvmmsg_packets(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct cf_quic_ctx *qctx,\n
      \                                size_t max_pkts,\n                                 vquic_recv_pkt_cb
      *recv_cb, void *userp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/curl/lib/vquic/vquic.c:495,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/vquic.c:500,1
    - Dst: memset
      Src: /src/curl/lib/vquic/vquic.c:504,1
    - Dst: recvmsg
      Src: /src/curl/lib/vquic/vquic.c:514,1
    - Dst: Curl_cf_socket_peek
      Src: /src/curl/lib/vquic/vquic.c:523,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:524,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vquic/vquic.c:529,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:530,1
    - Dst: vquic_msghdr_get_udp_gro
      Src: /src/curl/lib/vquic/vquic.c:540,1
    - Dst: recv_cb
      Src: /src/curl/lib/vquic/vquic.c:555,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/vquic.c:563,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - max_pkts
    - recv_cb
    - userp
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - vquic_recv_pkt_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 566
    functionName: recvmsg_packets
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - recv_cb
    - failf
    - curlx_strerror
    - vquic_msghdr_get_udp_gro
    - CURL_TRC_CF
    - memset
    - Curl_cf_socket_peek
    - recvmsg
    - CMSG_SPACE
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recvmsg_packets(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                struct cf_quic_ctx *qctx,\n
      \                               size_t max_pkts,\n                                vquic_recv_pkt_cb
      *recv_cb, void *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/vquic.c:584,1
    - Dst: recvfrom
      Src: /src/curl/lib/vquic/vquic.c:586,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/vquic.c:593,1
    - Dst: Curl_cf_socket_peek
      Src: /src/curl/lib/vquic/vquic.c:598,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:599,1
    - Dst: curlx_strerror
      Src: /src/curl/lib/vquic/vquic.c:604,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:605,1
    - Dst: recv_cb
      Src: /src/curl/lib/vquic/vquic.c:614,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/vquic.c:622,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - max_pkts
    - recv_cb
    - userp
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - vquic_recv_pkt_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 625
    functionName: recvfrom_packets
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - recv_cb
    - failf
    - CURL_TRC_CF
    - curlx_strerror
    - recvfrom
    - Curl_cf_socket_peek
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recvfrom_packets(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct cf_quic_ctx *qctx,\n
      \                                size_t max_pkts,\n                                 vquic_recv_pkt_cb
      *recv_cb, void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recvmmsg_packets
      Src: /src/curl/lib/vquic/vquic.c:636,1
    - Dst: recvmsg_packets
      Src: /src/curl/lib/vquic/vquic.c:638,1
    - Dst: recvfrom_packets
      Src: /src/curl/lib/vquic/vquic.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - cf
    - data
    - qctx
    - max_pkts
    - recv_cb
    - userp
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct cf_quic_ctx*
    - size_t
    - vquic_recv_pkt_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 628
    functionDepth: 3
    functionLinenumber: 628
    functionLinenumberEnd: 650
    functionName: vquic_recv_packets
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - recvfrom_packets
    - recvmmsg_packets
    - recvmsg_packets
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode vquic_recv_packets(struct Curl_cfilter *cf,\n                            struct
      Curl_easy *data,\n                            struct cf_quic_ctx *qctx,\n                            size_t
      max_pkts,\n                            vquic_recv_pkt_cb *recv_cb, void *userp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: curl_getenv
      Src: /src/curl/lib/vquic/vquic.c:665,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vquic/vquic.c:671,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vquic/vquic.c:672,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vquic/vquic.c:674,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vquic/vquic.c:677,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vquic/vquic.c:678,1
    - Dst: curlx_dyn_add
      Src: /src/curl/lib/vquic/vquic.c:681,1
    - Dst: curlx_open
      Src: /src/curl/lib/vquic/vquic.c:684,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vquic/vquic.c:684,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vquic/vquic.c:690,1
    - Dst: free
      Src: /src/curl/lib/vquic/vquic.c:691,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - data
    - scid
    - scidlen
    - qlogfdp
    argTypes:
    - struct Curl_easy*
    - unsigned char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 660
    functionDepth: 6
    functionLinenumber: 660
    functionLinenumberEnd: 697
    functionName: Curl_qlogdir
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached:
    - curlx_dyn_add
    - curlx_open
    - curl_msnprintf
    - curl_getenv
    - curlx_dyn_free
    - curlx_dyn_init
    - free
    - curlx_dyn_ptr
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_qlogdir(struct Curl_easy *data,\n                      unsigned
      char *scid,\n                      size_t scidlen,\n                      int
      *qlogfdp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/vquic.c:706,1
    - Dst: Curl_cf_ngtcp2_create
      Src: /src/curl/lib/vquic/vquic.c:708,1
    - Dst: Curl_cf_osslq_create
      Src: /src/curl/lib/vquic/vquic.c:710,1
    - Dst: Curl_cf_quiche_create
      Src: /src/curl/lib/vquic/vquic.c:712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - pcf
    - data
    - conn
    - ai
    - transport
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 699
    functionDepth: 7
    functionLinenumber: 699
    functionLinenumberEnd: 720
    functionName: Curl_cf_quic_create
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_cf_osslq_create
    - Curl_cf_ngtcp2_create
    - Curl_cf_quiche_create
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_quic_create(struct Curl_cfilter **pcf,\n                             struct
      Curl_easy *data,\n                             struct connectdata *conn,\n                             const
      struct Curl_addrinfo *ai,\n                             int transport)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:731,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:736,1
    - Dst: failf
      Src: /src/curl/lib/vquic/vquic.c:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - data
    - conn
    - transport
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 746
    functionName: Curl_conn_may_http3
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - failf
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_may_http3(struct Curl_easy *data,\n                             const
      struct connectdata *conn,\n                             unsigned char transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cmalloc
      Src: /src/curl/lib/vquic/vquic.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - user_data
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: vquic_ngtcp2_malloc
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_cmalloc
    linkageType: ''
    returnType: void
    signature: void *vquic_ngtcp2_malloc(size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_cfree
      Src: /src/curl/lib/vquic/vquic.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: vquic_ngtcp2_free
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_cfree
    linkageType: ''
    returnType: void
    signature: void vquic_ngtcp2_free(void *ptr, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ccalloc
      Src: /src/curl/lib/vquic/vquic.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nmemb
    - size
    - user_data
    argTypes:
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: vquic_ngtcp2_calloc
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_ccalloc
    linkageType: ''
    returnType: void
    signature: void *vquic_ngtcp2_calloc(size_t nmemb, size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_crealloc
      Src: /src/curl/lib/vquic/vquic.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - size
    - user_data
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: vquic_ngtcp2_realloc
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached:
    - Curl_crealloc
    linkageType: ''
    returnType: void
    signature: void *vquic_ngtcp2_realloc(void *ptr, size_t size, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 785
    functionName: Curl_ngtcp2_mem
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ngtcp2_mem
    signature: struct ngtcp2_mem *Curl_ngtcp2_mem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 799
    functionName: Curl_nghttp3_mem
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct nghttp3_mem
    signature: struct nghttp3_mem *Curl_nghttp3_mem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGF
      Src: /src/curl/lib/vquic/vquic.c:813,1
    - Dst: infof
      Src: /src/curl/lib/vquic/vquic.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - data
    - conn
    - transport
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 815
    functionName: Curl_conn_may_http3
    functionSourceFile: /src/curl/lib/vquic/vquic.c
    functionUses: 2
    functionsReached:
    - infof
    - DEBUGF
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_conn_may_http3(struct Curl_easy *data,\n                             const
      struct connectdata *conn,\n                             unsigned char transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_version
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:111,1
    - Dst: nghttp3_version
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:112,1
    - Dst: curl_msnprintf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: Curl_ngtcp2_ver
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached:
    - ngtcp2_version
    - nghttp3_version
    - curl_msnprintf
    linkageType: ''
    returnType: void
    signature: void Curl_ngtcp2_ver(char *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: CF_CTX_CALL_DATA
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_CTX_CALL_DATA(cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:166,1
    - Dst: Curl_bufcp_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:170,1
    - Dst: curlx_dyn_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:172,1
    - Dst: Curl_uint_hash_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_ngtcp2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: cf_ngtcp2_ctx_init
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_init
    - curlx_dyn_init
    - Curl_bufcp_init
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_ctx_init(struct cf_ngtcp2_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_vquic_tls_cleanup
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:180,1
    - Dst: vquic_ctx_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:181,1
    - Dst: Curl_bufcp_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:182,1
    - Dst: curlx_dyn_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:183,1
    - Dst: Curl_uint_hash_destroy
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:184,1
    - Dst: Curl_ssl_peer_cleanup
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:185,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_ngtcp2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 5
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: cf_ngtcp2_ctx_free
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_vquic_tls_cleanup
    - Curl_uint_hash_destroy
    - curlx_dyn_free
    - free
    - Curl_bufcp_free
    - Curl_ssl_peer_cleanup
    - vquic_ctx_free
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_ctx_free(struct cf_ngtcp2_ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_remote_transport_params
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:207,1
    - Dst: ngtcp2_conn_set_keep_alive_timeout
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:209,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:210,1
    - Dst: Curl_uint_hash_count
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:212,1
    - Dst: ngtcp2_conn_set_keep_alive_timeout
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:213,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:214,1
    - Dst: ngtcp2_conn_set_keep_alive_timeout
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:219,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 225
    functionName: cf_ngtcp2_setup_keep_alive
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_set_keep_alive_timeout
    - CURL_TRC_CF
    - Curl_uint_hash_count
    - ngtcp2_conn_get_remote_transport_params
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_setup_keep_alive(struct Curl_cfilter *cf,\n                                       struct
      Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_bufq_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:257,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:258,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct h3_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: h3_stream_ctx_free
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 4
    functionsReached:
    - free
    - Curl_bufq_free
    - Curl_h1_req_parse_free
    linkageType: ''
    returnType: void
    signature: void h3_stream_ctx_free(struct h3_stream_ctx *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:265,1
    - Dst: h3_stream_ctx_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - stream
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: h3_stream_hash_free
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - DEBUGASSERT
    - h3_stream_ctx_free
    linkageType: ''
    returnType: void
    signature: void h3_stream_hash_free(unsigned int id, void *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:273,1
    - Dst: calloc
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:281,1
    - Dst: Curl_bufq_initp
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:287,1
    - Dst: Curl_h1_req_parse_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:290,1
    - Dst: Curl_uint_hash_set
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:292,1
    - Dst: h3_stream_ctx_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:293,1
    - Dst: Curl_uint_hash_count
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:297,1
    - Dst: cf_ngtcp2_setup_keep_alive
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 301
    functionName: h3_data_setup
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - calloc
    - Curl_uint_hash_count
    - Curl_bufq_initp
    - H3_STREAM_CTX
    - cf_ngtcp2_setup_keep_alive
    - Curl_uint_hash_set
    - Curl_h1_req_parse_init
    - h3_stream_ctx_free
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_setup(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mid
    - value
    - user_data
    argTypes:
    - unsigned int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: cf_ngtcp2_sfind
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_ngtcp2_sfind(unsigned int mid, void *value, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Curl_uint_hash_visit
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - stream_id
    argTypes:
    - struct cf_ngtcp2_ctx*
    - curl_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: cf_ngtcp2_get_stream
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_uint_hash_visit
    linkageType: ''
    returnType: struct h3_stream_ctx
    signature: 'struct h3_stream_ctx *

      cf_ngtcp2_get_stream(struct cf_ngtcp2_ctx *ctx, curl_int64_t stream_id)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:337,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:338,1
    - Dst: nghttp3_conn_set_stream_user_data
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:342,1
    - Dst: ngtcp2_conn_set_stream_user_data
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:343,1
    - Dst: ngtcp2_conn_shutdown_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:345,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:347,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cf
    - data
    - stream
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 352
    functionName: cf_ngtcp2_stream_close
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - ngtcp2_conn_set_stream_user_data
    - ngtcp2_conn_shutdown_stream
    - cf_progress_egress
    - nghttp3_conn_set_stream_user_data
    - DEBUGASSERT
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_stream_close(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct h3_stream_ctx *stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:357,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:360,1
    - Dst: cf_ngtcp2_stream_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:362,1
    - Dst: Curl_uint_hash_remove
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:363,1
    - Dst: Curl_uint_hash_count
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:364,1
    - Dst: cf_ngtcp2_setup_keep_alive
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 367
    functionName: h3_data_done
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - Curl_uint_hash_count
    - CURL_TRC_CF
    - cf_ngtcp2_stream_close
    - Curl_uint_hash_remove
    - H3_STREAM_CTX
    - cf_ngtcp2_setup_keep_alive
    linkageType: ''
    returnType: void
    signature: void h3_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vquic_ctx_update_time
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pktx
    - cf
    argTypes:
    - struct pkt_io_ctx*
    - struct Curl_cfilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 388
    functionName: pktx_update_time
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - vquic_ctx_update_time
    linkageType: ''
    returnType: void
    signature: "void pktx_update_time(struct pkt_io_ctx *pktx,\n                             struct
      Curl_cfilter *cf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_path_storage_zero
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:396,1
    - Dst: pktx_update_time
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pktx
    - cf
    - data
    argTypes:
    - struct pkt_io_ctx*
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: pktx_init
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - pktx_update_time
    - ngtcp2_path_storage_zero
    linkageType: ''
    returnType: void
    signature: "void pktx_init(struct pkt_io_ctx *pktx,\n                      struct
      Curl_cfilter *cf,\n                      struct Curl_easy *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn_ref
    argTypes:
    - ngtcp2_crypto_conn_ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: get_conn
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ngtcp2_conn
    signature: ngtcp2_conn *get_conn(ngtcp2_crypto_conn_ref *conn_ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:419,1
    - Dst: curl_mvfprintf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:420,1
    - Dst: va_end
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:421,1
    - Dst: curl_mfprintf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - user_data
    - fmt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 5
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: quic_printf
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - curl_mfprintf
    - va_start
    - curl_mvfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void quic_printf(void *user_data, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:433,1
    - Dst: close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - user_data
    - flags
    - data
    - datalen
    argTypes:
    - void*
    - uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: qlog_callback
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - write
    - close
    linkageType: ''
    returnType: void
    signature: "void qlog_callback(void *user_data, uint32_t flags,\n                          const
      void *data, size_t datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_settings_default
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:460,1
    - Dst: ngtcp2_transport_params_default
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:461,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - data
    - pktx
    argTypes:
    - struct cf_ngtcp2_ctx*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 490
    functionName: quic_settings
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_transport_params_default
    - CURL_ARRAYSIZE
    - ngtcp2_settings_default
    linkageType: ''
    returnType: void
    signature: "void quic_settings(struct cf_ngtcp2_ctx *ctx,\n                          struct
      Curl_easy *data,\n                          struct pkt_io_ctx *pktx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:502,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:503,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:504,1
    - Dst: curlx_now
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:508,1
    - Dst: Curl_vquic_report_handshake
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:510,1
    - Dst: Curl_vquic_tls_verify_peer
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:512,1
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:514,1
    - Dst: ngtcp2_conn_get_remote_transport_params
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:516,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:517,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:521,1
    - Dst: Curl_pgrsTimeWas
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:529,1
    - Dst: SSL_get_early_data_status
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:533,1
    - Dst: gnutls_session_get_flags
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:537,1
    - Dst: wolfSSL_get_early_data_status
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:543,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:546,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:550,1
    - Dst: Curl_pgrsEarlyData
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - tconn
    - user_data
    argTypes:
    - ngtcp2_conn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 495
    functionDepth: 11
    functionLinenumber: 495
    functionLinenumberEnd: 557
    functionName: cf_ngtcp2_handshake_completed
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_pgrsEarlyData
    - CURL_TRC_CF
    - Curl_vquic_report_handshake
    - gnutls_session_get_flags
    - SSL_get_early_data_status
    - wolfSSL_get_early_data_status
    - curlx_now
    - Curl_trc_is_verbose
    - ngtcp2_conn_get_remote_transport_params
    - CF_DATA_CURRENT
    - curlx_timediff
    - Curl_pgrsTimeWas
    - Curl_vquic_tls_verify_peer
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: int cf_ngtcp2_handshake_completed(ngtcp2_conn *tconn, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 567
    functionName: cf_ngtcp2_err_is_fatal
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_ngtcp2_err_is_fatal(int code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ccerr_set_tls_alert
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:575,1
    - Dst: ngtcp2_conn_get_tls_alert
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:576,1
    - Dst: ngtcp2_ccerr_set_liberr
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:580,1
    - Dst: cf_ngtcp2_err_is_fatal
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:583,1
    - Dst: cf_ngtcp2_conn_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cf
    - data
    - code
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 585
    functionName: cf_ngtcp2_err_set
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - cf_ngtcp2_err_is_fatal
    - ngtcp2_conn_get_tls_alert
    - cf_ngtcp2_conn_close
    - ngtcp2_ccerr_set_tls_alert
    - ngtcp2_ccerr_set_liberr
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_err_set(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data, int code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: cf_ngtcp2_h3_err_is_fatal
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cf_ngtcp2_h3_err_is_fatal(int code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_ccerr_set_application_error
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:598,1
    - Dst: nghttp3_err_infer_quic_app_error_code
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:599,1
    - Dst: cf_ngtcp2_h3_err_is_fatal
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:601,1
    - Dst: cf_ngtcp2_conn_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - data
    - code
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: cf_ngtcp2_h3_err_set
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_err_infer_quic_app_error_code
    - ngtcp2_ccerr_set_application_error
    - cf_ngtcp2_conn_close
    - cf_ngtcp2_h3_err_is_fatal
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_h3_err_set(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data, int code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_read_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:620,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:622,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:624,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:627,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:629,1
    - Dst: ngtcp2_conn_extend_max_stream_offset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:639,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 8
    argNames:
    - tconn
    - flags
    - sid
    - offset
    - buf
    - buflen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 643
    functionName: cb_recv_stream_data
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - H3_STREAM_CTX
    - ngtcp2_conn_extend_max_stream_offset
    - ngtcp2_conn_extend_max_offset
    - CF_DATA_CURRENT
    - nghttp3_conn_read_stream
    linkageType: ''
    returnType: int
    signature: "int cb_recv_stream_data(ngtcp2_conn *tconn, uint32_t flags,\n                               int64_t
      sid, uint64_t offset,\n                               const uint8_t *buf, size_t
      buflen,\n                               void *user_data, void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_add_ack_offset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - tconn
    - stream_id
    - offset
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 665
    functionName: cb_acked_stream_data_offset
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_add_ack_offset
    linkageType: ''
    returnType: int
    signature: "int cb_acked_stream_data_offset(ngtcp2_conn *tconn, int64_t stream_id,\n
      \                           uint64_t offset, uint64_t datalen, void *user_data,\n
      \                           void *stream_user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:680,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:688,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:689,1
    - Dst: cf_ngtcp2_h3_err_set
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - tconn
    - flags
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - uint32_t
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 698
    functionName: cb_stream_close
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_CURRENT
    - nghttp3_conn_close_stream
    - CURL_TRC_CF
    - cf_ngtcp2_h3_err_set
    linkageType: ''
    returnType: int
    signature: "int cb_stream_close(ngtcp2_conn *tconn, uint32_t flags,\n                           int64_t
      sid, uint64_t app_error_code,\n                           void *user_data, void
      *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_shutdown_stream_read
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:714,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - tconn
    - sid
    - final_size
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 721
    functionName: cb_stream_reset
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_shutdown_stream_read
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_stream_reset(ngtcp2_conn *tconn, int64_t sid,\n                           uint64_t
      final_size, uint64_t app_error_code,\n                           void *user_data,
      void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_shutdown_stream_read
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - tconn
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 740
    functionName: cb_stream_stop_sending
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_shutdown_stream_read
    linkageType: ''
    returnType: int
    signature: "int cb_stream_stop_sending(ngtcp2_conn *tconn, int64_t stream_id,\n
      \                                 uint64_t app_error_code, void *user_data,\n
      \                                 void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:748,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tconn
    - max_streams
    - user_data
    argTypes:
    - ngtcp2_conn*
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 757
    functionName: cb_extend_max_local_streams_bidi
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_CURRENT
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_extend_max_local_streams_bidi(ngtcp2_conn *tconn,\n                                            uint64_t
      max_streams,\n                                            void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_conn_unblock_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:771,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:775,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:777,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - tconn
    - stream_id
    - max_data
    - user_data
    - stream_user_data
    argTypes:
    - ngtcp2_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 783
    functionName: cb_extend_max_stream_data
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_multi_mark_dirty
    - H3_STREAM_CTX
    - nghttp3_conn_unblock_stream
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_extend_max_stream_data(ngtcp2_conn *tconn, int64_t stream_id,\n
      \                                    uint64_t max_data, void *user_data,\n                                     void
      *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:791,1
    - Dst: memset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - destlen
    - rand_ctx
    argTypes:
    - uint8_t*
    - size_t
    - ngtcp2_rand_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 797
    functionName: cb_rand
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    - memset
    linkageType: ''
    returnType: void
    signature: "void cb_rand(uint8_t *dest, size_t destlen,\n                    const
      ngtcp2_rand_ctx *rand_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_rand
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:807,1
    - Dst: Curl_rand
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - tconn
    - cid
    - token
    - cidlen
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_cid*
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 817
    functionName: cb_get_new_connection_id
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_rand
    linkageType: ''
    returnType: int
    signature: "int cb_get_new_connection_id(ngtcp2_conn *tconn, ngtcp2_cid *cid,\n
      \                                   uint8_t *token, size_t cidlen,\n                                    void
      *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:824,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:830,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:831,1
    - Dst: init_ngh3_conn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:833,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - tconn
    - level
    - user_data
    argTypes:
    - ngtcp2_conn*
    - ngtcp2_encryption_level
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 837
    functionName: cb_recv_rx_key
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - init_ngh3_conn
    - CF_DATA_CURRENT
    - DEBUGASSERT
    linkageType: ''
    returnType: int
    signature: "int cb_recv_rx_key(ngtcp2_conn *tconn, ngtcp2_encryption_level level,\n
      \                         void *user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pktx_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:910,1
    - Dst: pktx_update_time
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:914,1
    - Dst: ngtcp2_conn_get_expiry
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:917,1
    - Dst: ngtcp2_conn_handle_expiry
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:921,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:923,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:924,1
    - Dst: cf_ngtcp2_err_set
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:925,1
    - Dst: cf_progress_ingress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:928,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:931,1
    - Dst: ngtcp2_conn_get_expiry
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:935,1
    - Dst: Curl_expire
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - cf
    - data
    - pktx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 901
    functionDepth: 7
    functionLinenumber: 901
    functionLinenumberEnd: 948
    functionName: check_and_set_expiry
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 3
    functionsReached:
    - Curl_expire
    - failf
    - pktx_init
    - ngtcp2_conn_get_expiry
    - pktx_update_time
    - ngtcp2_strerror
    - cf_ngtcp2_err_set
    - cf_progress_ingress
    - cf_progress_egress
    - ngtcp2_conn_handle_expiry
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode check_and_set_expiry(struct Curl_cfilter *cf,\n                                     struct
      Curl_easy *data,\n                                     struct pkt_io_ctx *pktx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_pollset_check
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:961,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:962,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:966,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:970,1
    - Dst: ngtcp2_conn_get_cwnd_left
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:971,1
    - Dst: ngtcp2_conn_get_max_data_left
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:972,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:977,1
    - Dst: Curl_pollset_set
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:979,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:980,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 3
    argNames:
    - cf
    - data
    - ps
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct easy_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 950
    functionDepth: 3
    functionLinenumber: 950
    functionLinenumberEnd: 983
    functionName: cf_ngtcp2_adjust_pollset
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_get_cwnd_left
    - CF_DATA_RESTORE
    - Curl_pollset_set
    - H3_STREAM_CTX
    - ngtcp2_conn_get_max_data_left
    - Curl_bufq_is_empty
    - Curl_pollset_check
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_adjust_pollset(struct Curl_cfilter *cf,\n                                         struct
      Curl_easy *data,\n                                         struct easy_pollset
      *ps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:993,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1006,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1010,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - conn
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 1014
    functionName: cb_h3_stream_close
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - Curl_multi_mark_dirty
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_stream_close(nghttp3_conn *conn, int64_t sid,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_write_resp_hd
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1024,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1029
    functionName: h3_xfer_write_resp_hd
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - Curl_xfer_write_resp_hd
    linkageType: ''
    returnType: void
    signature: "void h3_xfer_write_resp_hd(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct h3_stream_ctx *stream,\n
      \                                 const char *buf, size_t blen, bool eos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_xfer_write_resp
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1039,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - cf
    - data
    - stream
    - buf
    - blen
    - eos
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1031
    functionDepth: 2
    functionLinenumber: 1031
    functionLinenumberEnd: 1046
    functionName: h3_xfer_write_resp
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_xfer_write_resp
    - CURL_TRC_CF
    linkageType: ''
    returnType: void
    signature: "void h3_xfer_write_resp(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               struct h3_stream_ctx *stream,\n
      \                              const char *buf, size_t blen, bool eos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1055,1
    - Dst: h3_xfer_write_resp
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1063,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1065,1
    - Dst: ngtcp2_conn_extend_max_stream_offset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1067,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1068,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - conn
    - stream3_id
    - buf
    - blen
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1072
    functionName: cb_h3_recv_data
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - H3_STREAM_CTX
    - ngtcp2_conn_extend_max_stream_offset
    - h3_xfer_write_resp
    - ngtcp2_conn_extend_max_offset
    linkageType: ''
    returnType: int
    signature: "int cb_h3_recv_data(nghttp3_conn *conn, int64_t stream3_id,\n                           const
      uint8_t *buf, size_t blen,\n                           void *user_data, void
      *stream_user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_extend_max_stream_offset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1085,1
    - Dst: ngtcp2_conn_extend_max_offset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - conn
    - stream3_id
    - consumed
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1088
    functionName: cb_h3_deferred_consume
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_extend_max_stream_offset
    - ngtcp2_conn_extend_max_offset
    linkageType: ''
    returnType: int
    signature: "int cb_h3_deferred_consume(nghttp3_conn *conn, int64_t stream3_id,\n
      \                                 size_t consumed, void *user_data,\n                                  void
      *stream_user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1097,1
    - Dst: h3_xfer_write_resp_hd
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1106,1
    - Dst: STRCONST
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1106,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1108,1
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - conn
    - sid
    - fin
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1115
    functionName: cb_h3_end_headers
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - STRCONST
    - CURL_TRC_CF
    - H3_STREAM_CTX
    - h3_xfer_write_resp_hd
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: int
    signature: "int cb_h3_end_headers(nghttp3_conn *conn, int64_t sid,\n                             int
      fin, void *user_data, void *stream_user_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1125,1
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1126,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1128,1
    - Dst: Curl_http_decode_status
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1142,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1146,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1147,1
    - Dst: STRCONST
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1147,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1149,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1152,1
    - Dst: STRCONST
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1152,1
    - Dst: h3_xfer_write_resp_hd
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1154,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1154,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1155,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1156,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1157,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1164,1
    - Dst: curlx_dyn_reset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1167,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1168,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1171,1
    - Dst: STRCONST
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1171,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1173,1
    - Dst: curlx_dyn_addn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1176,1
    - Dst: STRCONST
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1176,1
    - Dst: h3_xfer_write_resp_hd
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1178,1
    - Dst: curlx_dyn_ptr
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1178,1
    - Dst: curlx_dyn_len
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 8
    argNames:
    - conn
    - sid
    - token
    - name
    - value
    - flags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int32_t
    - nghttp3_rcbuf*
    - nghttp3_rcbuf*
    - uint8_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1117
    functionDepth: 4
    functionLinenumber: 1117
    functionLinenumberEnd: 1182
    functionName: cb_h3_recv_header
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - H3_STREAM_CTX
    - Curl_http_decode_status
    - curlx_dyn_reset
    - curlx_dyn_addn
    - h3_xfer_write_resp_hd
    - curlx_dyn_len
    - nghttp3_rcbuf_get_buf
    - STRCONST
    - curlx_dyn_ptr
    linkageType: ''
    returnType: int
    signature: "int cb_h3_recv_header(nghttp3_conn *conn, int64_t sid,\n                             int32_t
      token, nghttp3_rcbuf *name,\n                             nghttp3_rcbuf *value,
      uint8_t flags,\n                             void *user_data, void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_shutdown_stream_read
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - conn
    - stream_id
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1201
    functionName: cb_h3_stop_sending
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_shutdown_stream_read
    linkageType: ''
    returnType: int
    signature: "int cb_h3_stop_sending(nghttp3_conn *conn, int64_t stream_id,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_shutdown_stream_write
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1214,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - conn
    - sid
    - app_error_code
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1222
    functionName: cb_h3_reset_stream
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_shutdown_stream_write
    - CURL_TRC_CF
    linkageType: ''
    returnType: int
    signature: "int cb_h3_reset_stream(nghttp3_conn *conn, int64_t sid,\n                              uint64_t
      app_error_code, void *user_data,\n                              void *stream_user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_streams_uni_left
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1254,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1255,1
    - Dst: nghttp3_settings_default
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1259,1
    - Dst: nghttp3_conn_client_new
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1261,1
    - Dst: Curl_nghttp3_mem
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1264,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1267,1
    - Dst: ngtcp2_conn_open_uni_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1271,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1273,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1274,1
    - Dst: nghttp3_conn_bind_control_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1278,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1280,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1281,1
    - Dst: ngtcp2_conn_open_uni_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1285,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1287,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1288,1
    - Dst: ngtcp2_conn_open_uni_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1292,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1294,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1295,1
    - Dst: nghttp3_conn_bind_qpack_streams
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1299,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1302,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1308
    functionName: init_ngh3_conn
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached:
    - nghttp3_conn_bind_control_stream
    - ngtcp2_conn_open_uni_stream
    - failf
    - nghttp3_conn_bind_qpack_streams
    - nghttp3_conn_client_new
    - ngtcp2_strerror
    - Curl_nghttp3_mem
    - nghttp3_settings_default
    - ngtcp2_conn_get_streams_uni_left
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode init_ngh3_conn(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1319,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - cf
    - data
    - stream
    - err
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct h3_stream_ctx*
    - CURLcode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1336
    functionName: recv_closed_stream
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - failf
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t recv_closed_stream(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  struct h3_stream_ctx *stream,\n
      \                                 CURLcode *err)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1343,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1351,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1352,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1353,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1354,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1355,1
    - Dst: pktx_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1364,1
    - Dst: cf_progress_ingress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1371,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1377,1
    - Dst: cf_ngtcp2_stream_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1378,1
    - Dst: recv_closed_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1383,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1391,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1391,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1392,1
    - Dst: check_and_set_expiry
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1392,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1394,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1396,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - blen
    - pnread
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1339
    functionDepth: 5
    functionLinenumber: 1339
    functionLinenumberEnd: 1398
    functionName: cf_ngtcp2_recv
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_1st_err
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - cf_ngtcp2_stream_close
    - pktx_init
    - H3_STREAM_CTX
    - cf_progress_ingress
    - check_and_set_expiry
    - cf_progress_egress
    - DEBUGASSERT
    - recv_closed_stream
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_recv(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               char *buf, size_t blen, size_t *pnread)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1407,1
    - Dst: Curl_bufq_skip
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1420,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1424,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - conn
    - stream_id
    - datalen
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1400
    functionDepth: 4
    functionLinenumber: 1400
    functionLinenumberEnd: 1431
    functionName: cb_h3_acked_req_body
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - H3_STREAM_CTX
    - Curl_bufq_len
    - Curl_bufq_skip
    - nghttp3_conn_resume_stream
    linkageType: ''
    returnType: int
    signature: "int cb_h3_acked_req_body(nghttp3_conn *conn, int64_t stream_id,\n
      \                               uint64_t datalen, void *user_data,\n                                void
      *stream_user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1442,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1460,1
    - Dst: Curl_bufq_peek_at
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1463,1
    - Dst: CURL_UNCONST
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1465,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1471,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1485,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1490,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 7
    argNames:
    - conn
    - stream_id
    - vec
    - veccnt
    - pflags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - nghttp3_vec*
    - size_t
    - uint32_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1433
    functionDepth: 3
    functionLinenumber: 1433
    functionLinenumberEnd: 1497
    functionName: cb_h3_read_req_body
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - H3_STREAM_CTX
    - Curl_bufq_len
    - CURL_UNCONST
    - Curl_bufq_peek_at
    - DEBUGASSERT
    linkageType: ''
    returnType: nghttp3_ssize
    signature: "nghttp3_ssize cb_h3_read_req_body(nghttp3_conn *conn, int64_t stream_id,\n
      \                   nghttp3_vec *vec, size_t veccnt,\n                    uint32_t
      *pflags, void *user_data,\n                    void *stream_user_data)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: Curl_dynhds_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1518,1
    - Dst: h3_data_setup
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1520,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1523,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1524,1
    - Dst: Curl_h1_req_parse_read
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1530,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1539,1
    - Dst: Curl_http_req_to_h2
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1541,1
    - Dst: Curl_h1_req_parse_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1546,1
    - Dst: Curl_dynhds_count
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1548,1
    - Dst: malloc
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1549,1
    - Dst: Curl_dynhds_getn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1556,1
    - Dst: ngtcp2_conn_open_bidi_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1564,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1566,1
    - Dst: nghttp3_conn_submit_request
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1597,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1602,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1606,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1607,1
    - Dst: cf_ngtcp2_stream_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1610,1
    - Dst: Curl_trc_is_verbose
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1615,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1616,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1619,1
    - Dst: free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1626,1
    - Dst: Curl_dynhds_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1627,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 5
    argNames:
    - cf
    - data
    - buf
    - len
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1499
    functionDepth: 5
    functionLinenumber: 1499
    functionLinenumberEnd: 1629
    functionName: h3_stream_open
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached:
    - nghttp3_strerror
    - failf
    - cf_ngtcp2_stream_close
    - H3_STREAM_CTX
    - ngtcp2_conn_open_bidi_stream
    - Curl_dynhds_init
    - Curl_dynhds_count
    - CURL_TRC_CF
    - h3_data_setup
    - Curl_trc_is_verbose
    - free
    - Curl_h1_req_parse_read
    - DEBUGASSERT
    - Curl_dynhds_getn
    - Curl_h1_req_parse_free
    - malloc
    - nghttp3_conn_submit_request
    - Curl_http_req_to_h2
    - Curl_dynhds_free
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_stream_open(struct Curl_cfilter *cf,\n                               struct
      Curl_easy *data,\n                               const void *buf, size_t len,\n
      \                              size_t *pnwritten)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1636,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1641,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1642,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1643,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1644,1
    - Dst: pktx_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1645,1
    - Dst: cf_progress_ingress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1655,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1661,1
    - Dst: h3_stream_open
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1665,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1667,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1670,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1673,1
    - Dst: cf_ngtcp2_stream_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1674,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1685,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1691,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1697,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1702,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1703,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1708,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1714,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1715,1
    - Dst: Curl_1st_err
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1718,1
    - Dst: check_and_set_expiry
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1718,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1720,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1722,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 6
    argNames:
    - cf
    - data
    - buf
    - len
    - eos
    - pnwritten
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    - size_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1631
    functionDepth: 5
    functionLinenumber: 1631
    functionLinenumberEnd: 1724
    functionName: cf_ngtcp2_send
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_1st_err
    - h3_stream_open
    - CURL_TRC_CF
    - cf_ngtcp2_stream_close
    - CF_DATA_RESTORE
    - pktx_init
    - H3_STREAM_CTX
    - Curl_bufq_write
    - cf_progress_ingress
    - check_and_set_expiry
    - cf_progress_egress
    - nghttp3_conn_resume_stream
    - DEBUGASSERT
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_send(struct Curl_cfilter *cf, struct Curl_easy
      *data,\n                               const void *buf, size_t len, bool eos,\n
      \                              size_t *pnwritten)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1738,1
    - Dst: ngtcp2_addr_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1740,1
    - Dst: ngtcp2_addr_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1742,1
    - Dst: ngtcp2_conn_read_pkt
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1746,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1748,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1749,1
    - Dst: cf_ngtcp2_err_set
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - pkt
    - pktlen
    - remote_addr
    - remote_addrlen
    - ecn
    - userp
    argTypes:
    - unsigned char*
    - size_t
    - struct sockaddr_storage*
    - socklen_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1726
    functionDepth: 2
    functionLinenumber: 1726
    functionLinenumberEnd: 1759
    functionName: recv_pkt
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_addr_init
    - CURL_TRC_CF
    - ngtcp2_conn_read_pkt
    - ngtcp2_strerror
    - cf_ngtcp2_err_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode recv_pkt(const unsigned char *pkt, size_t pktlen,\n                         struct
      sockaddr_storage *remote_addr,\n                         socklen_t remote_addrlen,
      int ecn,\n                         void *userp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pktx_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1770,1
    - Dst: pktx_update_time
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1774,1
    - Dst: ngtcp2_path_storage_zero
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1775,1
    - Dst: Curl_vquic_tls_before_recv
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1778,1
    - Dst: vquic_recv_packets
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cf
    - data
    - pktx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1761
    functionDepth: 7
    functionLinenumber: 1761
    functionLinenumberEnd: 1783
    functionName: cf_progress_ingress
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 7
    functionsReached:
    - pktx_init
    - pktx_update_time
    - ngtcp2_path_storage_zero
    - Curl_vquic_tls_before_recv
    - vquic_recv_packets
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_progress_ingress(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    struct pkt_io_ctx *pktx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ngtcp2_conn_get_max_data_left
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1817,1
    - Dst: nghttp3_conn_writev_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1818,1
    - Dst: CURL_ARRAYSIZE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1819,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1821,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1822,1
    - Dst: cf_ngtcp2_h3_err_set
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1823,1
    - Dst: ngtcp2_conn_writev_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1830,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1842,1
    - Dst: nghttp3_conn_block_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1843,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1844,1
    - Dst: cf_ngtcp2_get_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1846,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1853,1
    - Dst: nghttp3_conn_shutdown_stream_write
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1854,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1860,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1864,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1865,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1866,1
    - Dst: cf_ngtcp2_err_set
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1867,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1874,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1876,1
    - Dst: nghttp3_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1877,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 4
    argNames:
    - userp
    - buf
    - buflen
    - pnread
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1789
    functionDepth: 4
    functionLinenumber: 1789
    functionLinenumberEnd: 1888
    functionName: read_pkt_to_send
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - nghttp3_strerror
    - ngtcp2_conn_writev_stream
    - nghttp3_conn_block_stream
    - nghttp3_conn_shutdown_stream_write
    - failf
    - nghttp3_conn_writev_stream
    - CURL_TRC_CF
    - ngtcp2_conn_get_max_data_left
    - ngtcp2_strerror
    - cf_ngtcp2_err_set
    - nghttp3_conn_add_write_offset
    - CURL_ARRAYSIZE
    - cf_ngtcp2_get_stream
    - DEBUGASSERT
    - cf_ngtcp2_h3_err_set
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode read_pkt_to_send(void *userp,\n                                 unsigned
      char *buf, size_t buflen,\n                                 size_t *pnread)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pktx_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1904,1
    - Dst: pktx_update_time
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1908,1
    - Dst: ngtcp2_path_storage_zero
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1909,1
    - Dst: vquic_flush
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1912,1
    - Dst: Curl_expire
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1915,1
    - Dst: ngtcp2_conn_get_max_tx_udp_payload_size
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1932,1
    - Dst: ngtcp2_conn_get_path_max_tx_udp_payload_size
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1934,1
    - Dst: ngtcp2_conn_get_send_quantum
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1935,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1936,1
    - Dst: Curl_bufq_sipn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1940,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1947,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1951,1
    - Dst: vquic_send_tail_split
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1963,1
    - Dst: Curl_expire
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1967,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1983,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1985,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1986,1
    - Dst: vquic_send
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1987,1
    - Dst: Curl_expire
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1990,1
    - Dst: pktx_update_time
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1995,1
    - Dst: ngtcp2_conn_update_pkt_tx_time
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:1996,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 3
    argNames:
    - cf
    - data
    - pktx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1890
    functionDepth: 7
    functionLinenumber: 1890
    functionLinenumberEnd: 1999
    functionName: cf_progress_egress
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 7
    functionsReached:
    - Curl_expire
    - ngtcp2_conn_get_path_max_tx_udp_payload_size
    - vquic_send
    - vquic_flush
    - CURL_TRC_CF
    - Curl_bufq_sipn
    - ngtcp2_conn_update_pkt_tx_time
    - pktx_init
    - pktx_update_time
    - ngtcp2_conn_get_send_quantum
    - ngtcp2_path_storage_zero
    - Curl_bufq_len
    - Curl_bufq_is_empty
    - ngtcp2_conn_get_max_tx_udp_payload_size
    - DEBUGASSERT
    - vquic_send_tail_split
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_progress_egress(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data,\n                                   struct pkt_io_ctx *pktx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_multi_mark_dirty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cf
    - data
    - pause
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2001
    functionDepth: 2
    functionLinenumber: 2001
    functionLinenumberEnd: 2011
    functionName: h3_data_pause
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - Curl_multi_mark_dirty
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode h3_data_pause(struct Curl_cfilter *cf,\n                              struct
      Curl_easy *data,\n                              bool pause)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2021,1
    - Dst: h3_data_pause
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2028,1
    - Dst: h3_data_done
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2031,1
    - Dst: H3_STREAM_CTX
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2034,1
    - Dst: Curl_bufq_len
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2037,1
    - Dst: nghttp3_conn_resume_stream
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2039,1
    - Dst: Curl_conn_set_multiplex
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2046,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2052,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - cf
    - data
    - event
    - arg1
    - arg2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2013
    functionDepth: 2
    functionLinenumber: 2013
    functionLinenumberEnd: 2054
    functionName: cf_ngtcp2_cntrl
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - h3_data_done
    - H3_STREAM_CTX
    - Curl_bufq_len
    - Curl_conn_set_multiplex
    - h3_data_pause
    - nghttp3_conn_resume_stream
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_cntrl(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int event, int arg1, void
      *arg2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2063,1
    - Dst: Curl_vquic_tls_cleanup
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2066,1
    - Dst: vquic_ctx_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2067,1
    - Dst: nghttp3_conn_del
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2069,1
    - Dst: ngtcp2_conn_del
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2073,1
    - Dst: ngtcp2_crypto_ossl_ctx_del
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct cf_ngtcp2_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2056
    functionDepth: 3
    functionLinenumber: 2056
    functionLinenumberEnd: 2083
    functionName: cf_ngtcp2_ctx_close
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - Curl_vquic_tls_cleanup
    - ngtcp2_conn_del
    - nghttp3_conn_del
    - ngtcp2_crypto_ossl_ctx_del
    - close
    - vquic_ctx_free
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_ctx_close(struct cf_ngtcp2_ctx *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2098,1
    - Dst: pktx_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2100,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2106,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2107,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2108,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2109,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2110,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2115,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2121,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2121,1
    - Dst: ngtcp2_conn_write_connection_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2123,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2128,1
    - Dst: Curl_bufq_write
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2139,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2142,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2153,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2154,1
    - Dst: vquic_flush
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2155,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2157,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2162,1
    - Dst: Curl_bufq_is_empty
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2168,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2171,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2085
    functionDepth: 5
    functionLinenumber: 2085
    functionLinenumberEnd: 2178
    functionName: cf_ngtcp2_shutdown
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - vquic_flush
    - pktx_init
    - ngtcp2_conn_write_connection_close
    - Curl_bufq_is_empty
    - Curl_bufq_write
    - cf_progress_egress
    - DEBUGASSERT
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_shutdown(struct Curl_cfilter *cf,\n                                   struct
      Curl_easy *data, bool *done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_ngtcp2_shutdown
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2180
    functionDepth: 6
    functionLinenumber: 2180
    functionLinenumberEnd: 2185
    functionName: cf_ngtcp2_conn_close
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 2
    functionsReached:
    - cf_ngtcp2_shutdown
    linkageType: ''
    returnType: void
    signature: "void cf_ngtcp2_conn_close(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2192,1
    - Dst: cf_ngtcp2_conn_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2194,1
    - Dst: cf_ngtcp2_ctx_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2195,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2196,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2187
    functionDepth: 7
    functionLinenumber: 2187
    functionLinenumberEnd: 2200
    functionName: cf_ngtcp2_close
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - cf_ngtcp2_conn_close
    - cf_ngtcp2_ctx_close
    - CF_DATA_SAVE
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_close(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2204,1
    - Dst: cf_ngtcp2_close
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2206,1
    - Dst: cf_ngtcp2_ctx_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cf
    - data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2202
    functionDepth: 8
    functionLinenumber: 2202
    functionLinenumberEnd: 2210
    functionName: cf_ngtcp2_destroy
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - cf_ngtcp2_close
    - CURL_TRC_CF
    - cf_ngtcp2_ctx_free
    linkageType: ''
    returnType: void
    signature: void cf_ngtcp2_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2223,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2226,1
    - Dst: ngtcp2_conn_encode_0rtt_transport_params
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2234,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2237,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2238,1
    - Dst: Curl_ossl_add_session
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2244,1
    - Dst: SSL_version
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ssl
    - ssl_sessionid
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2216
    functionDepth: 11
    functionLinenumber: 2216
    functionLinenumberEnd: 2249
    functionName: quic_ossl_new_session_cb
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - SSL_get_app_data
    - CURL_TRC_CF
    - ngtcp2_conn_encode_0rtt_transport_params
    - Curl_ossl_add_session
    - ngtcp2_strerror
    - CF_DATA_CURRENT
    - SSL_version
    linkageType: ''
    returnType: int
    signature: int quic_ossl_new_session_cb(SSL *ssl, SSL_SESSION *ssl_sessionid)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - mtype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2269
    functionName: gtls_hs_msg_name
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gtls_hs_msg_name(int mtype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_session_get_ptr
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2275,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2282,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2283,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2286,1
    - Dst: gtls_hs_msg_name
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2287,1
    - Dst: ngtcp2_conn_encode_0rtt_transport_params
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2295,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2298,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2299,1
    - Dst: Curl_gtls_cache_session
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - session
    - htype
    - when
    - incoming
    - msg
    argTypes:
    - gnutls_session_t
    - unsigned int
    - unsigned
    - unsigned int
    - gnutls_datum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2271
    functionDepth: 3
    functionLinenumber: 2271
    functionLinenumberEnd: 2313
    functionName: quic_gtls_handshake_cb
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - ngtcp2_conn_encode_0rtt_transport_params
    - gnutls_session_get_ptr
    - gtls_hs_msg_name
    - ngtcp2_strerror
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - Curl_gtls_cache_session
    linkageType: ''
    returnType: int
    signature: "int quic_gtls_handshake_cb(gnutls_session_t session, unsigned int
      htype,\n                                  unsigned when, unsigned int incoming,\n
      \                                 const gnutls_datum_t *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_get_app_data
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2319,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2322,1
    - Dst: CF_DATA_CURRENT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2325,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2326,1
    - Dst: ngtcp2_conn_encode_0rtt_transport_params
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2333,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2336,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2337,1
    - Dst: Curl_wssl_cache_session
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2342,1
    - Dst: wolfSSL_version
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - WOLFSSL*
    - WOLFSSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2317
    functionDepth: 3
    functionLinenumber: 2317
    functionLinenumberEnd: 2348
    functionName: wssl_quic_new_session_cb
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - ngtcp2_conn_encode_0rtt_transport_params
    - Curl_wssl_cache_session
    - ngtcp2_strerror
    - wolfSSL_get_app_data
    - CF_DATA_CURRENT
    - DEBUGASSERT
    - wolfSSL_version
    linkageType: ''
    returnType: int
    signature: int wssl_quic_new_session_cb(WOLFSSL *ssl, WOLFSSL_SESSION *session)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Curl_ssl_cf_get_config
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2356,1
    - Dst: ngtcp2_crypto_boringssl_configure_client_context
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2360,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2362,1
    - Dst: ngtcp2_crypto_quictls_configure_client_context
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2368,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2369,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2378,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2381,1
    - Dst: ngtcp2_crypto_gnutls_configure_client_session
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2385,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2386,1
    - Dst: gnutls_handshake_set_hook_function
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2390,1
    - Dst: ngtcp2_crypto_wolfssl_configure_client_context
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2396,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2397,1
    - Dst: wolfSSL_CTX_sess_set_new_cb
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - cf
    - data
    - user_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2406
    functionName: cf_ngtcp2_tls_ctx_setup
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - gnutls_handshake_set_hook_function
    - failf
    - ngtcp2_crypto_boringssl_configure_client_context
    - SSL_CTX_sess_set_new_cb
    - ngtcp2_crypto_gnutls_configure_client_session
    - wolfSSL_CTX_sess_set_new_cb
    - ngtcp2_crypto_wolfssl_configure_client_context
    - SSL_CTX_set_session_cache_mode
    - Curl_ssl_cf_get_config
    - ngtcp2_crypto_quictls_configure_client_context
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_tls_ctx_setup(struct Curl_cfilter *cf,\n                                        struct
      Curl_easy *data,\n                                        void *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_get_max_early_data_size
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2423,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2435,1
    - Dst: Curl_alpn_contains_proto
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2437,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2438,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2441,1
    - Dst: ngtcp2_conn_decode_and_set_0rtt_transport_params
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2445,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2448,1
    - Dst: ngtcp2_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2449,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2451,1
    - Dst: init_ngh3_conn
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2453,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - cf
    - data
    - alpns
    - scs
    - do_early_data
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct alpn_spec*
    - struct Curl_ssl_session*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2408
    functionDepth: 2
    functionLinenumber: 2408
    functionLinenumberEnd: 2468
    functionName: cf_ngtcp2_on_session_reuse
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CURL_TRC_CF
    - ngtcp2_conn_decode_and_set_0rtt_transport_params
    - Curl_alpn_contains_proto
    - ngtcp2_strerror
    - gnutls_record_get_max_early_data_size
    - init_ngh3_conn
    - infof
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_on_session_reuse(struct Curl_cfilter *cf,\n                                           struct
      Curl_easy *data,\n                                           struct alpn_spec
      *alpns,\n                                           struct Curl_ssl_session
      *scs,\n                                           bool *do_early_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2485,1
    - Dst: Curl_rand
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2487,1
    - Dst: Curl_rand
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2492,1
    - Dst: Curl_qlogdir
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2496,1
    - Dst: quic_settings
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2498,1
    - Dst: vquic_ctx_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2500,1
    - Dst: Curl_cf_socket_peek
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2504,1
    - Dst: getsockname
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2507,1
    - Dst: ngtcp2_addr_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2512,1
    - Dst: ngtcp2_addr_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2515,1
    - Dst: ngtcp2_conn_client_new
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2518,1
    - Dst: Curl_ngtcp2_mem
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2522,1
    - Dst: Curl_vquic_tls_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2529,1
    - Dst: ngtcp2_crypto_ossl_ctx_new
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2537,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2538,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2541,1
    - Dst: ngtcp2_crypto_ossl_configure_client_session
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2542,1
    - Dst: failf
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2543,1
    - Dst: SSL_set_quic_use_legacy_codepoint
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2547,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2548,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2550,1
    - Dst: ngtcp2_conn_set_tls_native_handle
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2552,1
    - Dst: ngtcp2_ccerr_default
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2557,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - cf
    - data
    - pktx
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - struct pkt_io_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2473
    functionDepth: 8
    functionLinenumber: 2473
    functionLinenumberEnd: 2560
    functionName: cf_connect_start
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_addr_init
    - quic_settings
    - failf
    - Curl_ngtcp2_mem
    - ngtcp2_conn_set_tls_native_handle
    - Curl_vquic_tls_init
    - Curl_qlogdir
    - vquic_ctx_init
    - ngtcp2_ccerr_default
    - SSL_set_quic_use_legacy_codepoint
    - ngtcp2_conn_client_new
    - Curl_cf_socket_peek
    - Curl_rand
    - ngtcp2_crypto_ossl_ctx_new
    - ngtcp2_crypto_ossl_configure_client_session
    - getsockname
    - DEBUGASSERT
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_connect_start(struct Curl_cfilter *cf,\n                                 struct
      Curl_easy *data,\n                                 struct pkt_io_ctx *pktx)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Curl_conn_cf_connect
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2579,1
    - Dst: curlx_now
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2585,1
    - Dst: pktx_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2586,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2588,1
    - Dst: cf_connect_start
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2592,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2599,1
    - Dst: cf_progress_ingress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2604,1
    - Dst: cf_progress_egress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2608,1
    - Dst: ngtcp2_conn_get_handshake_completed
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2612,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2615,1
    - Dst: connkeep
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2618,1
    - Dst: ngtcp2_conn_in_draining_period
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2624,1
    - Dst: ngtcp2_conn_get_ccerr
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2625,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2629,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2634,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2638,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2642,1
    - Dst: Curl_cf_socket_peek
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2656,1
    - Dst: infof
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2657,1
    - Dst: curl_easy_strerror
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2658,1
    - Dst: check_and_set_expiry
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2662,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2665,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2666,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 3
    argNames:
    - cf
    - data
    - done
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2562
    functionDepth: 9
    functionLinenumber: 2562
    functionLinenumberEnd: 2668
    functionName: cf_ngtcp2_connect
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - ngtcp2_conn_get_ccerr
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - curl_easy_strerror
    - ngtcp2_conn_in_draining_period
    - pktx_init
    - Curl_conn_cf_connect
    - curlx_now
    - connkeep
    - cf_progress_ingress
    - check_and_set_expiry
    - ngtcp2_conn_get_handshake_completed
    - cf_progress_egress
    - Curl_cf_socket_peek
    - infof
    - cf_connect_start
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_connect(struct Curl_cfilter *cf,\n                                  struct
      Curl_easy *data,\n                                  bool *done)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2679,1
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2680,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2690,1
    - Dst: Curl_multi_max_concurrent_streams
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2697,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2698,1
    - Dst: CONN_ATTACHED
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2700,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2701,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2706,1
    - Dst: Curl_vquic_tls_get_ssl_info
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2730,1
    - Dst: DEBUGASSERT
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2737,1
    - Dst: struct Curl_cfilter*::next::cft::query
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2745,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 5
    argNames:
    - cf
    - data
    - query
    - pres1
    - pres2
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2670
    functionDepth: 2
    functionLinenumber: 2670
    functionLinenumberEnd: 2747
    functionName: cf_ngtcp2_query
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - CONN_ATTACHED
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - Curl_multi_max_concurrent_streams
    - struct Curl_cfilter*::next::cft::query
    - Curl_vquic_tls_get_ssl_info
    - curlx_timediff
    - DEBUGASSERT
    - CF_DATA_SAVE
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode cf_ngtcp2_query(struct Curl_cfilter *cf,\n                                struct
      Curl_easy *data,\n                                int query, int *pres1, void
      *pres2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CF_DATA_SAVE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2758,1
    - Dst: ngtcp2_conn_get_remote_transport_params
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2765,1
    - Dst: curlx_timediff
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2767,1
    - Dst: curlx_now
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2767,1
    - Dst: struct Curl_cfilter*::next::cft::is_alive
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2776,1
    - Dst: cf_progress_ingress
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2786,1
    - Dst: CURL_TRC_CF
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2787,1
    - Dst: CF_DATA_RESTORE
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2792,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - cf
    - data
    - input_pending
    argTypes:
    - struct Curl_cfilter*
    - struct Curl_easy*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2749
    functionDepth: 2
    functionLinenumber: 2749
    functionLinenumberEnd: 2794
    functionName: cf_ngtcp2_conn_is_alive
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached:
    - struct Curl_cfilter*::next::cft::is_alive
    - CF_DATA_RESTORE
    - CURL_TRC_CF
    - curlx_now
    - ngtcp2_conn_get_remote_transport_params
    - cf_progress_ingress
    - curlx_timediff
    - CF_DATA_SAVE
    linkageType: ''
    returnType: bool
    signature: "bool cf_ngtcp2_conn_is_alive(struct Curl_cfilter *cf,\n                                    struct
      Curl_easy *data,\n                                    bool *input_pending)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2824,1
    - Dst: cf_ngtcp2_ctx_init
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2829,1
    - Dst: Curl_cf_create
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2831,1
    - Dst: Curl_cf_udp_create
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2836,1
    - Dst: Curl_conn_cf_discard_chain
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2846,1
    - Dst: cf_ngtcp2_ctx_free
      Src: /src/curl/lib/vquic/curl_ngtcp2.c:2848,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pcf
    - data
    - conn
    - ai
    argTypes:
    - struct Curl_cfilter**
    - struct Curl_easy*
    - struct connectdata*
    - struct Curl_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2814
    functionDepth: 6
    functionLinenumber: 2814
    functionLinenumberEnd: 2851
    functionName: Curl_cf_ngtcp2_create
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 1
    functionsReached:
    - calloc
    - Curl_cf_create
    - Curl_cf_udp_create
    - Curl_conn_cf_discard_chain
    - cf_ngtcp2_ctx_free
    - cf_ngtcp2_ctx_init
    linkageType: ''
    returnType: CURLcode
    signature: "CURLcode Curl_cf_ngtcp2_create(struct Curl_cfilter **pcf,\n                               struct
      Curl_easy *data,\n                               struct connectdata *conn,\n
      \                              const struct Curl_addrinfo *ai)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - data
    - conn
    - sockindex
    argTypes:
    - struct Curl_easy*
    - struct connectdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2867
    functionName: Curl_conn_is_ngtcp2
    functionSourceFile: /src/curl/lib/vquic/curl_ngtcp2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Curl_conn_is_ngtcp2(const struct Curl_easy *data,\n                         const
      struct connectdata *conn,\n                         int sockindex)"
Fuzzer filename: /src/curl_fuzzer/curl_fuzzer.cc
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- pthread.h
- tlhelp32.h
- easyif.h
- openssl/ocsp.h
- netrc.h
- openssl/buffer.h
- openssl/bio.h
- curlx/winapi.h
- multi_ntfy.h
- rustls.h
- warnless.h
- time.h
- subauth.h
- tidy/tidy.h
- escape.h
- cfilters.h
- ../connect.h
- proto/bsdsocket.h
- ../curl_gethostname.h
- libssh/sftp.h
- config-plan9.h
- cf-h1-proxy.h
- ../curlx/base64.h
- http_aws_sigv4.h
- http_digest.h
- tool_findfile.h
- macos.h
- ../curlx/fopen.h
- keylog.h
- netinet/tcp.h
- openssl/dh.h
- mbedtls/debug.h
- ../uint-hash.h
- curl_setup.h
- hostcheck.h
- stdio.h
- easy_lock.h
- libclidef.h
- header.h
- fcntl.h
- sys/eventfd.h
- stdlib.h
- curl.h
- tool_writeout.h
- idn2.h
- wolfssl/error-ssl.h
- curl/system.h
- proto/exec.h
- iconv.h
- ../slist.h
- tool_strdup.h
- ares_version.h
- gnutls/ocsp.h
- ../curlx/timeval.h
- cshutdn.h
- config2setopts.h
- openssl/dsa.h
- ../progress.h
- sys/param.h
- nettle/sha2.h
- cw-out.h
- mih/callpgmv.h
- fnmatch.h
- security.h
- lnmdef.h
- mbedtls/des.h
- wolfssl/options.h
- stabs.h
- curl_sasl.h
- openssl/err.h
- fileinfo.h
- fopen.h
- rtsp.h
- libxml/uri.h
- sys/resource.h
- curl_des.h
- ngtcp2/ngtcp2_crypto_gnutls.h
- tool_bname.h
- nettle/des.h
- mbedtls/mbedtls_config.h
- slist_wc.h
- llist.h
- expat.h
- ../strerror.h
- openssl/ech.h
- gskssl.h
- mbedtls/ctr_drbg.h
- zlib.h
- curl_sha512_256.h
- sys/utime.h
- unicode/uidna.h
- psl.h
- curlver.h
- dynhds.h
- openssl/engine.h
- openssl/rsa.h
- vtls/cipher_suite.h
- ../curl_memrchr.h
- lber.h
- tool_vms.h
- ../speedcheck.h
- float.h
- vquic-tls.h
- curl_md4.h
- sockaddr.h
- curl/stdcheaders.h
- tool_cb_see.h
- openssl/ui.h
- idn.h
- gnutls/crypto.h
- tcp.h
- mbedtls/x509.h
- cf-haproxy.h
- nghttp2/nghttp2.h
- http_negotiate.h
- cipher.mih
- curl_setup_once.h
- libgen.h
- Security/Security.h
- http_protocol.h
- unitcheck.h
- sys/stat.h
- wolfssl/openssl/md4.h
- tool_hugehelp.h
- tool_operhlp.h
- tool_msgs.h
- tool_setopt.h
- tool_help.h
- ../vtls/openssl.h
- ../vauth/vauth.h
- amigaos.h
- tool_doswin.h
- sys/select.h
- schnlsp.h
- setjmp.h
- bsdsocket/socketbasetags.h
- gtls.h
- openssl/bn.h
- tool_operate.h
- slist.h
- gnutls/abstract.h
- wolfssl.h
- sys/time.h
- openssl/x509v3.h
- speedcheck.h
- openssl/opensslconf.h
- openssl/provider.h
- openssl/core_names.h
- noproxy.h
- apr_strings.h
- brotli/decode.h
- os400sys.h
- gnutls/x509.h
- ../sendf.h
- curlx/warnless.h
- ldap_ssl.h
- in.h
- mbedtls/entropy.h
- curlx/inet_ntop.h
- vquic.h
- ../vtls/keylog.h
- curlx/strparse.h
- curl_ntlm_core.h
- curl_sspi.h
- locale.h
- curlx/base64.h
- tool_cfgable.h
- setup-win32.h
- ngtcp2/ngtcp2_crypto_boringssl.h
- tool_cb_rea.h
- sys/socket.h
- tool_main.h
- tool_cb_dbg.h
- ../bufq.h
- tool_urlglob.h
- vssh/ssh.h
- multiif.h
- ws2tcpip.h
- sys/sockio.h
- wolfssl/openssl/des.h
- iodef
- gssapi.h
- wchar.h
- curl_addrinfo.h
- ../curl_setup.h
- first.h
- http2.h
- ../curl_hmac.h
- memdebug.h
- direct.h
- cf-socket.h
- descrip
- ../curl_endian.h
- nettle/sha.h
- file.h
- tool_dirhie.h
- vtls_spack.h
- apr_cstr.h
- inet_ntop.h
- cf-h2-proxy.h
- openssl/evp.h
- mbedtls/net_sockets.h
- tidy/tidybuffio.h
- ares.h
- telnet.h
- curl_osslq.h
- http_chunks.h
- http1.h
- floss.h
- dict.h
- apr_optional.h
- pwd.h
- stdarg.h
- libssh2.h
- ../urldata.h
- hostip.h
- headers.h
- event2/event.h
- mbedtls.h
- openssl/x509.h
- multi.h
- curlmsg_vms.h
- tool_cb_wrt.h
- ../multiif.h
- tftp.h
- starlet
- multi_ev.h
- splay.h
- select.h
- mqtt.h
- miptrnam.h
- ../system_win32.h
- gss.h
- sys/epoll.h
- cf-https-connect.h
- ../curl_gssapi.h
- tool_getparam.h
- tool_paramhlp.h
- tool_cb_prg.h
- curlmsg.h
- hsts.h
- curl/multi.h
- sys/xattr.h
- winerror.h
- amitcp/socketbasetags.h
- setup-os400.h
- sys/mman.h
- openssl/tls1.h
- websockets.h
- ../hash.h
- ../vtls/gtls.h
- urldata.h
- socketpair.h
- schannel_int.h
- exec/execbase.h
- bcrypt.h
- fake_addrinfo.h
- system.h
- dos.h
- ../curl_printf.h
- digest.h
- rpc.h
- urlapi.h
- uint-hash.h
- ../curl_sspi.h
- curl_path.h
- curl_mem_undef.h
- tool_stderr.h
- termios.h
- tool_ipfs.h
- rename.h
- transfer.h
- ../http.h
- ../vtls/vtls_scache.h
- testinput.h
- multibyte.h
- mbedtls/error.h
- wolfssl/ssl.h
- ../curl_md5.h
- http.h
- TargetConditionals.h
- stdint.h
- curl_fopen.h
- testutil.h
- curl_rtmp.h
- ngtcp2/ngtcp2.h
- curl_quiche.h
- arpa_telnet.h
- curlx/fopen.h
- winldap.h
- termio.h
- vtls_int.h
- inet_pton.h
- ngtcp2/ngtcp2_crypto_wolfssl.h
- curl_get_line.h
- curl/curlver.h
- tool_util.h
- openssl.h
- ../curlx/wait.h
- schannel.h
- curl_fnmatch.h
- ../curlx/strparse.h
- altsvc.h
- tool_progress.h
- config-riscos.h
- signal.h
- ../curlx/warnless.h
- bufq.h
- inttypes.h
- curl_config.h
- ../bufref.h
- vtls.h
- mbedtls/md4.h
- utime.h
- sched.h
- base64.h
- curlx/curlx.h
- milib.h
- net/if.h
- vtls_scache.h
- string
- http_proxy.h
- mbedtls_threadlock.h
- ../curl_ctype.h
- hash.h
- ../llist.h
- curlx/version_win32.h
- cw-pause.h
- fuzzer/FuzzedDataProvider.h
- mime.h
- apple.h
- tool_formparse.h
- errno.h
- curl_hmac.h
- openssl/opensslv.h
- ../vtls/vtls.h
- ../http1.h
- curlx/nonblock.h
- openssl/md5.h
- gopher.h
- vssh/curl_path.h
- curl_trc.h
- http_request.h
- testtrace.h
- openssl/pem.h
- wolfssl/version.h
- curl/curl.h
- sys/ioctl.h
- tool_cb_hdr.h
- lwip/netdb.h
- vtls/vtls_scache.h
- vtls/hostcheck.h
- openssl/pkcs12.h
- strcase.h
- inet.h
- winber.h
- strerror.h
- ../curlx/strerr.h
- netdb.h
- tool_cb_soc.h
- curlx/inet_pton.h
- sys/extattr.h
- nghttp3/nghttp3.h
- stdatomic.h
- tool_setup.h
- openssl/des.h
- tool_filetime.h
- vquic/vquic.h
- openssl/ssl.h
- ../select.h
- libssh2_sftp.h
- openssl/conf.h
- parsedate.h
- strings.h
- fabdef.h
- uint-spbset.h
- ../hostip.h
- stsdef.h
- config-win32.h
- ws.h
- sendf.h
- curlx/strerr.h
- poll.h
- config-mac.h
- libpsl.h
- extra/stricmp.h
- event2/event_struct.h
- tool_parsecfg.h
- tool_version.h
- vtls/x509asn1.h
- config-os400.h
- libxml/xpath.h
- ../curl_sha512_256.h
- stddef.h
- mach/mach_time.h
- http_ntlm.h
- io.h
- ../url.h
- assert.h
- ../curl_trc.h
- conncache.h
- ngtcp2/ngtcp2_crypto_quictls.h
- ../setopt.h
- ../curl_memory.h
- rand.h
- openssl/rand.h
- ../share.h
- curl_range.h
- http_log.h
- ../strcase.h
- qadrt.h
- curl_printf.h
- sys/types.h
- ../sockaddr.h
- strdup.h
- sys/cdefs.h
- extra/strdup.h
- vtls/vtls.h
- curlx/multibyte.h
- cookie.h
- pop3.h
- curlx/dynbuf.h
- winsock2.h
- curl_ngtcp2.h
- SystemConfiguration/SCDynamicStoreCopySpecific.h
- progress.h
- stropts.h
- ../transfer.h
- ../formdata.h
- ngtcp2/ngtcp2_crypto.h
- linux/tcp.h
- wolfssl/openssl/rand.h
- curl_memory.h
- exec/types.h
- ifaddrs.h
- ldap.h
- setup-vms.h
- if2ip.h
- vquic_int.h
- sys/un.h
- terminal.h
- wincrypt.h
- libxml/HTMLparser.h
- gtk/gtk.h
- unistd.h
- url.h
- curl/urlapi.h
- doh.h
- timediff.h
- urlapi-int.h
- iphlpapi.h
- fuzz_bufq.h
- openssl/crypto.h
- glib.h
- ssh.h
- system_win32.h
- var.h
- ../vtls/wolfssl.h
- curlx/timediff.h
- mbedtls/md5.h
- stdbool.h
- curl_threads.h
- curl_fuzzer.h
- asyn.h
- libssh/libssh.h
- tool_getpass.h
- connect.h
- windows.h
- ../vtls/vtls_int.h
- proto/dos.h
- wait.h
- x509asn1.h
- dirent.h
- pingpong.h
- openssl/ossl_typ.h
- timeval.h
- formdata.h
- descrip.h
- curl_memrchr.h
- ../memdebug.h
- ctype.h
- curl_sha256.h
- apr_optional_hooks.h
- curl_md5.h
- multihandle.h
- ../curl_sasl.h
- string.h
- mbedtls/version.h
- openssl/store.h
- mbedtls/ssl.h
- winapifamily.h
- uint-table.h
- tool_libinfo.h
- ngtcp2/ngtcp2_crypto_ossl.h
- librtmp/rtmp.h
- httpsrr.h
- qsoasync.h
- netinet/in.h
- functypes.h
- tchar.h
- sspi.h
- apr_want.h
- mbedtls/sha256.h
- httpd.h
- version_win32.h
- arpa/inet.h
- tool_writeout_json.h
- sys/poll.h
- wolfssl/quic.h
- conio.h
- netinet/udp.h
- limits.h
- ../curl_ntlm_core.h
- setopt.h
- sys/filio.h
- nettle/md4.h
- unixlib.h
- tool_sdecls.h
- tool_xattr.h
- ConditionalMacros.h
- uint-bset.h
- vauth.h
- ev.h
- curlx/timeval.h
- sys/timerfd.h
- ../curlx/dynbuf.h
- smtp.h
- quiche.h
- langinfo.h
- ftp.h
- math.h
- easyoptions.h
- ccsidcurl.h
- ftplistparser.h
- binmode.h
- getinfo.h
- _mingw.h
- strparse.h
- easy.h
- ../cfilters.h
- cf-ip-happy.h
- vauth/vauth.h
- ../cf-socket.h
- curl_endian.h
- sigpipe.h
- CommonCrypto/CommonDigest.h
- ../curl_sha256.h
- curl_ldap.h
- ../rand.h
- share.h
- smb.h
- lwip/sockets.h
- ../curlx/inet_pton.h
- ../escape.h
- ../strdup.h
- gssapi/gssapi.h
- unitprotos.h
- dlfcn.h
- zstd.h
- curl/mprintf.h
- curl_gssapi.h
- imap.h
- bufref.h
- wolfssl/openssl/ssl.h
- netinet/in6.h
- ../parsedate.h
- ../curlx/multibyte.h
- dynbuf.h
- socks.h
- tool_helpers.h
- tool_ssls.h
- ../curlx/winapi.h
- curlx/wait.h
- nonblock.h
- curl_ctype.h
- Iphlpapi.h
- winapi.h
- gnutls/gnutls.h
- lwip/init.h
- openssl/md4.h
- tool_easysrc.h
- nettle/md5.h
- ../curlx/version_win32.h
- wolfssl/openssl/md5.h
- cipher_suite.h
- request.h
- strerr.h
- mprintf.h
- gsasl.h
- apr_time.h
- content_encoding.h
- typecheck-gcc.h
- curl_gethostname.h
- uv.h
- options.h
- ../getinfo.h
report: name
sources:
- function_names:
  - main
  source_file: /src/curl_fuzzer/standalone_fuzz_target_runner.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/curl_fuzzer/fuzz_fnmatch.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FV_PRINTF
  source_file: /src/curl_fuzzer/fuzz_bufq.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUZZ_MAX_CHUNK_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: FUZZ_MAX_CHUNKS_QTY
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: (1 * 1024)
    - item_type: preproc_def
      name: FUZZ_MAX_MAX_SPARE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: (1 * 1024)
    - item_type: preproc_def
      name: FUZZ_MAX_RW_SIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: (FUZZ_MAX_CHUNKS_QTY * FUZZ_MAX_CHUNK_SIZE)
    - item_type: preproc_def
      name: OP_TYPE_WRITE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '0'
    - item_type: preproc_def
      name: OP_TYPE_READ
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OP_TYPE_SKIP
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '2'
    - item_type: preproc_def
      name: OP_TYPE_RESET
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '3'
    - item_type: preproc_def
      name: OP_TYPE_PEEK
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '4'
    - item_type: preproc_def
      name: OP_TYPE_PEEK_AT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '5'
    - item_type: preproc_def
      name: OP_TYPE_SIPN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '6'
    - item_type: preproc_def
      name: OP_TYPE_SLURP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '7'
    - item_type: preproc_def
      name: OP_TYPE_PASS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '8'
    - item_type: preproc_def
      name: OP_TYPE_MAX
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl_fuzzer/fuzz_bufq.h
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl_fuzzer/testinput.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FTRY
  - FCHECK
  - FSET_OPTION
  - FCHECK_OPTION_UNSET
  - FSINGLETONTLV
  - FRESPONSETLV
  - FU32TLV
  - FV_PRINTF
  - FUZZ_MAX
  source_file: /src/curl_fuzzer/curl_fuzzer.h
  types:
    enum:
    - enumerators:
      - name: FUZZ_SOCK_CLOSED
      - name: FUZZ_SOCK_SHUTDOWN
      - name: FUZZ_SOCK_OPEN
      item_type: enum
      name: fuzz_sock_state
      pos:
        line_end: 312
        line_start: 308
        source_file: /src/curl_fuzzer/curl_fuzzer.h
    preproc_defs:
    - item_type: preproc_def
      name: TLV_TYPE_URL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE0
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TLV_TYPE_USERNAME
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TLV_TYPE_PASSWORD
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TLV_TYPE_POSTFIELDS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TLV_TYPE_HEADER
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TLV_TYPE_COOKIE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TLV_TYPE_UPLOAD1
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TLV_TYPE_RANGE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '9'
    - item_type: preproc_def
      name: TLV_TYPE_CUSTOMREQUEST
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '10'
    - item_type: preproc_def
      name: TLV_TYPE_MAIL_RECIPIENT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '11'
    - item_type: preproc_def
      name: TLV_TYPE_MAIL_FROM
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '12'
    - item_type: preproc_def
      name: TLV_TYPE_MIME_PART
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '13'
    - item_type: preproc_def
      name: TLV_TYPE_MIME_PART_NAME
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '14'
    - item_type: preproc_def
      name: TLV_TYPE_MIME_PART_DATA
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '15'
    - item_type: preproc_def
      name: TLV_TYPE_HTTPAUTH
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '16'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE1
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '17'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE2
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '18'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE3
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '19'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE4
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '20'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE5
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '21'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE6
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '22'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE7
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '23'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE8
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '24'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE9
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '25'
    - item_type: preproc_def
      name: TLV_TYPE_RESPONSE10
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '26'
    - item_type: preproc_def
      name: TLV_TYPE_OPTHEADER
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '27'
    - item_type: preproc_def
      name: TLV_TYPE_NOBODY
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '28'
    - item_type: preproc_def
      name: TLV_TYPE_FOLLOWLOCATION
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '29'
    - item_type: preproc_def
      name: TLV_TYPE_ACCEPTENCODING
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '30'
    - item_type: preproc_def
      name: TLV_TYPE_SECOND_RESPONSE0
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '31'
    - item_type: preproc_def
      name: TLV_TYPE_SECOND_RESPONSE1
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '32'
    - item_type: preproc_def
      name: TLV_TYPE_WILDCARDMATCH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '33'
    - item_type: preproc_def
      name: TLV_TYPE_RTSP_REQUEST
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '34'
    - item_type: preproc_def
      name: TLV_TYPE_RTSP_SESSION_ID
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '35'
    - item_type: preproc_def
      name: TLV_TYPE_RTSP_STREAM_URI
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '36'
    - item_type: preproc_def
      name: TLV_TYPE_RTSP_TRANSPORT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '37'
    - item_type: preproc_def
      name: TLV_TYPE_RTSP_CLIENT_CSEQ
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '38'
    - item_type: preproc_def
      name: TLV_TYPE_MAIL_AUTH
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '39'
    - item_type: preproc_def
      name: TLV_TYPE_HTTP_VERSION
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '40'
    - item_type: preproc_def
      name: TLV_TYPE_DOH_URL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '41'
    - item_type: preproc_def
      name: TLV_TYPE_LOGIN_OPTIONS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '42'
    - item_type: preproc_def
      name: TLV_TYPE_XOAUTH2_BEARER
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '43'
    - item_type: preproc_def
      name: TLV_TYPE_USERPWD
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '44'
    - item_type: preproc_def
      name: TLV_TYPE_USERAGENT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '45'
    - item_type: preproc_def
      name: TLV_TYPE_NETRC
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '46'
    - item_type: preproc_def
      name: TLV_TYPE_SSH_HOST_PUBLIC_KEY_SHA256
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '47'
    - item_type: preproc_def
      name: TLV_TYPE_POST
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '48'
    - item_type: preproc_def
      name: TLV_TYPE_WS_OPTIONS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '49'
    - item_type: preproc_def
      name: TLV_TYPE_CONNECT_ONLY
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '50'
    - item_type: preproc_def
      name: TLV_TYPE_HSTS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '51'
    - item_type: preproc_def
      name: TLV_TYPE_HTTPPOSTBODY
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '52'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '53'
    - item_type: preproc_def
      name: TLV_TYPE_PROXYTYPE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '54'
    - item_type: preproc_def
      name: TLV_TYPE_PROXYUSERPWD
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '100'
    - item_type: preproc_def
      name: TLV_TYPE_REFERER
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '101'
    - item_type: preproc_def
      name: TLV_TYPE_FTPPORT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '102'
    - item_type: preproc_def
      name: TLV_TYPE_SSLCERT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '103'
    - item_type: preproc_def
      name: TLV_TYPE_KEYPASSWD
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '104'
    - item_type: preproc_def
      name: TLV_TYPE_INTERFACE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '105'
    - item_type: preproc_def
      name: TLV_TYPE_KRBLEVEL
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '106'
    - item_type: preproc_def
      name: TLV_TYPE_CAINFO
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '107'
    - item_type: preproc_def
      name: TLV_TYPE_SSL_CIPHER_LIST
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '108'
    - item_type: preproc_def
      name: TLV_TYPE_SSLCERTTYPE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '109'
    - item_type: preproc_def
      name: TLV_TYPE_SSLKEY
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '110'
    - item_type: preproc_def
      name: TLV_TYPE_SSLKEYTYPE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '111'
    - item_type: preproc_def
      name: TLV_TYPE_SSLENGINE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '112'
    - item_type: preproc_def
      name: TLV_TYPE_CAPATH
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '113'
    - item_type: preproc_def
      name: TLV_TYPE_FTP_ACCOUNT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '114'
    - item_type: preproc_def
      name: TLV_TYPE_COOKIELIST
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '115'
    - item_type: preproc_def
      name: TLV_TYPE_FTP_ALTERNATIVE_TO_USER
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '116'
    - item_type: preproc_def
      name: TLV_TYPE_SSH_PUBLIC_KEYFILE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '117'
    - item_type: preproc_def
      name: TLV_TYPE_SSH_PRIVATE_KEYFILE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '118'
    - item_type: preproc_def
      name: TLV_TYPE_SSH_HOST_PUBLIC_KEY_MD5
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '119'
    - item_type: preproc_def
      name: TLV_TYPE_ISSUERCERT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '120'
    - item_type: preproc_def
      name: TLV_TYPE_PROXYUSERNAME
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '121'
    - item_type: preproc_def
      name: TLV_TYPE_PROXYPASSWORD
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '122'
    - item_type: preproc_def
      name: TLV_TYPE_NOPROXY
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '123'
    - item_type: preproc_def
      name: TLV_TYPE_SSH_KNOWNHOSTS
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '124'
    - item_type: preproc_def
      name: TLV_TYPE_TLSAUTH_USERNAME
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '125'
    - item_type: preproc_def
      name: TLV_TYPE_TLSAUTH_PASSWORD
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '126'
    - item_type: preproc_def
      name: TLV_TYPE_TLSAUTH_TYPE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '127'
    - item_type: preproc_def
      name: TLV_TYPE_DNS_SERVERS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '128'
    - item_type: preproc_def
      name: TLV_TYPE_DNS_INTERFACE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '129'
    - item_type: preproc_def
      name: TLV_TYPE_DNS_LOCAL_IP4
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '130'
    - item_type: preproc_def
      name: TLV_TYPE_DNS_LOCAL_IP6
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '131'
    - item_type: preproc_def
      name: TLV_TYPE_PINNEDPUBLICKEY
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '132'
    - item_type: preproc_def
      name: TLV_TYPE_UNIX_SOCKET_PATH
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '133'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SERVICE_NAME
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '134'
    - item_type: preproc_def
      name: TLV_TYPE_SERVICE_NAME
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '135'
    - item_type: preproc_def
      name: TLV_TYPE_DEFAULT_PROTOCOL
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '136'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_CAINFO
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '137'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_CAPATH
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '138'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_TLSAUTH_USERNAME
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '139'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_TLSAUTH_PASSWORD
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '140'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_TLSAUTH_TYPE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '141'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SSLCERT
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '142'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SSLCERTTYPE
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '143'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SSLKEY
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '144'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SSLKEYTYPE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '145'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_KEYPASSWD
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '146'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SSL_CIPHER_LIST
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '147'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_CRLFILE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '148'
    - item_type: preproc_def
      name: TLV_TYPE_PRE_PROXY
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '149'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_PINNEDPUBLICKEY
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '150'
    - item_type: preproc_def
      name: TLV_TYPE_ABSTRACT_UNIX_SOCKET
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '151'
    - item_type: preproc_def
      name: TLV_TYPE_REQUEST_TARGET
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '152'
    - item_type: preproc_def
      name: TLV_TYPE_TLS13_CIPHERS
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '153'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_TLS13_CIPHERS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '154'
    - item_type: preproc_def
      name: TLV_TYPE_SASL_AUTHZID
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '155'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_ISSUERCERT
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '156'
    - item_type: preproc_def
      name: TLV_TYPE_SSL_EC_CURVES
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '157'
    - item_type: preproc_def
      name: TLV_TYPE_AWS_SIGV4
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '158'
    - item_type: preproc_def
      name: TLV_TYPE_REDIR_PROTOCOLS_STR
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '159'
    - item_type: preproc_def
      name: TLV_TYPE_HAPROXY_CLIENT_IP
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '160'
    - item_type: preproc_def
      name: TLV_TYPE_ECH
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '161'
    - item_type: preproc_def
      name: TLV_TYPE_PORT
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '200'
    - item_type: preproc_def
      name: TLV_TYPE_LOW_SPEED_LIMIT
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '201'
    - item_type: preproc_def
      name: TLV_TYPE_LOW_SPEED_TIME
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '202'
    - item_type: preproc_def
      name: TLV_TYPE_RESUME_FROM
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '203'
    - item_type: preproc_def
      name: TLV_TYPE_TIMEVALUE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '204'
    - item_type: preproc_def
      name: TLV_TYPE_NOPROGRESS
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '205'
    - item_type: preproc_def
      name: TLV_TYPE_FAILONERROR
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '206'
    - item_type: preproc_def
      name: TLV_TYPE_DIRLISTONLY
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '207'
    - item_type: preproc_def
      name: TLV_TYPE_APPEND
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '208'
    - item_type: preproc_def
      name: TLV_TYPE_TRANSFERTEXT
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '209'
    - item_type: preproc_def
      name: TLV_TYPE_AUTOREFERER
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '210'
    - item_type: preproc_def
      name: TLV_TYPE_PROXYPORT
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '211'
    - item_type: preproc_def
      name: TLV_TYPE_POSTFIELDSIZE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '212'
    - item_type: preproc_def
      name: TLV_TYPE_HTTPPROXYTUNNEL
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '213'
    - item_type: preproc_def
      name: TLV_TYPE_SSL_VERIFYPEER
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '214'
    - item_type: preproc_def
      name: TLV_TYPE_MAXREDIRS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '215'
    - item_type: preproc_def
      name: TLV_TYPE_FILETIME
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '216'
    - item_type: preproc_def
      name: TLV_TYPE_MAXCONNECTS
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '217'
    - item_type: preproc_def
      name: TLV_TYPE_FRESH_CONNECT
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '218'
    - item_type: preproc_def
      name: TLV_TYPE_FORBID_REUSE
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '219'
    - item_type: preproc_def
      name: TLV_TYPE_CONNECTTIMEOUT
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '220'
    - item_type: preproc_def
      name: TLV_TYPE_HTTPGET
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '221'
    - item_type: preproc_def
      name: TLV_TYPE_SSL_VERIFYHOST
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '222'
    - item_type: preproc_def
      name: TLV_TYPE_FTP_USE_EPSV
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '223'
    - item_type: preproc_def
      name: TLV_TYPE_SSLENGINE_DEFAULT
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '224'
    - item_type: preproc_def
      name: TLV_TYPE_DNS_CACHE_TIMEOUT
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '225'
    - item_type: preproc_def
      name: TLV_TYPE_COOKIESESSION
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '226'
    - item_type: preproc_def
      name: TLV_TYPE_BUFFERSIZE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '227'
    - item_type: preproc_def
      name: TLV_TYPE_NOSIGNAL
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '228'
    - item_type: preproc_def
      name: TLV_TYPE_UNRESTRICTED_AUTH
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '229'
    - item_type: preproc_def
      name: TLV_TYPE_FTP_USE_EPRT
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '230'
    - item_type: preproc_def
      name: TLV_TYPE_FTP_CREATE_MISSING_DIRS
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '231'
    - item_type: preproc_def
      name: TLV_TYPE_MAXFILESIZE
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '232'
    - item_type: preproc_def
      name: TLV_TYPE_TCP_NODELAY
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '233'
    - item_type: preproc_def
      name: TLV_TYPE_IGNORE_CONTENT_LENGTH
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '234'
    - item_type: preproc_def
      name: TLV_TYPE_FTP_SKIP_PASV_IP
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '235'
    - item_type: preproc_def
      name: TLV_TYPE_LOCALPORT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '236'
    - item_type: preproc_def
      name: TLV_TYPE_LOCALPORTRANGE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '237'
    - item_type: preproc_def
      name: TLV_TYPE_SSL_SESSIONID_CACHE
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '238'
    - item_type: preproc_def
      name: TLV_TYPE_FTP_SSL_CCC
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '239'
    - item_type: preproc_def
      name: TLV_TYPE_CONNECTTIMEOUT_MS
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '240'
    - item_type: preproc_def
      name: TLV_TYPE_HTTP_TRANSFER_DECODING
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '241'
    - item_type: preproc_def
      name: TLV_TYPE_HTTP_CONTENT_DECODING
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '242'
    - item_type: preproc_def
      name: TLV_TYPE_NEW_FILE_PERMS
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '243'
    - item_type: preproc_def
      name: TLV_TYPE_NEW_DIRECTORY_PERMS
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '244'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_TRANSFER_MODE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '245'
    - item_type: preproc_def
      name: TLV_TYPE_ADDRESS_SCOPE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '246'
    - item_type: preproc_def
      name: TLV_TYPE_CERTINFO
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '247'
    - item_type: preproc_def
      name: TLV_TYPE_TFTP_BLKSIZE
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '248'
    - item_type: preproc_def
      name: TLV_TYPE_SOCKS5_GSSAPI_NEC
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '249'
    - item_type: preproc_def
      name: TLV_TYPE_FTP_USE_PRET
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '250'
    - item_type: preproc_def
      name: TLV_TYPE_RTSP_SERVER_CSEQ
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '251'
    - item_type: preproc_def
      name: TLV_TYPE_TRANSFER_ENCODING
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '252'
    - item_type: preproc_def
      name: TLV_TYPE_ACCEPTTIMEOUT_MS
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '253'
    - item_type: preproc_def
      name: TLV_TYPE_TCP_KEEPALIVE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '254'
    - item_type: preproc_def
      name: TLV_TYPE_TCP_KEEPIDLE
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '255'
    - item_type: preproc_def
      name: TLV_TYPE_TCP_KEEPINTVL
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '256'
    - item_type: preproc_def
      name: TLV_TYPE_SASL_IR
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '257'
    - item_type: preproc_def
      name: TLV_TYPE_SSL_ENABLE_ALPN
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '258'
    - item_type: preproc_def
      name: TLV_TYPE_EXPECT_100_TIMEOUT_MS
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '259'
    - item_type: preproc_def
      name: TLV_TYPE_SSL_VERIFYSTATUS
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '260'
    - item_type: preproc_def
      name: TLV_TYPE_SSL_FALSESTART
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '261'
    - item_type: preproc_def
      name: TLV_TYPE_PATH_AS_IS
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '262'
    - item_type: preproc_def
      name: TLV_TYPE_PIPEWAIT
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '263'
    - item_type: preproc_def
      name: TLV_TYPE_STREAM_WEIGHT
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '264'
    - item_type: preproc_def
      name: TLV_TYPE_TFTP_NO_OPTIONS
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '265'
    - item_type: preproc_def
      name: TLV_TYPE_TCP_FASTOPEN
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '266'
    - item_type: preproc_def
      name: TLV_TYPE_KEEP_SENDING_ON_ERROR
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '267'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SSL_VERIFYPEER
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '268'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SSL_VERIFYHOST
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '269'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SSL_OPTIONS
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '270'
    - item_type: preproc_def
      name: TLV_TYPE_SUPPRESS_CONNECT_HEADERS
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '271'
    - item_type: preproc_def
      name: TLV_TYPE_SOCKS5_AUTH
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '272'
    - item_type: preproc_def
      name: TLV_TYPE_SSH_COMPRESSION
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '273'
    - item_type: preproc_def
      name: TLV_TYPE_HAPPY_EYEBALLS_TIMEOUT_MS
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '274'
    - item_type: preproc_def
      name: TLV_TYPE_HAPROXYPROTOCOL
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '275'
    - item_type: preproc_def
      name: TLV_TYPE_DNS_SHUFFLE_ADDRESSES
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '276'
    - item_type: preproc_def
      name: TLV_TYPE_DISALLOW_USERNAME_IN_URL
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '277'
    - item_type: preproc_def
      name: TLV_TYPE_UPLOAD_BUFFERSIZE
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '278'
    - item_type: preproc_def
      name: TLV_TYPE_UPKEEP_INTERVAL_MS
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '279'
    - item_type: preproc_def
      name: TLV_TYPE_HTTP09_ALLOWED
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '280'
    - item_type: preproc_def
      name: TLV_TYPE_ALTSVC_CTRL
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '281'
    - item_type: preproc_def
      name: TLV_TYPE_MAXAGE_CONN
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '282'
    - item_type: preproc_def
      name: TLV_TYPE_MAIL_RCPT_ALLOWFAILS
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '283'
    - item_type: preproc_def
      name: TLV_TYPE_HSTS_CTRL
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '284'
    - item_type: preproc_def
      name: TLV_TYPE_DOH_SSL_VERIFYPEER
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '285'
    - item_type: preproc_def
      name: TLV_TYPE_DOH_SSL_VERIFYHOST
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '286'
    - item_type: preproc_def
      name: TLV_TYPE_DOH_SSL_VERIFYSTATUS
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '287'
    - item_type: preproc_def
      name: TLV_TYPE_MAXLIFETIME_CONN
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '288'
    - item_type: preproc_def
      name: TLV_TYPE_MIME_OPTIONS
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '289'
    - item_type: preproc_def
      name: TLV_TYPE_CA_CACHE_TIMEOUT
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '290'
    - item_type: preproc_def
      name: TLV_TYPE_QUICK_EXIT
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '291'
    - item_type: preproc_def
      name: TLV_TYPE_SERVER_RESPONSE_TIMEOUT_MS
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '292'
    - item_type: preproc_def
      name: TLV_TYPE_TCP_KEEPCNT
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '293'
    - item_type: preproc_def
      name: TLV_TYPE_SSLVERSION
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '300'
    - item_type: preproc_def
      name: TLV_TYPE_TIMECONDITION
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '301'
    - item_type: preproc_def
      name: TLV_TYPE_PROXYAUTH
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '302'
    - item_type: preproc_def
      name: TLV_TYPE_IPRESOLVE
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '303'
    - item_type: preproc_def
      name: TLV_TYPE_USE_SSL
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '304'
    - item_type: preproc_def
      name: TLV_TYPE_FTPSSLAUTH
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '305'
    - item_type: preproc_def
      name: TLV_TYPE_FTP_FILEMETHOD
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '306'
    - item_type: preproc_def
      name: TLV_TYPE_SSH_AUTH_TYPES
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '307'
    - item_type: preproc_def
      name: TLV_TYPE_POSTREDIR
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '308'
    - item_type: preproc_def
      name: TLV_TYPE_GSSAPI_DELEGATION
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '309'
    - item_type: preproc_def
      name: TLV_TYPE_SSL_OPTIONS
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '310'
    - item_type: preproc_def
      name: TLV_TYPE_HEADEROPT
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '311'
    - item_type: preproc_def
      name: TLV_TYPE_PROXY_SSLVERSION
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '312'
    - item_type: preproc_def
      name: TLV_TYPE_RESUME_FROM_LARGE
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '320'
    - item_type: preproc_def
      name: TLV_TYPE_MAXFILESIZE_LARGE
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '321'
    - item_type: preproc_def
      name: TLV_TYPE_POSTFIELDSIZE_LARGE
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '322'
    - item_type: preproc_def
      name: TLV_TYPE_MAX_SEND_SPEED_LARGE
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '323'
    - item_type: preproc_def
      name: TLV_TYPE_MAX_RECV_SPEED_LARGE
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '324'
    - item_type: preproc_def
      name: TLV_TYPE_TIMEVALUE_LARGE
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '325'
    - item_type: preproc_def
      name: TLV_RC_NO_ERROR
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TLV_RC_NO_MORE_TLVS
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TLV_RC_SIZE_ERROR
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TEMP_WRITE_ARRAY_SIZE
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MAXIMUM_WRITE_LENGTH
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '52428800'
    - item_type: preproc_def
      name: FUZZ_HTTPPOST_NAME
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '"test"'
    - item_type: preproc_def
      name: FUZZ_COOKIE_JAR_PATH
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '"/dev/null"'
    - item_type: preproc_def
      name: FUZZ_RO_COOKIE_FILE_PATH
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '"/dev/null"'
    - item_type: preproc_def
      name: FUZZ_ALT_SVC_HEADER_CACHE_PATH
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '"/dev/null"'
    - item_type: preproc_def
      name: FUZZ_HSTS_HEADER_CACHE_PATH
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '"/dev/null"'
    - item_type: preproc_def
      name: FUZZ_CRL_FILE_PATH
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '"/dev/null"'
    - item_type: preproc_def
      name: FUZZ_NETRC_FILE_PATH
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '"/dev/null"'
    - item_type: preproc_def
      name: TLV_MAX_NUM_RESPONSES
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '11'
    - item_type: preproc_def
      name: TLV_MAX_NUM_CURLOPT_HEADER
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '2000'
    - item_type: preproc_def
      name: FUZZ_CURLOPT_TRACKER_SPACE
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '500'
    - item_type: preproc_def
      name: FUZZ_NUM_CONNECTIONS
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/curl_fuzzer/curl_fuzzer.h
      type_or_value: '2'
    structs:
    - fields:
      - name: raw_type[2]
        type: uint8_t
      - name: raw_length[4]
        type: uint8_t
      item_type: struct
      name: tlv_raw
      pos:
        line_end: 326
        line_start: 318
        source_file: /src/curl_fuzzer/curl_fuzzer.h
    - fields:
      - name: type
        type: uint16_t
      - name: length
        type: uint32_t
      - name: '*value'
        type: uint8_t
      item_type: struct
      name: tlv
      pos:
        line_end: 339
        line_start: 328
        source_file: /src/curl_fuzzer/curl_fuzzer.h
    - fields:
      - name: '*data'
        type: uint8_t
      - name: data_len
        type: size_t
      - name: data_pos
        type: size_t
      item_type: struct
      name: fuzz_parse_state
      pos:
        line_end: 353
        line_start: 344
        source_file: /src/curl_fuzzer/curl_fuzzer.h
    - fields:
      - name: '*data'
        type: uint8_t
      - name: data_len
        type: size_t
      item_type: struct
      name: fuzz_response
      pos:
        line_end: 364
        line_start: 358
        source_file: /src/curl_fuzzer/curl_fuzzer.h
    - fields:
      - name: index
        type: unsigned char
      - name: responses[TLV_MAX_NUM_RESPONSES]
        type: FUZZ_RESPONSE
      - name: response_index
        type: int
      - name: fd_state
        type: FUZZ_SOCK_STATE
      - name: fd
        type: curl_socket_t
      item_type: struct
      name: fuzz_socket_manager
      pos:
        line_end: 379
        line_start: 366
        source_file: /src/curl_fuzzer/curl_fuzzer.h
    - fields:
      - name: '*easy'
        type: CURL
      - name: state
        type: FUZZ_PARSE_STATE
      - name: write_array[TEMP_WRITE_ARRAY_SIZE]
        type: char
      - name: written_data
        type: size_t
      - name: '*upload1_data'
        type: uint8_t
      - name: upload1_data_len
        type: size_t
      - name: upload1_data_written
        type: size_t
      - name: options[FUZZ_CURLOPT_TRACKER_SPACE]
        type: unsigned char
      - name: '*postfields'
        type: char
      - name: header_list_count
        type: int
      - name: '*header_list'
        type: struct curl_slist
      - name: '*mail_recipients_list'
        type: struct curl_slist
      - name: '*connect_to_list'
        type: struct curl_slist
      - name: '*mime'
        type: curl_mime
      - name: '*part'
        type: curl_mimepart
      - name: '*httppost'
        type: struct curl_httppost
      - name: '*last_post_part'
        type: struct curl_httppost
      - name: '*post_body'
        type: char
      - name: sockman[FUZZ_NUM_CONNECTIONS]
        type: FUZZ_SOCKET_MANAGER
      - name: verbose
        type: int
      item_type: struct
      name: fuzz_data
      pos:
        line_end: 435
        line_start: 384
        source_file: /src/curl_fuzzer/curl_fuzzer.h
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  - to_u32
  - to_u16
  - fuzz_initialize_fuzz_data
  - fuzz_set_easy_options
  - fuzz_terminate_fuzz_data
  - fuzz_free
  - fuzz_handle_transfer
  - fuzz_send_next_response
  - fuzz_select
  - fuzz_set_allowed_protocols
  source_file: /src/curl_fuzzer/curl_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FUZZ_VALID_SOCK
  - fuzz_open_socket
  - fuzz_sockopt_callback
  - fuzz_read_callback
  - fuzz_write_callback
  source_file: /src/curl_fuzzer/curl_fuzzer_callback.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - allocate_template_buffer
  - compute_buffer
  - bufq_writer_cb
  - bufq_reader_cb
  - fuzz_handle_bufq
  - LLVMFuzzerTestOneInput
  source_file: /src/curl_fuzzer/fuzz_bufq.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: verbose
        type: bool
      - name: '*template_buf'
        type: unsigned char
      - name: read_len
        type: size_t
      - name: next_byte_read
        type: unsigned char
      item_type: struct
      name: writer_cb_ctx
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    - fields:
      - name: verbose
        type: bool
      - name: '*template_buf'
        type: unsigned char
      - name: write_len
        type: size_t
      - name: next_byte_write
        type: unsigned char
      item_type: struct
      name: reader_cb_ctx
      pos:
        line_end: 105
        line_start: 100
        source_file: /src/curl_fuzzer/fuzz_bufq.cc
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/curl_fuzzer/fuzz_url.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_get_first_tlv
  - fuzz_get_next_tlv
  - fuzz_get_tlv_comn
  - fuzz_parse_tlv
  - fuzz_tlv_to_string
  - fuzz_setup_http_post
  - fuzz_add_mime_part
  - fuzz_parse_mime_tlv
  source_file: /src/curl_fuzzer/curl_fuzzer_tlv.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/tests/cmake/test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curltest_post_config
  - curltest_hooks
  - duration_parse
  - status_from_str
  - curltest_echo_handler
  - curltest_tweak_handler
  - curltest_put_handler
  - curltest_1_1_required
  - brigade_env_var
  - curltest_sslinfo_handler
  source_file: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECS_PER_HOUR
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
      type_or_value: (60*60)
    - item_type: preproc_def
      name: SECS_PER_DAY
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl/tests/http/testenv/mod_curltest/mod_curltest.c
      type_or_value: (24*SECS_PER_HOUR)
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1518_write_cb
  - test_lib1518
  source_file: /src/curl/tests/libtest/lib1518.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - new_fnmatch
  - test_lib574
  source_file: /src/curl/tests/libtest/lib574.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tst_opensocket
  - tst_closesocket
  - setupcallbacks
  - test_lib500
  source_file: /src/curl/tests/libtest/lib500.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib573
  source_file: /src/curl/tests/libtest/lib573.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1956
  source_file: /src/curl/tests/libtest/lib1956.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3010
  source_file: /src/curl/tests/libtest/lib3010.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - select_wrapper
  - cgetopt
  - memory_tracking_init
  - memory_tracking_init
  - hexdump
  - ws_send_ping
  - ws_recv_pong
  - ws_close
  - main
  source_file: /src/curl/tests/libtest/first.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib2502
  source_file: /src/curl/tests/libtest/lib2502.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1955
  source_file: /src/curl/tests/libtest/lib1955.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1939
  source_file: /src/curl/tests/libtest/lib1939.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTP_PKT_CHANNEL
  - RTP_PKT_LENGTH
  - rtp_write
  - test_lib571
  source_file: /src/curl/tests/libtest/lib571.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTP_DATA_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/tests/libtest/lib571.c
      type_or_value: '12'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_setopt
  - test_multi_setopt
  - exe_easy_init
  - res_easy_init
  - chk_easy_init
  - easy_init
  - exe_multi_init
  - res_multi_init
  - chk_multi_init
  - multi_init
  - exe_easy_setopt
  - res_easy_setopt
  - chk_easy_setopt
  - easy_setopt
  - exe_multi_setopt
  - res_multi_setopt
  - chk_multi_setopt
  - multi_setopt
  - exe_multi_add_handle
  - res_multi_add_handle
  - chk_multi_add_handle
  - multi_add_handle
  - exe_multi_remove_handle
  - res_multi_remove_handle
  - chk_multi_remove_handle
  - multi_remove_handle
  - exe_multi_perform
  - res_multi_perform
  - chk_multi_perform
  - multi_perform
  - exe_multi_fdset
  - res_multi_fdset
  - chk_multi_fdset
  - multi_fdset
  - exe_multi_timeout
  - res_multi_timeout
  - chk_multi_timeout
  - multi_timeout
  - exe_multi_poll
  - res_multi_poll
  - chk_multi_poll
  - multi_poll
  - exe_multi_wakeup
  - res_multi_wakeup
  - chk_multi_wakeup
  - multi_wakeup
  - exe_select_test
  - res_select_test
  - chk_select_test
  - select_test
  - start_test_timing
  - exe_test_timedout
  - res_test_timedout
  - res_test_timedout_custom
  - chk_test_timedout
  - abort_on_test_timeout
  - abort_on_test_timeout_custom
  - exe_global_init
  - res_global_init
  - chk_global_init
  - global_init
  source_file: /src/curl/tests/libtest/first.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_ERR_MAJOR_BAD
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE20
    - item_type: preproc_def
      name: TEST_ERR_RUNS_FOREVER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE24
    - item_type: preproc_def
      name: TEST_ERR_EASY_INIT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE29
    - item_type: preproc_def
      name: TEST_ERR_MULTI
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE32
    - item_type: preproc_def
      name: TEST_ERR_NUM_HANDLES
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE34
    - item_type: preproc_def
      name: TEST_ERR_SELECT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE40
    - item_type: preproc_def
      name: TEST_ERR_SUCCESS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE41
    - item_type: preproc_def
      name: TEST_ERR_FAILURE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE44
    - item_type: preproc_def
      name: TEST_ERR_USAGE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE46
    - item_type: preproc_def
      name: TEST_ERR_FOPEN
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE50
    - item_type: preproc_def
      name: TEST_ERR_FSTAT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE51
    - item_type: preproc_def
      name: TEST_ERR_BAD_TIMEOUT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: CURLE_OBSOLETE57
    - item_type: preproc_def
      name: TEST_HANG_TIMEOUT
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: '60 * 1000  '
    - item_type: preproc_def
      name: NO_SUPPORT_BUILT_IN
      pos:
        line_end: 523
        line_start: 517
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: "{                                             \\\n    (void)URL;
        \                                 \\\n    curl_mfprintf(stderr, \"Missing
        support\\n\"); \\\n    return CURLE_UNSUPPORTED_PROTOCOL;          \\\n  }"
    - item_type: preproc_def
      name: NUM_HANDLES
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/curl/tests/libtest/first.h
      type_or_value: '4  '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: ptr
        type: entry_func_t
      item_type: struct
      name: entry_s
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/curl/tests/libtest/first.h
    typedefs:
    - item_type: typedef
      name: (*entry_func_t)(const char *)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/curl/tests/libtest/first.h
      type: CURLcode
    union: []
- function_names:
  - test_lib562
  source_file: /src/curl/tests/libtest/lib562.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib661
  source_file: /src/curl/tests/libtest/lib661.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - descr_flags
  - send_header
  - recv_header
  - send_chunk
  - recv_chunk
  - recv_frame
  - test_lib2700
  source_file: /src/curl/tests/libtest/lib2700.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1937
  source_file: /src/curl/tests/libtest/lib1937.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - header
  - test_lib1556
  source_file: /src/curl/tests/libtest/lib1556.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: largest
        type: size_t
      item_type: struct
      name: headerinfo
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/curl/tests/libtest/lib1556.c
    typedefs: []
    union: []
- function_names:
  - test_lib1906
  source_file: /src/curl/tests/libtest/lib1906.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - prereq_callback
  - test_lib2082
  source_file: /src/curl/tests/libtest/lib2082.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: prereq_retcode
        type: int
      - name: ipv6
        type: int
      item_type: struct
      name: prcs
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/curl/tests/libtest/lib2082.c
    typedefs: []
    union: []
- function_names:
  - test_lib560
  source_file: /src/curl/tests/libtest/lib560.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t667_read_cb
  - test_lib667
  source_file: /src/curl/tests/libtest/lib667.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: curl_off_t
      item_type: struct
      name: t667_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/curl/tests/libtest/lib667.c
    typedefs: []
    union: []
- function_names:
  - test_lib658
  source_file: /src/curl/tests/libtest/lib658.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib567
  source_file: /src/curl/tests/libtest/lib567.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1517_read_cb
  - test_lib1517
  source_file: /src/curl/tests/libtest/lib1517.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t1517_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/curl/tests/libtest/lib1517.c
    typedefs: []
    union: []
- function_names:
  - test_lib1902
  source_file: /src/curl/tests/libtest/lib1902.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib543
  source_file: /src/curl/tests/libtest/lib543.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1911
  source_file: /src/curl/tests/libtest/lib1911.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_INPUT_LENGTH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/tests/libtest/lib1911.c
      type_or_value: '8000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - KN
  - t1541_geterr
  - report_time
  - check_time
  - check_time0
  - t1541_header_callback
  - t1541_write_cb
  - test_lib1541
  source_file: /src/curl/tests/libtest/lib1541.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*easy'
        type: CURL
      - name: hd_count
        type: int
      - name: bd_count
        type: int
      - name: result
        type: CURLcode
      item_type: struct
      name: t1541_transfer_status
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/curl/tests/libtest/lib1541.c
    typedefs: []
    union: []
- function_names:
  - test_lib1977
  source_file: /src/curl/tests/libtest/lib1977.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1500
  source_file: /src/curl/tests/libtest/lib1500.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib568
  source_file: /src/curl/tests/libtest/lib568.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1662_read_cb
  - test_lib1662
  source_file: /src/curl/tests/libtest/lib1662.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t1662_WriteThis
      pos:
        line_end: 27
        line_start: 25
        source_file: /src/curl/tests/libtest/lib1662.c
    typedefs: []
    union: []
- function_names:
  - test_lib3103
  source_file: /src/curl/tests/libtest/lib3103.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3027
  source_file: /src/curl/tests/libtest/lib3027.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1598_trailers_callback
  - test_lib1598
  source_file: /src/curl/tests/libtest/lib1598.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib559
  source_file: /src/curl/tests/libtest/lib559.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1534
  source_file: /src/curl/tests/libtest/lib1534.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1528
  source_file: /src/curl/tests/libtest/lib1528.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t547_read_cb
  - t547_ioctl_callback
  - test_lib547
  source_file: /src/curl/tests/libtest/lib547.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T547_DATALEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/tests/libtest/lib547.c
      type_or_value: (sizeof(t547_uploadthis)-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - progressKiller
  - test_lib1513
  source_file: /src/curl/tests/libtest/lib1513.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1568
  source_file: /src/curl/tests/libtest/lib1568.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t670_read_cb
  - t670_xferinfo
  - test_lib670
  source_file: /src/curl/tests/libtest/lib670.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PAUSE_TIME
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/tests/libtest/lib670.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*easy'
        type: CURL
      - name: origin
        type: time_t
      - name: count
        type: int
      item_type: struct
      name: t670_ReadThis
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/curl/tests/libtest/lib670.c
    typedefs: []
    union: []
- function_names:
  - t3033_req_test
  - test_lib3033
  source_file: /src/curl/tests/libtest/lib3033.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1545
  source_file: /src/curl/tests/libtest/lib1545.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t599_progress_callback
  - test_lib599
  source_file: /src/curl/tests/libtest/lib599.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t3034_read_cb
  - test_lib3034
  source_file: /src/curl/tests/libtest/lib3034.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1531
  source_file: /src/curl/tests/libtest/lib1531.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - reset_data
  - t1533_read_cb
  - t1533_write_cb
  - perform_and_check_connections
  - test_lib1533
  source_file: /src/curl/tests/libtest/lib1533.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*easy_handle'
        type: CURL
      - name: response_received
        type: int
      - name: paused
        type: int
      - name: remaining_bytes
        type: size_t
      item_type: struct
      name: cb_data
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/curl/tests/libtest/lib1533.c
    typedefs: []
    union: []
- function_names:
  - t537_store_errmsg
  - t537_close_file_descriptors
  - t537_fopen_works
  - test_lib537
  - test_lib537
  source_file: /src/curl/tests/libtest/lib537.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T537_SAFETY_MARGIN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/tests/libtest/lib537.c
      type_or_value: (11)
    - item_type: preproc_def
      name: DEV_NULL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/tests/libtest/lib537.c
      type_or_value: '"NUL"'
    - item_type: preproc_def
      name: DEV_NULL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/tests/libtest/lib537.c
      type_or_value: '"/dev/null"'
    - item_type: preproc_def
      name: LIMIT_CAP
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/curl/tests/libtest/lib537.c
      type_or_value: (256*1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3208
  source_file: /src/curl/tests/libtest/lib3208.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1959
  source_file: /src/curl/tests/libtest/lib1959.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib589
  source_file: /src/curl/tests/libtest/lib589.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1970
  source_file: /src/curl/tests/libtest/lib1970.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1502
  source_file: /src/curl/tests/libtest/lib1502.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib2402
  source_file: /src/curl/tests/libtest/lib2402.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_ws_data_m2_check_recv
  - test_ws_data_m2_echo
  - test_ws_data_m1_read
  - test_ws_data_m1_write
  - test_ws_data_m1_echo
  - test_ws_data_usage
  - test_cli_ws_data
  source_file: /src/curl/tests/libtest/cli_ws_data.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*easy'
        type: CURL
      - name: '*send_buf'
        type: char
      - name: '*recv_buf'
        type: char
      - name: send_len
        type: size_t
      - name: recv_len
        type: size_t
      - name: nframes
        type: int
      - name: read_calls
        type: int
      - name: write_calls
        type: int
      - name: frames_read
        type: int
      - name: frames_written
        type: int
      item_type: struct
      name: test_ws_m1_ctx
      pos:
        line_end: 203
        line_start: 191
        source_file: /src/curl/tests/libtest/cli_ws_data.c
    typedefs: []
    union: []
- function_names:
  - t1526_read_cb
  - test_lib1526
  source_file: /src/curl/tests/libtest/lib1526.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t506_test_lock
  - t506_test_unlock
  - sethost
  - t506_test_fire
  - test_lib506
  source_file: /src/curl/tests/libtest/lib506.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREADS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/tests/libtest/lib506.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*share'
        type: CURLSH
      - name: '*url'
        type: char
      item_type: struct
      name: t506_Tdata
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/curl/tests/libtest/lib506.c
    - fields:
      - name: '*text'
        type: char
      - name: counter
        type: int
      item_type: struct
      name: t506_userdata
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/curl/tests/libtest/lib506.c
    typedefs: []
    union: []
- function_names:
  - test_lib598
  source_file: /src/curl/tests/libtest/lib598.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1576_read_cb
  - t1576_seek_callback
  - test_lib1576
  source_file: /src/curl/tests/libtest/lib1576.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1972
  source_file: /src/curl/tests/libtest/lib1972.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3104
  source_file: /src/curl/tests/libtest/lib3104.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1974
  source_file: /src/curl/tests/libtest/lib1974.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3105
  source_file: /src/curl/tests/libtest/lib3105.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1538
  source_file: /src/curl/tests/libtest/lib1538.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib544
  source_file: /src/curl/tests/libtest/lib544.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1501
  source_file: /src/curl/tests/libtest/lib1501.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1553_xferinfo
  - test_lib1553
  source_file: /src/curl/tests/libtest/lib1553.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib526
  source_file: /src/curl/tests/libtest/lib526.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1905
  source_file: /src/curl/tests/libtest/lib1905.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib556
  source_file: /src/curl/tests/libtest/lib556.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1916
  source_file: /src/curl/tests/libtest/lib1916.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - proxystat
  - test_lib536
  source_file: /src/curl/tests/libtest/lib536.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib502
  source_file: /src/curl/tests/libtest/lib502.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1542
  source_file: /src/curl/tests/libtest/lib1542.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t508_read_cb
  - test_lib508
  source_file: /src/curl/tests/libtest/lib508.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t508_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/curl/tests/libtest/lib508.c
    typedefs: []
    union: []
- function_names:
  - is_chain_in_order
  - wrfu
  - test_lib3102
  source_file: /src/curl/tests/libtest/lib3102.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1903
  source_file: /src/curl/tests/libtest/lib1903.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - debug_dump
  - libtest_debug_cb
  - log_line_start
  - cli_debug_cb
  source_file: /src/curl/tests/libtest/testtrace.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1935
  source_file: /src/curl/tests/libtest/lib1935.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - loadfile
  - test_cert_blob
  - test_lib678
  source_file: /src/curl/tests/libtest/lib678.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib652
  source_file: /src/curl/tests/libtest/lib652.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1514_read_cb
  - test_lib1514
  source_file: /src/curl/tests/libtest/lib1514.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t1514_WriteThis
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/curl/tests/libtest/lib1514.c
    typedefs: []
    union: []
- function_names:
  - t1525_read_cb
  - test_lib1525
  source_file: /src/curl/tests/libtest/lib1525.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1933
  source_file: /src/curl/tests/libtest/lib1933.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1532
  source_file: /src/curl/tests/libtest/lib1532.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1900
  source_file: /src/curl/tests/libtest/lib1900.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - recv_any
  - t2304_websocket
  - test_lib2304
  source_file: /src/curl/tests/libtest/lib2304.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fail_if
  - fail_unless
  - verify_memory
  - fail
  - abort_if
  - abort_unless
  - unittest_abort
  - UNITTEST_BEGIN
  source_file: /src/curl/tests/libtest/unitcheck.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNITTEST_BEGIN_SIMPLE
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/curl/tests/libtest/unitcheck.h
      type_or_value: "(void)arg;                                    \\\n  {"
    - item_type: preproc_def
      name: unit_test_abort
      pos:
        line_end: 103
        line_start: 98
        source_file: /src/curl/tests/libtest/unitcheck.h
      type_or_value: ":                                \\\n  return (CURLcode)unitfail;"
    - item_type: preproc_def
      name: unit_test_abort
      pos:
        line_end: 118
        line_start: 112
        source_file: /src/curl/tests/libtest/unitcheck.h
      type_or_value: ":                                \\\n  stopfunc;                                     \\\n
        \ return (CURLcode)unitfail;"
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1599
  source_file: /src/curl/tests/libtest/lib1599.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1973
  source_file: /src/curl/tests/libtest/lib1973.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1571
  source_file: /src/curl/tests/libtest/lib1571.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib516
  source_file: /src/curl/tests/libtest/lib516.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib751
  source_file: /src/curl/tests/libtest/lib751.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1934
  source_file: /src/curl/tests/libtest/lib1934.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib520
  source_file: /src/curl/tests/libtest/lib520.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_transfer_for_easy_u
  - my_write_u_cb
  - my_read_cb
  - my_progress_u_cb
  - setup_hx_upload
  - usage_hx_upload
  - test_cli_hx_upload
  source_file: /src/curl/tests/libtest/cli_hx_upload.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: idx
        type: size_t
      - name: '*easy'
        type: CURL
      - name: '*method'
        type: char
      - name: filename[128]
        type: char
      - name: '*out'
        type: FILE
      - name: send_total
        type: curl_off_t
      - name: recv_size
        type: curl_off_t
      - name: send_size
        type: curl_off_t
      - name: fail_at
        type: curl_off_t
      - name: pause_at
        type: curl_off_t
      - name: abort_at
        type: curl_off_t
      - name: started
        type: int
      - name: paused
        type: int
      - name: resumed
        type: int
      - name: done
        type: int
      item_type: struct
      name: transfer_u
      pos:
        line_end: 46
        line_start: 30
        source_file: /src/curl/tests/libtest/cli_hx_upload.c
    typedefs: []
    union: []
- function_names:
  - checkparts
  - checkurl
  - part2id
  - updateurl
  - set_url
  - setget_parts
  - set_parts
  - get_url
  - get_parts
  - append
  - scopeid
  - get_nothing
  - clear_url
  - huge
  - urldup
  - test_lib1560
  source_file: /src/curl/tests/libtest/lib1560.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: part
        type: CURLUPart
      - name: '*name'
        type: char
      item_type: struct
      name: part
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*set'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: setflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: redircase
      pos:
        line_end: 96
        line_start: 89
        source_file: /src/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*set'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: setflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      - name: pcode
        type: CURLUcode
      item_type: struct
      name: setcase
      pos:
        line_end: 106
        line_start: 98
        source_file: /src/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*set'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: setflags
        type: unsigned int
      - name: getflags
        type: unsigned int
      - name: pcode
        type: CURLUcode
      item_type: struct
      name: setgetcase
      pos:
        line_end: 116
        line_start: 108
        source_file: /src/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: getflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: testcase
      pos:
        line_end: 124
        line_start: 118
        source_file: /src/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: getflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: urltestcase
      pos:
        line_end: 132
        line_start: 126
        source_file: /src/curl/tests/libtest/lib1560.c
    - fields:
      - name: '*in'
        type: char
      - name: '*q'
        type: char
      - name: '*out'
        type: char
      - name: urlflags
        type: unsigned int
      - name: qflags
        type: unsigned int
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: querycase
      pos:
        line_end: 141
        line_start: 134
        source_file: /src/curl/tests/libtest/lib1560.c
    - fields:
      - name: part
        type: CURLUPart
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      - name: ucode
        type: CURLUcode
      item_type: struct
      name: clearurlcase
      pos:
        line_end: 148
        line_start: 143
        source_file: /src/curl/tests/libtest/lib1560.c
    typedefs: []
    union: []
- function_names:
  - hstsread
  - hstsreadfail
  - hstswrite
  - test_lib1915
  source_file: /src/curl/tests/libtest/lib1915.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: index
        type: int
      item_type: struct
      name: state
      pos:
        line_end: 30
        line_start: 28
        source_file: /src/curl/tests/libtest/lib1915.c
    - fields:
      - name: '*name'
        type: char
      - name: '*exp'
        type: char
      item_type: struct
      name: entry
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/curl/tests/libtest/lib1915.c
    typedefs: []
    union: []
- function_names:
  - test_check
  - test_run_check
  - emptyWriteFunc
  - set_easy
  - test_run
  - empty_multi_test
  - test_lib2405
  source_file: /src/curl/tests/libtest/lib2405.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_it
  - test_lib695
  source_file: /src/curl/tests/libtest/lib695.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1551
  source_file: /src/curl/tests/libtest/lib1551.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1564
  source_file: /src/curl/tests/libtest/lib1564.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WAKEUP_NUM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/tests/libtest/lib1564.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib504
  source_file: /src/curl/tests/libtest/lib504.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib597
  source_file: /src/curl/tests/libtest/lib597.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1597
  source_file: /src/curl/tests/libtest/lib1597.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*in'
        type: char
      - name: '*exp'
        type: CURLcode
      item_type: struct
      name: pair
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/curl/tests/libtest/lib1597.c
    typedefs: []
    union: []
- function_names:
  - test_lib525
  source_file: /src/curl/tests/libtest/lib525.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib570
  source_file: /src/curl/tests/libtest/lib570.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib549
  source_file: /src/curl/tests/libtest/lib549.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1908
  source_file: /src/curl/tests/libtest/lib1908.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1509
  - WriteOutput
  - WriteHeader
  source_file: /src/curl/tests/libtest/lib1509.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1947_write_cb
  - test_lib1947
  source_file: /src/curl/tests/libtest/lib1947.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_tse_cb
  - tse_add_transfer
  - test_cli_tls_session_reuse
  source_file: /src/curl/tests/libtest/cli_tls_session_reuse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback
  - test_lib2032
  source_file: /src/curl/tests/libtest/lib2032.c
  types:
    enum:
    - enumerators:
      - name: ReadyForNewHandle
      - name: NoMoreHandles
      - name: NeedSocketForNewHandle
      item_type: enum
      name: HandleState
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/curl/tests/libtest/lib2032.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EASY_HANDLES
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/tests/libtest/lib2032.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tutil_suburl
  - tutil_rlim2str
  source_file: /src/curl/tests/libtest/testutil.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - free_callback
  - t654_read_cb
  - test_lib654
  source_file: /src/curl/tests/libtest/lib654.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: curl_off_t
      - name: freecount
        type: int
      item_type: struct
      name: t654_WriteThis
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/curl/tests/libtest/lib654.c
    typedefs: []
    union: []
- function_names:
  - test_lib514
  source_file: /src/curl/tests/libtest/lib514.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1301_fail_unless
  - test_lib1301
  source_file: /src/curl/tests/libtest/lib1301.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib521
  source_file: /src/curl/tests/libtest/lib521.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib2404
  source_file: /src/curl/tests/libtest/lib2404.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1591_read_cb
  - t1591_trailers_callback
  - test_lib1591
  source_file: /src/curl/tests/libtest/lib1591.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pingpong
  - test_cli_ws_pingpong
  source_file: /src/curl/tests/libtest/cli_ws_pingpong.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dload_progress_cb
  - t1523_write_cb
  - run
  - test_lib1523
  source_file: /src/curl/tests/libtest/lib1523.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_httppost_callback
  - t1308_fail_unless
  - test_lib1308
  source_file: /src/curl/tests/libtest/lib1308.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - custom_calloc
  - custom_malloc
  - custom_strdup
  - custom_realloc
  - custom_free
  - test_lib509
  source_file: /src/curl/tests/libtest/lib509.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t2301_websocket
  - t2301_write_cb
  - test_lib2301
  source_file: /src/curl/tests/libtest/lib2301.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib512
  source_file: /src/curl/tests/libtest/lib512.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t530_tag
  - t530_msg
  - t530_removeFd
  - t530_addFd
  - t530_curlSocketCallback
  - t530_curlTimerCallback
  - t530_checkForCompletion
  - t530_getMicroSecondTimeout
  - t530_updateFdSet
  - socket_action
  - t530_checkFdSet
  - testone
  - test_lib530
  source_file: /src/curl/tests/libtest/lib530.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: socket_calls
        type: int
      - name: max_socket_calls
        type: int
      - name: timer_calls
        type: int
      - name: max_timer_calls
        type: int
      - name: buf[1024]
        type: char
      item_type: struct
      name: t530_ctx
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/curl/tests/libtest/lib530.c
    - fields:
      - name: '*sockets'
        type: curl_socket_t
      - name: count
        type: int
      - name: max_count
        type: int
      item_type: struct
      name: t530_Sockets
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/curl/tests/libtest/lib530.c
    - fields:
      - name: read
        type: struct t530_Sockets
      item_type: struct
      name: t530_ReadWriteSockets
      pos:
        line_end: 66
        line_start: 64
        source_file: /src/curl/tests/libtest/lib530.c
    typedefs: []
    union: []
- function_names:
  - test_lib1938
  source_file: /src/curl/tests/libtest/lib1938.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - myreadfunc
  - test_lib553
  source_file: /src/curl/tests/libtest/lib553.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POSTLEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/tests/libtest/lib553.c
      type_or_value: '40960'
    - item_type: preproc_def
      name: NUM_HEADERS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/tests/libtest/lib553.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZE_HEADERS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/tests/libtest/lib553.c
      type_or_value: '5000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib674
  source_file: /src/curl/tests/libtest/lib674.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1535
  source_file: /src/curl/tests/libtest/lib1535.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_transfer_for_easy_d
  - my_write_d_cb
  - my_progress_d_cb
  - setup_hx_download
  - usage_hx_download
  - test_cli_hx_download
  source_file: /src/curl/tests/libtest/cli_hx_download.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: idx
        type: size_t
      - name: '*easy'
        type: CURL
      - name: filename[128]
        type: char
      - name: '*out'
        type: FILE
      - name: recv_size
        type: curl_off_t
      - name: fail_at
        type: curl_off_t
      - name: pause_at
        type: curl_off_t
      - name: abort_at
        type: curl_off_t
      - name: started
        type: int
      - name: paused
        type: int
      - name: resumed
        type: int
      - name: done
        type: int
      - name: checked_ssl
        type: int
      - name: result
        type: CURLcode
      item_type: struct
      name: transfer_d
      pos:
        line_end: 66
        line_start: 51
        source_file: /src/curl/tests/libtest/cli_hx_download.c
    typedefs: []
    union: []
- function_names:
  - send_request
  - send_wrong_password
  - send_right_password
  - parse_auth_name
  - test_lib2023
  source_file: /src/curl/tests/libtest/lib2023.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage_h2_pausing
  - cb
  - CLI_ERR
  - test_cli_h2_pausing
  source_file: /src/curl/tests/libtest/cli_h2_pausing.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: idx
        type: size_t
      - name: paused
        type: int
      - name: resumed
        type: int
      - name: errored
        type: int
      - name: fail_write
        type: int
      - name: '*h'
        type: CURL
      item_type: struct
      name: handle
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/curl/tests/libtest/cli_h2_pausing.c
    typedefs: []
    union: []
- function_names:
  - chunk_bgn
  - chunk_end
  - test_lib576
  source_file: /src/curl/tests/libtest/lib576.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: remains
        type: int
      - name: print_content
        type: int
      item_type: struct
      name: chunk_data
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/curl/tests/libtest/lib576.c
    typedefs: []
    union: []
- function_names:
  - test_lib539
  source_file: /src/curl/tests/libtest/lib539.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib590
  source_file: /src/curl/tests/libtest/lib590.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t518_store_errmsg
  - t518_close_file_descriptors
  - t518_fopen_works
  - t518_test_rlimit
  - test_lib518
  - test_lib518
  source_file: /src/curl/tests/libtest/lib518.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T518_SAFETY_MARGIN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/tests/libtest/lib518.c
      type_or_value: (16)
    - item_type: preproc_def
      name: NUM_OPEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/tests/libtest/lib518.c
      type_or_value: (FD_SETSIZE + 10)
    - item_type: preproc_def
      name: NUM_NEEDED
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/tests/libtest/lib518.c
      type_or_value: (NUM_OPEN + T518_SAFETY_MARGIN)
    - item_type: preproc_def
      name: DEV_NULL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/tests/libtest/lib518.c
      type_or_value: '"NUL"'
    - item_type: preproc_def
      name: DEV_NULL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/tests/libtest/lib518.c
      type_or_value: '"/dev/null"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib523
  source_file: /src/curl/tests/libtest/lib523.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib515
  source_file: /src/curl/tests/libtest/lib515.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib591
  source_file: /src/curl/tests/libtest/lib591.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - opensocket
  - test_lib1530
  source_file: /src/curl/tests/libtest/lib1530.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib507
  source_file: /src/curl/tests/libtest/lib507.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - resolver_alloc_cb_fail
  - resolver_alloc_cb_pass
  - test_lib655
  source_file: /src/curl/tests/libtest/lib655.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1557
  source_file: /src/curl/tests/libtest/lib1557.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1506
  source_file: /src/curl/tests/libtest/lib1506.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1552
  source_file: /src/curl/tests/libtest/lib1552.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3100
  source_file: /src/curl/tests/libtest/lib3100.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib572
  source_file: /src/curl/tests/libtest/lib572.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1510
  source_file: /src/curl/tests/libtest/lib1510.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1593
  source_file: /src/curl/tests/libtest/lib1593.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1978
  source_file: /src/curl/tests/libtest/lib1978.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t555_read_cb
  - t555_ioctl_callback
  - test_lib555
  source_file: /src/curl/tests/libtest/lib555.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T555_DATALEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/tests/libtest/lib555.c
      type_or_value: (sizeof(t555_uploadthis)-1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1936
  source_file: /src/curl/tests/libtest/lib1936.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1527_read_cb
  - test_lib1527
  source_file: /src/curl/tests/libtest/lib1527.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1964
  source_file: /src/curl/tests/libtest/lib1964.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t513_read_cb
  - test_lib513
  source_file: /src/curl/tests/libtest/lib513.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/tests/libtest/testutil.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_memory_callback
  - test_thread
  - t3207_test_lock
  - t3207_test_unlock
  - execute
  - execute
  - test_lib3207
  source_file: /src/curl/tests/libtest/lib3207.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREAD_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/tests/libtest/lib3207.c
      type_or_value: '16'
    - item_type: preproc_def
      name: PER_THREAD_SIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/tests/libtest/lib3207.c
      type_or_value: '8'
    structs:
    - fields:
      - name: '*URL'
        type: char
      - name: '*share'
        type: CURLSH
      - name: result
        type: CURLcode
      - name: thread_id
        type: size_t
      - name: '*contents'
        type: struct curl_slist
      item_type: struct
      name: Ctx
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/curl/tests/libtest/lib3207.c
    typedefs: []
    union: []
- function_names:
  - please_continue
  - t1540_header_callback
  - t1540_write_cb
  - test_lib1540
  source_file: /src/curl/tests/libtest/lib1540.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*easy'
        type: CURL
      - name: halted
        type: int
      - name: counter
        type: int
      - name: please
        type: int
      item_type: struct
      name: t1540_transfer_status
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/curl/tests/libtest/lib1540.c
    typedefs: []
    union: []
- function_names:
  - test_lib677
  source_file: /src/curl/tests/libtest/lib677.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1512
  source_file: /src/curl/tests/libtest/lib1512.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1958
  source_file: /src/curl/tests/libtest/lib1958.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1485_header_callback
  - t1485_write_cb
  - test_lib1485
  source_file: /src/curl/tests/libtest/lib1485.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*easy'
        type: CURL
      - name: out_len
        type: curl_off_t
      - name: hd_line
        type: size_t
      - name: result
        type: CURLcode
      - name: http_status
        type: int
      item_type: struct
      name: t1485_transfer_status
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/curl/tests/libtest/lib1485.c
    typedefs: []
    union: []
- function_names:
  - test_lib583
  source_file: /src/curl/tests/libtest/lib583.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1582
  source_file: /src/curl/tests/libtest/lib1582.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/tests/libtest/memptr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1918
  source_file: /src/curl/tests/libtest/lib1918.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1507_read_cb
  - test_lib1507
  source_file: /src/curl/tests/libtest/lib1507.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1569
  source_file: /src/curl/tests/libtest/lib1569.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1558
  source_file: /src/curl/tests/libtest/lib1558.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib542
  source_file: /src/curl/tests/libtest/lib542.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_one_request
  - test_lib1515
  source_file: /src/curl/tests/libtest/lib1515.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_TIMEOUT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/tests/libtest/lib1515.c
      type_or_value: 1L
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib501
  source_file: /src/curl/tests/libtest/lib501.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3101
  source_file: /src/curl/tests/libtest/lib3101.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1910
  source_file: /src/curl/tests/libtest/lib1910.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sockopt_766
  - test_lib766
  source_file: /src/curl/tests/libtest/lib766.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t578_progress_callback
  - test_lib578
  source_file: /src/curl/tests/libtest/lib578.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib558
  source_file: /src/curl/tests/libtest/lib558.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1919
  source_file: /src/curl/tests/libtest/lib1919.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - progressCallback
  - test_lib1555
  source_file: /src/curl/tests/libtest/lib1555.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1537
  source_file: /src/curl/tests/libtest/lib1537.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t552_read_cb
  - t552_write_cb
  - ioctl_callback
  - test_lib552
  source_file: /src/curl/tests/libtest/lib552.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t582_removeFd
  - t582_addFd
  - t582_curlSocketCallback
  - t582_curlTimerCallback
  - t582_checkForCompletion
  - t582_getMicroSecondTimeout
  - t582_updateFdSet
  - notifyCurl
  - t582_checkFdSet
  - test_lib582
  source_file: /src/curl/tests/libtest/lib582.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*sockets'
        type: curl_socket_t
      - name: count
        type: int
      - name: max_count
        type: int
      item_type: struct
      name: t582_Sockets
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/curl/tests/libtest/lib582.c
    - fields:
      - name: read
        type: struct t582_Sockets
      item_type: struct
      name: t582_ReadWriteSockets
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/curl/tests/libtest/lib582.c
    typedefs: []
    union: []
- function_names:
  - test_lib1529
  source_file: /src/curl/tests/libtest/lib1529.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1957
  source_file: /src/curl/tests/libtest/lib1957.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1565_run_thread
  - test_lib1565
  - test_lib1565
  source_file: /src/curl/tests/libtest/lib1565.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONN_NUM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/tests/libtest/lib1565.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TIME_BETWEEN_START_SECS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/tests/libtest/lib1565.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1940_write_cb
  - t1940_showem
  - test_lib1940
  source_file: /src/curl/tests/libtest/lib1940.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib505
  source_file: /src/curl/tests/libtest/lib505.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1907
  source_file: /src/curl/tests/libtest/lib1907.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1508
  source_file: /src/curl/tests/libtest/lib1508.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1554_test_lock
  - t1554_test_unlock
  - test_lib1554
  source_file: /src/curl/tests/libtest/lib1554.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init
  - loop
  - test_lib540
  source_file: /src/curl/tests/libtest/lib540.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1511
  source_file: /src/curl/tests/libtest/lib1511.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib3025
  source_file: /src/curl/tests/libtest/lib3025.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1559
  source_file: /src/curl/tests/libtest/lib1559.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_h2_upg_extreme_cb
  - test_cli_h2_upgrade_extreme
  source_file: /src/curl/tests/libtest/cli_h2_upgrade_extreme.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1549
  source_file: /src/curl/tests/libtest/lib1549.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib541
  source_file: /src/curl/tests/libtest/lib541.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib533
  source_file: /src/curl/tests/libtest/lib533.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib503
  source_file: /src/curl/tests/libtest/lib503.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib659
  source_file: /src/curl/tests/libtest/lib659.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1971_read_cb
  - test_lib1971
  source_file: /src/curl/tests/libtest/lib1971.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1520_read_cb
  - test_lib1520
  source_file: /src/curl/tests/libtest/lib1520.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lines_read
        type: int
      item_type: struct
      name: upload_status
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/curl/tests/libtest/lib1520.c
    typedefs: []
    union: []
- function_names:
  - setup_h2_serverpush
  - server_push_callback
  - test_cli_h2_serverpush
  source_file: /src/curl/tests/libtest/cli_h2_serverpush.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1945_showem
  - t1945_write_cb
  - test_lib1945
  source_file: /src/curl/tests/libtest/lib1945.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib524
  source_file: /src/curl/tests/libtest/lib524.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib519
  source_file: /src/curl/tests/libtest/lib519.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/tests/libtest/testtrace.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tracetime
        type: bool
      - name: nohex
        type: bool
      item_type: struct
      name: libtest_trace_cfg
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/curl/tests/libtest/testtrace.h
    typedefs: []
    union: []
- function_names:
  - t586_test_lock
  - t586_test_unlock
  - t586_test_fire
  - test_lib586
  source_file: /src/curl/tests/libtest/lib586.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREADS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/tests/libtest/lib586.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*share'
        type: CURLSH
      - name: '*url'
        type: char
      item_type: struct
      name: t586_Tdata
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/curl/tests/libtest/lib586.c
    - fields:
      - name: '*text'
        type: char
      - name: counter
        type: int
      item_type: struct
      name: t586_userdata
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/curl/tests/libtest/lib586.c
    typedefs: []
    union: []
- function_names:
  - t3026_run_thread
  - test_lib3026
  - t3026_run_thread
  - test_lib3026
  - test_lib3026
  source_file: /src/curl/tests/libtest/lib3026.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_THREADS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/curl/tests/libtest/lib3026.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - t643_read_cb
  - t643_test_once
  - t643_cyclic_add
  - test_lib643
  source_file: /src/curl/tests/libtest/lib643.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: curl_off_t
      item_type: struct
      name: t643_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/curl/tests/libtest/lib643.c
    typedefs: []
    union: []
- function_names:
  - test_lib694
  source_file: /src/curl/tests/libtest/lib694.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib666
  source_file: /src/curl/tests/libtest/lib666.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_757
  - read_757
  - seek_757
  - test_lib757
  source_file: /src/curl/tests/libtest/lib757.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DATA757
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/tests/libtest/lib757.c
      type_or_value: '"<title>fun-times</title>"'
    - item_type: preproc_def
      name: DATALEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/tests/libtest/lib757.c
      type_or_value: (sizeof(DATA757) - 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib676
  source_file: /src/curl/tests/libtest/lib676.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - put_callback
  - test_lib1948
  source_file: /src/curl/tests/libtest/lib1948.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: put_buffer
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/curl/tests/libtest/lib1948.c
    typedefs: []
    union: []
- function_names:
  - test_lib1536
  source_file: /src/curl/tests/libtest/lib1536.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib511
  source_file: /src/curl/tests/libtest/lib511.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib653
  source_file: /src/curl/tests/libtest/lib653.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t554_read_cb
  - t587_read_cb
  - t554_test_once
  - test_lib554
  source_file: /src/curl/tests/libtest/lib554.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: t554_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/curl/tests/libtest/lib554.c
    typedefs: []
    union: []
- function_names:
  - test_lib517
  source_file: /src/curl/tests/libtest/lib517.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: output
        type: time_t
      item_type: struct
      name: dcheck
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/curl/tests/libtest/lib517.c
    typedefs: []
    union: []
- function_names:
  - writedata
  - onetest
  - test_lib1156
  source_file: /src/curl/tests/libtest/lib1156.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: F_RESUME
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 0)        '
    - item_type: preproc_def
      name: F_HTTP416
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 1)        '
    - item_type: preproc_def
      name: F_FAIL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 2)        '
    - item_type: preproc_def
      name: F_CONTENTRANGE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 3)        '
    - item_type: preproc_def
      name: F_IGNOREBODY
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/tests/libtest/lib1156.c
      type_or_value: '(1 << 4)        '
    structs:
    - fields:
      - name: flags
        type: unsigned int
      - name: result
        type: CURLcode
      item_type: struct
      name: testparams
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/curl/tests/libtest/lib1156.c
    typedefs: []
    union: []
- function_names:
  - t1901_read_cb
  - test_lib1901
  source_file: /src/curl/tests/libtest/lib1901.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_err
  - test_lib1912
  source_file: /src/curl/tests/libtest/lib1912.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t510_read_cb
  - test_lib510
  source_file: /src/curl/tests/libtest/lib510.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: counter
        type: int
      item_type: struct
      name: t510_WriteThis
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/curl/tests/libtest/lib510.c
    typedefs: []
    union: []
- function_names:
  - test_lib569
  source_file: /src/curl/tests/libtest/lib569.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1592
  source_file: /src/curl/tests/libtest/lib1592.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - progress_final_report
  - t579_progress_callback
  - t579_read_cb
  - test_lib579
  source_file: /src/curl/tests/libtest/lib579.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: counter
        type: int
      item_type: struct
      name: t579_WriteThis
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/curl/tests/libtest/lib579.c
    typedefs: []
    union: []
- function_names:
  - test_lib566
  source_file: /src/curl/tests/libtest/lib566.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unsigned_short_formatting
  - test_signed_short_formatting
  - test_unsigned_int_formatting
  - test_signed_int_formatting
  - test_unsigned_long_formatting
  - test_signed_long_formatting
  - test_curl_off_t_formatting
  - string_check_low
  - string_check
  - strlen_check_low
  - strlen_check
  - test_string_formatting
  - test_pos_arguments
  - test_width_precision
  - test_weird_arguments
  - test_float_formatting
  - test_oct_hex_formatting
  - test_return_codes
  - test_lib557
  source_file: /src/curl/tests/libtest/lib557.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFSZ
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/tests/libtest/lib557.c
      type_or_value: '256'
    - item_type: preproc_def
      name: SPACE60
      pos:
        line_end: 1193
        line_start: 1192
        source_file: /src/curl/tests/libtest/lib557.c
      type_or_value: '"                                                            "'
    - item_type: preproc_def
      name: SPACE300
      pos:
        line_end: 1194
        line_start: 1193
        source_file: /src/curl/tests/libtest/lib557.c
      type_or_value: SPACE60 SPACE60 SPACE60 SPACE60 SPACE60
    - item_type: preproc_def
      name: OK325
      pos:
        line_end: 1195
        line_start: 1194
        source_file: /src/curl/tests/libtest/lib557.c
      type_or_value: SPACE300 "                        0"
    - item_type: preproc_def
      name: MAXIMIZE
      pos:
        line_end: 1350
        line_start: 1349
        source_file: /src/curl/tests/libtest/lib557.c
      type_or_value: '-1.7976931348623157081452E+308'
    structs:
    - fields:
      - name: num
        type: unsigned short
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: unsshort_st
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: short
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: sigshort_st
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: unsigned int
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: unsint_st
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: int
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: sigint_st
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: unsigned long
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: unslong_st
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: long
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: siglong_st
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/curl/tests/libtest/lib557.c
    - fields:
      - name: num
        type: curl_off_t
      - name: '*expected'
        type: char
      - name: result[BUFSZ]
        type: char
      item_type: struct
      name: curloff_st
      pos:
        line_end: 99
        line_start: 95
        source_file: /src/curl/tests/libtest/lib557.c
    typedefs: []
    union: []
- function_names:
  - test_lib1913
  source_file: /src/curl/tests/libtest/lib1913.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t753_write_cb
  - t753_hd_cb
  - t753_setup
  - test_lib753
  source_file: /src/curl/tests/libtest/lib753.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*easy'
        type: CURL
      - name: '*name'
        type: char
      - name: pause
        type: bool
      - name: is_paused
        type: bool
      - name: seen_welcome
        type: bool
      item_type: struct
      name: t753_transfer_status
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/curl/tests/libtest/lib753.c
    typedefs: []
    union: []
- function_names:
  - test_lib575
  source_file: /src/curl/tests/libtest/lib575.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t668_read_cb
  - test_lib668
  source_file: /src/curl/tests/libtest/lib668.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: curl_off_t
      item_type: struct
      name: t668_WriteThis
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/curl/tests/libtest/lib668.c
    typedefs: []
    union: []
- function_names:
  - count_chars
  - test_lib650
  source_file: /src/curl/tests/libtest/lib650.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_callback
  - progress_callback
  - usage_upload_pausing
  - test_cli_upload_pausing
  source_file: /src/curl/tests/libtest/cli_upload_pausing.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib651
  source_file: /src/curl/tests/libtest/lib651.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - closesocket_cb
  - socket_cb
  - sockopt_cb
  - my_inet_pton
  - my_inet_pton
  - test_lib1960
  - test_lib1960
  source_file: /src/curl/tests/libtest/lib1960.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib1594
  source_file: /src/curl/tests/libtest/lib1594.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sockopt_callback
  - test_lib1522
  source_file: /src/curl/tests/libtest/lib1522.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t758_tag
  - t758_msg
  - t758_removeFd
  - t758_addFd
  - t758_curlSocketCallback
  - t758_curlTimerCallback
  - t758_cert_verify_callback
  - t758_set_ssl_ctx_callback
  - t758_checkForCompletion
  - t758_getMicroSecondTimeout
  - t758_updateFdSet
  - t758_saction
  - t758_checkFdSet
  - t758_one
  - test_lib758
  - test_lib758
  source_file: /src/curl/tests/libtest/lib758.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: socket_calls
        type: int
      - name: max_socket_calls
        type: int
      - name: timer_calls
        type: int
      - name: max_timer_calls
        type: int
      - name: fake_async_cert_verification_pending
        type: int
      - name: fake_async_cert_verification_finished
        type: int
      - name: number_of_cert_verify_callbacks
        type: int
      - name: buf[1024]
        type: char
      item_type: struct
      name: t758_ctx
      pos:
        line_end: 56
        line_start: 47
        source_file: /src/curl/tests/libtest/lib758.c
    - fields:
      - name: '*sockets'
        type: curl_socket_t
      - name: count
        type: int
      - name: max_count
        type: int
      item_type: struct
      name: t758_Sockets
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/curl/tests/libtest/lib758.c
    - fields:
      - name: read
        type: struct t758_Sockets
      item_type: struct
      name: t758_ReadWriteSockets
      pos:
        line_end: 81
        line_start: 79
        source_file: /src/curl/tests/libtest/lib758.c
    typedefs: []
    union: []
- function_names:
  - test_lib1550
  source_file: /src/curl/tests/libtest/lib1550.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib2306
  source_file: /src/curl/tests/libtest/lib2306.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flush_data
  - add_data
  - t2302_write_cb
  - test_lib2302
  source_file: /src/curl/tests/libtest/lib2302.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIB2302_BUFSIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/tests/libtest/lib2302.c
      type_or_value: (1024 * 1024)
    structs:
    - fields:
      - name: '*easy'
        type: CURL
      - name: '*buf'
        type: char
      - name: blen
        type: size_t
      - name: nwrites
        type: size_t
      - name: has_meta
        type: int
      - name: meta_flags
        type: int
      item_type: struct
      name: ws_data
      pos:
        line_end: 34
        line_start: 27
        source_file: /src/curl/tests/libtest/lib2302.c
    typedefs: []
    union: []
- function_names:
  - test_lib1567
  source_file: /src/curl/tests/libtest/lib1567.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1975_read_cb
  - test_lib1975
  source_file: /src/curl/tests/libtest/lib1975.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cb_curl
  - test_lib2308
  source_file: /src/curl/tests/libtest/lib2308.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lib564
  source_file: /src/curl/tests/libtest/lib564.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cb_ignore
  - test_lib2309
  source_file: /src/curl/tests/libtest/lib2309.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_tool1394
  source_file: /src/curl/tests/tunit/tool1394.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getflagstr
  - getcurlcodestr
  - test_tool1604
  source_file: /src/curl/tests/tunit/tool1604.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: flags
        type: int
      - name: '*expected_output'
        type: char
      - name: expected_result
        type: SANITIZEcode
      item_type: struct
      name: data
      pos:
        line_end: 69
        line_start: 64
        source_file: /src/curl/tests/tunit/tool1604.c
    typedefs: []
    union: []
- function_names:
  - test_tool1621
  source_file: /src/curl/tests/tunit/tool1621.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*output'
        type: char
      item_type: struct
      name: checkthis
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/curl/tests/tunit/tool1621.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/tests/server/first.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_STRNICMP
  - CURL_STRNICMP
  - CURL_STRNICMP
  - CURL_STRNICMP
  source_file: /src/curl/tests/server/first.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/tests/server/first.h
      type_or_value: _snprintf
    - item_type: preproc_def
      name: GPE_NO_BUFFER_SPACE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/curl/tests/server/first.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: GPE_OUT_OF_MEMORY
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/curl/tests/server/first.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: GPE_OK
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/curl/tests/server/first.h
      type_or_value: '0'
    - item_type: preproc_def
      name: GPE_END_OF_FILE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/curl/tests/server/first.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SERVERLOGS_LOCKDIR
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/curl/tests/server/first.h
      type_or_value: '"lock"  '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: ptr
        type: entry_func_t
      item_type: struct
      name: entry_s
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/curl/tests/server/first.h
    typedefs:
    - item_type: typedef
      name: (*entry_func_t)(int, char **)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/curl/tests/server/first.h
      type: int
    union:
    - fields:
      - name: sa
        type: struct sockaddr
      - name: sa4
        type: struct sockaddr_in
      item_type: union
      name: srvr_sockaddr_union_t
      pos:
        line_end: 115
        line_start: 106
        source_file: /src/curl/tests/server/first.h
- function_names:
  - EAT_SPACE
  - EAT_WORD
  - show
  - show
  - line_length
  - readline
  - appenddata
  - decodedata
  - getpart
  source_file: /src/curl/tests/server/getpart.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_TAG_LEN
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/curl/tests/server/getpart.c
      type_or_value: '200'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: sig
        type: ssize_t
      - name: uns
        type: size_t
      item_type: union
      name: len
      pos:
        line_end: 257
        line_start: 254
        source_file: /src/curl/tests/server/getpart.c
- function_names:
  - socket_domain_is_ip
  - parse_cmdfile
  - sws_parse_servercmd
  - sws_ProcessRequest
  - sws_storerequest
  - init_httprequest
  - sws_get_request
  - sws_send_doc
  - connect_to
  - data_or_ctrl
  - http_connect
  - http_upgrade
  - accept_connection
  - service_connection
  - test_sws
  source_file: /src/curl/tests/server/sws.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SLEEP_TIME_MS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '250'
    - item_type: preproc_def
      name: RCMD_NORMALREQ
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: RCMD_IDLE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: RCMD_STREAM
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: MAX_SOCKETS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: SWSVERSION
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"curl test suite HTTP server/0.1"'
    - item_type: preproc_def
      name: REQUEST_DUMP
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"server.input"'
    - item_type: preproc_def
      name: RESPONSE_DUMP
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"server.response"'
    - item_type: preproc_def
      name: REQUEST_PROXY_DUMP
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"proxy.input"'
    - item_type: preproc_def
      name: RESPONSE_PROXY_DUMP
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"proxy.response"'
    - item_type: preproc_def
      name: MAXDOCNAMELEN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '140000'
    - item_type: preproc_def
      name: MAXDOCNAMELEN_TXT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"139999"'
    - item_type: preproc_def
      name: REQUEST_KEYWORD_SIZE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '256'
    - item_type: preproc_def
      name: REQUEST_KEYWORD_SIZE_TXT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"255"'
    - item_type: preproc_def
      name: CMD_AUTH_REQUIRED
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"auth_required"'
    - item_type: preproc_def
      name: CMD_IDLE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"idle"'
    - item_type: preproc_def
      name: CMD_STREAM
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"stream"'
    - item_type: preproc_def
      name: CMD_CONNECTIONMONITOR
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"connection-monitor"'
    - item_type: preproc_def
      name: CMD_UPGRADE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"upgrade"'
    - item_type: preproc_def
      name: CMD_SWSCLOSE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"swsclose"'
    - item_type: preproc_def
      name: CMD_NOEXPECT
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"no-expect"'
    - item_type: preproc_def
      name: END_OF_HEADERS
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '"\r\n\r\n"'
    - item_type: preproc_def
      name: SWS_CTRL
      pos:
        line_end: 1383
        line_start: 1382
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SWS_DATA
      pos:
        line_end: 1384
        line_start: 1383
        source_file: /src/curl/tests/server/sws.c
      type_or_value: '1'
    structs:
    - fields:
      - name: reqbuf[2*1024*1024]
        type: char
      - name: connect_request
        type: bool
      - name: connect_port
        type: unsigned short
      - name: checkindex
        type: size_t
      - name: offset
        type: size_t
      - name: testno
        type: long
      - name: partno
        type: long
      - name: open
        type: bool
      - name: auth_req
        type: bool
      - name: auth
        type: bool
      - name: cl
        type: size_t
      - name: digest
        type: bool
      - name: ntlm
        type: bool
      - name: delay
        type: int
      - name: writedelay
        type: int
      - name: skip
        type: int
      - name: rcmd
        type: int
      - name: prot_version
        type: int
      - name: callcount
        type: int
      - name: skipall
        type: bool
      - name: noexpect
        type: bool
      - name: connmon
        type: bool
      - name: upgrade
        type: bool
      - name: upgrade_request
        type: bool
      - name: close
        type: bool
      - name: done_processing
        type: int
      item_type: struct
      name: sws_httprequest
      pos:
        line_end: 85
        line_start: 52
        source_file: /src/curl/tests/server/sws.c
    typedefs: []
    union: []
- function_names:
  - read_wincon
  - write_wincon
  - fullread
  - fullwrite
  - read_stdin
  - write_stdout
  - lograw
  - read_data_block
  - select_ws_wait_thread
  - select_ws_wait
  - select_ws
  - SOCKFILT_select
  - SOCKFILT_select
  - disc_handshake
  - juggle
  - test_sockfilt
  source_file: /src/curl/tests/server/sockfilt.c
  types:
    enum:
    - enumerators:
      - name: PASSIVE_LISTEN
      - name: PASSIVE_CONNECT
      - name: ACTIVE_DISCONNECT
      - name: ACTIVE
      item_type: enum
      name: sockmode
      pos:
        line_end: 101
        line_start: 96
        source_file: /src/curl/tests/server/sockfilt.c
    preproc_defs:
    - item_type: preproc_def
      name: BUFFER_SIZE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/tests/server/sockfilt.c
      type_or_value: '17010'
    - item_type: preproc_def
      name: SOCKFILT_read
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/curl/tests/server/sockfilt.c
      type_or_value: read_wincon
    - item_type: preproc_def
      name: SOCKFILT_write
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/curl/tests/server/sockfilt.c
      type_or_value: write_wincon
    - item_type: preproc_def
      name: SOCKFILT_read
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/curl/tests/server/sockfilt.c
      type_or_value: read
    - item_type: preproc_def
      name: SOCKFILT_write
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/curl/tests/server/sockfilt.c
      type_or_value: write
    - item_type: preproc_def
      name: CURL_WIN32_EPIPE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/curl/tests/server/sockfilt.c
      type_or_value: '109'
    structs:
    - fields:
      - name: handle
        type: HANDLE
      - name: signal
        type: HANDLE
      - name: abort
        type: HANDLE
      item_type: struct
      name: select_ws_wait_data
      pos:
        line_end: 423
        line_start: 419
        source_file: /src/curl/tests/server/sockfilt.c
    - fields:
      - name: fd
        type: int
      - name: wsastate
        type: long
      - name: wsasock
        type: curl_socket_t
      - name: wsaevent
        type: WSAEVENT
      - name: signal
        type: HANDLE
      - name: thread
        type: HANDLE
      item_type: struct
      name: select_ws_data
      pos:
        line_end: 598
        line_start: 591
        source_file: /src/curl/tests/server/sockfilt.c
    typedefs: []
    union: []
- function_names:
  - socksd_resetdefaults
  - shortval
  - socksd_getconfig
  - socksconnect
  - socks4
  - sockit
  - tunnel
  - socksd_incoming
  - test_socksd
  source_file: /src/curl/tests/server/socksd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONFIG_VERSION
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CONFIG_NMETHODS_MIN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: CONFIG_NMETHODS_MAX
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CONFIG_RESPONSEVERSION
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: CONFIG_VERSION
    - item_type: preproc_def
      name: CONFIG_RESPONSEMETHOD
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: CONFIG_REQCMD
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: CONFIG_PORT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: backendport
    - item_type: preproc_def
      name: CONFIG_ADDR
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: backendaddr
    - item_type: preproc_def
      name: CONFIG_CONNECTREP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SOCKS5_VERSION
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SOCKS5_NMETHODS
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: SOCKS5_REQCMD
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCKS5_RESERVED
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SOCKS5_ATYP
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SOCKS5_DSTADDR
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SOCKS5_REP
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCKS5_BNDADDR
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SOCKS5_ULEN
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCKS5_UNAME
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SOCKS4_CD
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCKS4_DSTPORT
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/curl/tests/server/socksd.c
      type_or_value: '2'
    structs:
    - fields:
      - name: version
        type: unsigned char
      - name: nmethods_min
        type: unsigned char
      - name: nmethods_max
        type: unsigned char
      - name: responseversion
        type: unsigned char
      - name: responsemethod
        type: unsigned char
      - name: reqcmd
        type: unsigned char
      - name: connectrep
        type: unsigned char
      - name: port
        type: unsigned short
      - name: addr[32]
        type: char
      - name: user[256]
        type: char
      - name: password[256]
        type: char
      item_type: struct
      name: socksd_configurable
      pos:
        line_end: 76
        line_start: 63
        source_file: /src/curl/tests/server/socksd.c
    - fields:
      - name: fromremote
        type: size_t
      - name: fromclient
        type: size_t
      - name: remotefd
        type: curl_socket_t
      - name: clientfd
        type: curl_socket_t
      - name: used
        type: bool
      item_type: struct
      name: perclient
      pos:
        line_end: 555
        line_start: 549
        source_file: /src/curl/tests/server/socksd.c
    typedefs: []
    union: []
- function_names:
  - data_to_hex
  - loghex
  - logmsg
  - byteval
  - win32_perror
  - win32_cleanup
  - win32_init
  - test2fopen
  - t_getpid
  - t_getpid
  - our_getpid
  - write_pidfile
  - write_portfile
  - set_advisor_read_lock
  - clear_advisor_read_lock
  - exit_signal_handler
  - ctrl_event_handler
  - main_window_proc
  - main_window_loop
  - set_signal
  - install_signal_handlers
  - restore_signal_handlers
  - bind_unix_socket
  - sockdaemon
  source_file: /src/curl/tests/server/util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIG_ERR
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/curl/tests/server/util.c
      type_or_value: ((SIGHANDLER_T)(size_t)-1)
    - item_type: preproc_def
      name: OPENMODE
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/curl/tests/server/util.c
      type_or_value: S_IREAD | S_IWRITE
    - item_type: preproc_def
      name: OPENMODE
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/curl/tests/server/util.c
      type_or_value: S_IRUSR | S_IWUSR
    structs: []
    typedefs:
    - item_type: typedef
      name: (*SIGHANDLER_T)(int)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/curl/tests/server/util.c
      type: void
    union: []
- function_names:
  - get16bit
  - qname
  - type2string
  - store_incoming
  - add_answer
  - send_response
  - read_instructions
  - test_dnsd
  source_file: /src/curl/tests/server/dnsd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QTYPE_A
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/tests/server/dnsd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: QTYPE_AAAA
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/tests/server/dnsd.c
      type_or_value: '28'
    - item_type: preproc_def
      name: QTYPE_HTTPS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/tests/server/dnsd.c
      type_or_value: '0x41'
    - item_type: preproc_def
      name: SENDTO3
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/curl/tests/server/dnsd.c
      type_or_value: int
    - item_type: preproc_def
      name: SENDTO3
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/curl/tests/server/dnsd.c
      type_or_value: size_t
    - item_type: preproc_def
      name: INSTRUCTIONS
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/curl/tests/server/dnsd.c
      type_or_value: '"dnsd.cmd"'
    - item_type: preproc_def
      name: MAX_ALPN
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/curl/tests/server/dnsd.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mysignal
  - timer
  - justtimeout
  - rw_init
  - w_init
  - r_init
  - readit
  - read_ahead
  - writeit
  - write_behind
  - synchnet
  - do_tftp
  - tftpd_parse_servercmd
  - validate_access
  - sendtftp
  - recvtftp
  - nak
  source_file: /src/curl/tests/server/tftpd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEGSIZE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '512 '
    - item_type: preproc_def
      name: PACKED_STRUCT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: __attribute__((__packed__))
    - item_type: preproc_def
      name: th_stuff
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: th_block
    - item_type: preproc_def
      name: th_code
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: th_block
    - item_type: preproc_def
      name: th_msg
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: th_data
    - item_type: preproc_def
      name: TFTP_EUNDEF
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TFTP_ENOTFOUND
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TFTP_EACCESS
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TFTP_ENOSPACE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TFTP_EBADOP
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TFTP_EBADID
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TFTP_EEXISTS
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '6'
    - item_type: preproc_def
      name: TFTP_ENOUSER
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PKTSIZE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '(SEGSIZE + 4)  '
    - item_type: preproc_def
      name: BF_ALLOC
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '-3       '
    - item_type: preproc_def
      name: BF_FREE
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '-2       '
    - item_type: preproc_def
      name: opcode_RRQ
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: opcode_WRQ
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '2'
    - item_type: preproc_def
      name: opcode_DATA
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: opcode_ACK
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '4'
    - item_type: preproc_def
      name: opcode_ERROR
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TIMEOUT
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: REQUEST_DUMP
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/curl/tests/server/tftpd.c
      type_or_value: '"server.input"'
    structs:
    - fields:
      - name: th_opcode
        type: unsigned short
      - name: th_block
        type: unsigned short
      - name: th_data[1]
        type: char
      item_type: struct
      name: tftphdr
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/curl/tests/server/tftpd.c
    - fields:
      - name: '*buffer'
        type: char
      - name: bufsize
        type: size_t
      - name: '*rptr'
        type: char
      - name: rcount
        type: size_t
      - name: testno
        type: long
      - name: ofile
        type: int
      - name: writedelay
        type: int
      item_type: struct
      name: testcase
      pos:
        line_end: 123
        line_start: 114
        source_file: /src/curl/tests/server/tftpd.c
    - fields:
      - name: '*f_mode'
        type: char
      - name: f_convert
        type: int
      item_type: struct
      name: formats
      pos:
        line_end: 128
        line_start: 125
        source_file: /src/curl/tests/server/tftpd.c
    - fields:
      - name: e_code
        type: int
      - name: e_msg[STRERROR_LEN]
        type: char
      item_type: struct
      name: errmsg
      pos:
        line_end: 133
        line_start: 130
        source_file: /src/curl/tests/server/tftpd.c
    - fields:
      - name: counter
        type: int
      - name: buf
        type: tftphdr_storage_t
      item_type: struct
      name: bf
      pos:
        line_end: 148
        line_start: 145
        source_file: /src/curl/tests/server/tftpd.c
    typedefs: []
    union:
    - fields:
      - name: hdr
        type: struct tftphdr
      - name: storage[PKTSIZE]
        type: char
      item_type: union
      name: tftphdr_storage_t
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/curl/tests/server/tftpd.c
- function_names:
  - SET_RTP_PKT_CHN
  - SET_RTP_PKT_LEN
  - rtspd_ProcessRequest
  - rtspd_storerequest
  - rtspd_get_request
  - rtspd_send_doc
  - test_rtspd
  source_file: /src/curl/tests/server/rtspd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RCMD_NORMALREQ
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: RCMD_IDLE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: RCMD_STREAM
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: RTSPDVERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '"curl test suite RTSP server/0.1"'
    - item_type: preproc_def
      name: REQUEST_DUMP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '"server.input"'
    - item_type: preproc_def
      name: RESPONSE_DUMP
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '"server.response"'
    - item_type: preproc_def
      name: MAXDOCNAMELEN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '140000'
    - item_type: preproc_def
      name: MAXDOCNAMELEN_TXT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '"139999"'
    - item_type: preproc_def
      name: REQUEST_KEYWORD_SIZE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '256'
    - item_type: preproc_def
      name: REQUEST_KEYWORD_SIZE_TXT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '"255"'
    - item_type: preproc_def
      name: CMD_AUTH_REQUIRED
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '"auth_required"'
    - item_type: preproc_def
      name: CMD_IDLE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '"idle"'
    - item_type: preproc_def
      name: CMD_STREAM
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '"stream"'
    - item_type: preproc_def
      name: END_OF_HEADERS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '"\r\n\r\n"'
    - item_type: preproc_def
      name: RTP_DATA_SIZE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/curl/tests/server/rtspd.c
      type_or_value: '12'
    structs:
    - fields:
      - name: reqbuf[150000]
        type: char
      - name: checkindex
        type: size_t
      - name: offset
        type: size_t
      - name: testno
        type: long
      - name: partno
        type: long
      - name: open
        type: bool
      - name: auth_req
        type: bool
      - name: auth
        type: bool
      - name: cl
        type: size_t
      - name: digest
        type: bool
      - name: ntlm
        type: bool
      - name: pipe
        type: int
      - name: skip
        type: int
      - name: rcmd
        type: int
      - name: protocol
        type: reqprot_t
      - name: prot_version
        type: int
      - name: pipelining
        type: bool
      - name: '*rtp_buffer'
        type: char
      - name: rtp_buffersize
        type: size_t
      item_type: struct
      name: rtspd_httprequest
      pos:
        line_end: 82
        line_start: 57
        source_file: /src/curl/tests/server/rtspd.c
    typedefs: []
    union: []
- function_names:
  - mqttd_resetdefaults
  - mqttd_getconfig
  - logprotocol
  - connack
  - suback
  - puback
  - disconnect
  - encode_length
  - decode_length
  - publish
  - fixedheader
  - mqttit
  - mqttd_incoming
  - test_mqttd
  source_file: /src/curl/tests/server/mqttd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MQTT_MSG_CONNECT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: MQTT_MSG_CONNACK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: MQTT_MSG_PUBLISH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '0x30'
    - item_type: preproc_def
      name: MQTT_MSG_SUBSCRIBE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '0x82'
    - item_type: preproc_def
      name: MQTT_MSG_SUBACK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '0x90'
    - item_type: preproc_def
      name: MQTT_MSG_DISCONNECT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '0xe0'
    - item_type: preproc_def
      name: REQUEST_DUMP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '"server.input"'
    - item_type: preproc_def
      name: CONFIG_VERSION
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_TOPIC_LENGTH
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '65535'
    - item_type: preproc_def
      name: MAX_CLIENT_ID_LENGTH
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/curl/tests/server/mqttd.c
      type_or_value: '32'
    structs:
    - fields:
      - name: version
        type: unsigned char
      - name: publish_before_suback
        type: bool
      - name: short_publish
        type: bool
      - name: excessive_remaining
        type: bool
      - name: error_connack
        type: unsigned char
      - name: testnum
        type: int
      item_type: struct
      name: mqttd_configurable
      pos:
        line_end: 55
        line_start: 47
        source_file: /src/curl/tests/server/mqttd.c
    typedefs: []
    union: []
- function_names:
  - test_resolve
  source_file: /src/curl/tests/server/resolve.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit3200
  source_file: /src/curl/tests/unit/unit3200.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: C64
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/tests/unit/unit3200.c
      type_or_value: '"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"'
    - item_type: preproc_def
      name: C256
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/tests/unit/unit3200.c
      type_or_value: C64 C64 C64 C64
    - item_type: preproc_def
      name: C1024
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/tests/unit/unit3200.c
      type_or_value: C256 C256 C256 C256
    - item_type: preproc_def
      name: C4096
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/tests/unit/unit3200.c
      type_or_value: C1024 C1024 C1024 C1024
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1600_setup
  - t1600_stop
  - test_unit1600
  source_file: /src/curl/tests/unit/unit1600.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1303_setup
  - t1303_stop
  - NOW
  - TIMEOUTS
  - test_unit1303
  source_file: /src/curl/tests/unit/unit1303.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BASE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/tests/unit/unit1303.c
      type_or_value: '1000000'
    structs:
    - fields:
      - name: now_s
        type: int
      - name: now_us
        type: int
      - name: timeout_ms
        type: unsigned int
      - name: connecttimeout_ms
        type: unsigned int
      - name: connecting
        type: bool
      - name: result
        type: timediff_t
      - name: '*comment'
        type: char
      item_type: struct
      name: timetest
      pos:
        line_end: 84
        line_start: 76
        source_file: /src/curl/tests/unit/unit1303.c
    typedefs: []
    union: []
- function_names:
  - t1664_setup
  - test_unit1664
  source_file: /src/curl/tests/unit/unit1664.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: max
        type: curl_off_t
      item_type: struct
      name: t
      pos:
        line_end: 204
        line_start: 201
        source_file: /src/curl/tests/unit/unit1664.c
    - fields:
      - name: '*str'
        type: char
      - name: max
        type: curl_off_t
      item_type: struct
      name: t
      pos:
        line_end: 237
        line_start: 234
        source_file: /src/curl/tests/unit/unit1664.c
    - fields:
      - name: '*str'
        type: char
      - name: max
        type: curl_off_t
      item_type: struct
      name: t
      pos:
        line_end: 277
        line_start: 274
        source_file: /src/curl/tests/unit/unit1664.c
    typedefs: []
    union: []
- function_names:
  - ret2name
  - test_unit1307
  - testcase
  - test_unit1307
  source_file: /src/curl/tests/unit/unit1307.c
  types:
    enum:
    - enumerators:
      - name: SYSTEM_CUSTOM
      - name: SYSTEM_MACOS
      - name: SYSTEM_LINUX
      item_type: enum
      name: system
      pos:
        line_end: 272
        line_start: 268
        source_file: /src/curl/tests/unit/unit1307.c
    preproc_defs:
    - item_type: preproc_def
      name: MATCH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: CURL_FNMATCH_MATCH
    - item_type: preproc_def
      name: NOMATCH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: CURL_FNMATCH_NOMATCH
    - item_type: preproc_def
      name: LINUX_DIFFER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: LINUX_SHIFT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LINUX_MATCH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_MATCH << LINUX_SHIFT) | LINUX_DIFFER)
    - item_type: preproc_def
      name: LINUX_NOMATCH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_NOMATCH << LINUX_SHIFT) | LINUX_DIFFER)
    - item_type: preproc_def
      name: LINUX_FAIL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_FAIL << LINUX_SHIFT) | LINUX_DIFFER)
    - item_type: preproc_def
      name: MAC_DIFFER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: MAC_SHIFT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAC_MATCH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_MATCH << MAC_SHIFT) | MAC_DIFFER)
    - item_type: preproc_def
      name: MAC_NOMATCH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_NOMATCH << MAC_SHIFT) | MAC_DIFFER)
    - item_type: preproc_def
      name: MAC_FAIL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/tests/unit/unit1307.c
      type_or_value: ((CURL_FNMATCH_FAIL << MAC_SHIFT) | MAC_DIFFER)
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1397
  source_file: /src/curl/tests/unit/unit1397.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*host'
        type: char
      - name: '*pattern'
        type: char
      - name: match
        type: bool
      item_type: struct
      name: testcase
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/curl/tests/unit/unit1397.c
    typedefs: []
    union: []
- function_names:
  - splayprint
  - test_unit1309
  source_file: /src/curl/tests/unit/unit1309.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_NODES
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/tests/unit/unit1309.c
      type_or_value: '50'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1302
  source_file: /src/curl/tests/unit/unit1302.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: ilen
        type: size_t
      - name: '*output'
        type: char
      - name: olen
        type: size_t
      item_type: struct
      name: etest
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/curl/tests/unit/unit1302.c
    typedefs: []
    union: []
- function_names:
  - test_unit1330
  source_file: /src/curl/tests/unit/unit1330.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1607_setup
  - test_unit1607
  - IPV6ONLY
  - IPV6ONLY
  source_file: /src/curl/tests/unit/unit1607.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*optval'
        type: char
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: permanent
        type: bool
      - name: '*address[10]'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 64
        line_start: 51
        source_file: /src/curl/tests/unit/unit1607.c
    typedefs: []
    union: []
- function_names:
  - test_unit1651
  source_file: /src/curl/tests/unit/unit1651.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1608_setup
  - test_unit1608
  - test_unit1608
  source_file: /src/curl/tests/unit/unit1608.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_eq
  - parse_success
  - test_unit2603
  source_file: /src/curl/tests/unit/unit2603.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**input'
        type: char
      - name: '*default_scheme'
        type: char
      - name: '*method'
        type: char
      - name: '*scheme'
        type: char
      - name: '*authority'
        type: char
      - name: '*path'
        type: char
      - name: header_count
        type: size_t
      - name: input_remain
        type: size_t
      item_type: struct
      name: tcase
      pos:
        line_end: 59
        line_start: 50
        source_file: /src/curl/tests/unit/unit2603.c
    typedefs: []
    union: []
- function_names:
  - test_unit1655
  source_file: /src/curl/tests/unit/unit1655.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: expected_result
        type: DOHcode
      item_type: struct
      name: test
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/curl/tests/unit/unit1655.c
    - fields:
      - name: dohbuffer[255 + 16]
        type: unsigned char
      - name: canary1
        type: unsigned char
      - name: canary2
        type: unsigned char
      - name: canary3
        type: unsigned char
      item_type: struct
      name: demo
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/curl/tests/unit/unit1655.c
    typedefs: []
    union: []
- function_names:
  - test_unit2604
  source_file: /src/curl/tests/unit/unit2604.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SA60
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/tests/unit/unit2604.c
      type_or_value: '"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"'
    - item_type: preproc_def
      name: SA540
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/tests/unit/unit2604.c
      type_or_value: SA60 SA60 SA60 SA60 SA60 SA60 SA60 SA60 SA60
    structs:
    - fields:
      - name: '*cp'
        type: char
      - name: '*expect'
        type: char
      - name: '*next'
        type: char
      - name: '*home'
        type: char
      - name: result
        type: CURLcode
      item_type: struct
      name: set
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/curl/tests/unit/unit2604.c
    typedefs: []
    union: []
- function_names:
  - t1605_setup
  - t1605_stop
  - test_unit1605
  source_file: /src/curl/tests/unit/unit1605.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - checksize
  - test_unit3214
  source_file: /src/curl/tests/unit/unit3214.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CURL_EASY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '5800'
    - item_type: preproc_def
      name: MAX_CONNECTDATA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '1300'
    - item_type: preproc_def
      name: MAX_CURL_MULTI
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '850'
    - item_type: preproc_def
      name: MAX_CURL_HTTPPOST
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '112'
    - item_type: preproc_def
      name: MAX_CURL_SLIST
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_CURL_KHKEY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '24'
    - item_type: preproc_def
      name: MAX_CURL_HSTSENTRY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '40'
    - item_type: preproc_def
      name: MAX_CURL_INDEX
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_CURL_MIME
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '96'
    - item_type: preproc_def
      name: MAX_CURL_MIMEPART
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '440'
    - item_type: preproc_def
      name: MAX_CURL_CERTINFO
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_CURL_TLSSESSIONINFO
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_CURL_BLOB
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '24'
    - item_type: preproc_def
      name: MAX_CURLMSG
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '24'
    - item_type: preproc_def
      name: MAX_CURL_HEADER
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/tests/unit/unit3214.c
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1980
  source_file: /src/curl/tests/unit/unit1980.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*testname'
        type: char
      - name: '*query_part'
        type: char
      - name: '*canonical_query'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/curl/tests/unit/unit1980.c
    typedefs: []
    union: []
- function_names:
  - test_free
  - t1661_setup
  - t1661_stop
  - test_unit1661
  source_file: /src/curl/tests/unit/unit1661.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_Curl_llist_dtor
  - test_unit1300
  source_file: /src/curl/tests/unit/unit1300.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1611
  source_file: /src/curl/tests/unit/unit1611.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1660
  - showsts
  - test_unit1660
  - struct
  source_file: /src/curl/tests/unit/unit1660.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1601
  source_file: /src/curl/tests/unit/unit1601.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1603_mydtor
  - my_elem_dtor
  - t1603_setup
  - t1603_stop
  - test_unit1603
  source_file: /src/curl/tests/unit/unit1603.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1396_setup
  - t1396_stop
  - test_unit1396
  source_file: /src/curl/tests/unit/unit1396.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*in'
        type: char
      - name: inlen
        type: int
      - name: '*out'
        type: char
      - name: outlen
        type: int
      item_type: struct
      name: test
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/curl/tests/unit/unit1396.c
    typedefs: []
    union: []
- function_names:
  - t3212_setup
  - t3212_stop
  - test_unit3212
  source_file: /src/curl/tests/unit/unit3212.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TBL_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/tests/unit/unit3212.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1609_setup
  - test_unit1609
  source_file: /src/curl/tests/unit/unit1609.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*optval'
        type: char
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: '*address[10]'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 84
        line_start: 74
        source_file: /src/curl/tests/unit/unit1609.c
    typedefs: []
    union: []
- function_names:
  - test_unit1654
  source_file: /src/curl/tests/unit/unit1654.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1979
  source_file: /src/curl/tests/unit/unit1979.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*testname'
        type: char
      - name: normalize
        type: bool
      - name: '*url_part'
        type: char
      - name: '*canonical_url'
        type: char
      item_type: struct
      name: testcase
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/curl/tests/unit/unit1979.c
    typedefs: []
    union: []
- function_names:
  - test_unit1398
  source_file: /src/curl/tests/unit/unit1398.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1615
  source_file: /src/curl/tests/unit/unit1615.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1650
  source_file: /src/curl/tests/unit/unit1650.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_PREAMBLE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: '"\x00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00"'
    - item_type: preproc_def
      name: LABEL_TEST
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: '"\x04\x74\x65\x73\x74"'
    - item_type: preproc_def
      name: LABEL_HOST
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: '"\x04\x68\x6f\x73\x74"'
    - item_type: preproc_def
      name: LABEL_NAME
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: '"\x04\x6e\x61\x6d\x65"'
    - item_type: preproc_def
      name: DNSA_TYPE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: '"\x01"'
    - item_type: preproc_def
      name: DNSAAAA_TYPE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: '"\x1c"'
    - item_type: preproc_def
      name: DNSA_EPILOGUE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: '"\x00\x00" DNSA_TYPE "\x00\x01"'
    - item_type: preproc_def
      name: DNSAAAA_EPILOGUE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: '"\x00\x00" DNSAAAA_TYPE "\x00\x01"'
    - item_type: preproc_def
      name: DNS_Q1
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: DNS_PREAMBLE LABEL_TEST LABEL_HOST LABEL_NAME DNSA_EPILOGUE
    - item_type: preproc_def
      name: DNS_Q2
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: DNS_PREAMBLE LABEL_TEST LABEL_HOST LABEL_NAME DNSAAAA_EPILOGUE
    - item_type: preproc_def
      name: DNS_FOO_EXAMPLE_COM
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/curl/tests/unit/unit1650.c
      type_or_value: "\"\\x00\\x00\\x01\\x00\\x00\\x01\\x00\\x01\\x00\\x00\\x00\\x00\\x03\\x66\\x6f\\x6f\"
        \\\n  \"\\x07\\x65\\x78\\x61\\x6d\\x70\\x6c\\x65\\x03\\x63\\x6f\\x6d\\x00\\x00\\x01\\x00\"
        \\\n  \"\\x01\\xc0\\x0c\\x00\\x01\\x00\\x01\\x00\\x00\\x00\\x37\\x00\\x04\\x7f\\x00\\x00\"
        \\\n  \"\\x01\""
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: type
        type: DNStype
      - name: '*packet'
        type: char
      - name: size
        type: size_t
      - name: rc
        type: DOHcode
      item_type: struct
      name: dohrequest
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/curl/tests/unit/unit1650.c
    - fields:
      - name: '*packet'
        type: char
      - name: size
        type: size_t
      - name: type
        type: DNStype
      - name: rc
        type: DOHcode
      - name: '*out'
        type: char
      item_type: struct
      name: dohresp
      pos:
        line_end: 73
        line_start: 64
        source_file: /src/curl/tests/unit/unit1650.c
    typedefs: []
    union: []
- function_names:
  - make1657_nested
  - do_test1657
  - test_unit1657
  - test_unit1657
  source_file: /src/curl/tests/unit/unit1657.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*setbuf)(const struct test1657_spec *spec, struct dynbuf *buf)
        type: CURLcode
      - name: n
        type: size_t
      - name: exp_result
        type: CURLcode
      item_type: struct
      name: test1657_spec
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/curl/tests/unit/unit1657.c
    typedefs: []
    union: []
- function_names:
  - t1616_mydtor
  - t1616_setup
  - t1616_stop
  - test_unit1616
  source_file: /src/curl/tests/unit/unit1616.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1610_setup
  - test_unit1610
  source_file: /src/curl/tests/unit/unit1610.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1304_stop
  - test_unit1304
  - test_unit1304
  source_file: /src/curl/tests/unit/unit1304.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - free_and_clear
  - parse_port
  - test_unit1653
  source_file: /src/curl/tests/unit/unit1653.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit2602
  source_file: /src/curl/tests/unit/unit2602.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test
  - test_unit1656
  - test_unit1656
  source_file: /src/curl/tests/unit/unit1656.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*exp_output'
        type: char
      - name: exp_result
        type: CURLcode
      item_type: struct
      name: test_spec
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/curl/tests/unit/unit1656.c
    typedefs: []
    union: []
- function_names:
  - fake_t_startsingle_time
  - usec_matches_seconds
  - expect_timer_seconds
  - test_unit1399
  source_file: /src/curl/tests/unit/unit1399.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tail_err
  - dump_bufq
  - check_bufq
  - test_unit2601
  source_file: /src/curl/tests/unit/unit2601.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1602_mydtor
  - t1602_setup
  - t1602_stop
  - test_unit1602
  source_file: /src/curl/tests/unit/unit1602.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit3205
  source_file: /src/curl/tests/unit/unit3205.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: uint16_t
      - name: '*rfc'
        type: char
      - name: '*openssl'
        type: char
      item_type: struct
      name: test_cs_entry
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/curl/tests/unit/unit3205.c
    - fields:
      - name: id
        type: uint16_t
      - name: '*str'
        type: char
      item_type: struct
      name: test_str_entry
      pos:
        line_end: 442
        line_start: 439
        source_file: /src/curl/tests/unit/unit3205.c
    typedefs: []
    union: []
- function_names:
  - debugf_cb
  - t1652_setup
  - t1652_stop
  - verify
  - test_unit1652
  source_file: /src/curl/tests/unit/unit1652.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1614
  source_file: /src/curl/tests/unit/unit1614.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*a'
        type: char
      - name: '*n'
        type: char
      - name: bits
        type: unsigned int
      - name: match
        type: bool
      item_type: struct
      name: check
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/curl/tests/unit/unit1614.c
    - fields:
      - name: '*a'
        type: char
      - name: '*n'
        type: char
      - name: match
        type: bool
      item_type: struct
      name: noproxy
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/curl/tests/unit/unit1614.c
    typedefs: []
    union: []
- function_names:
  - test_unit1395
  source_file: /src/curl/tests/unit/unit1395.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*output'
        type: char
      item_type: struct
      name: dotdot
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/curl/tests/unit/unit1395.c
    typedefs: []
    union: []
- function_names:
  - t1305_setup
  - t1305_stop
  - fake_ai
  - create_node
  - test_unit1305
  source_file: /src/curl/tests/unit/unit1305.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1620_setup
  - t1620_parse
  - test_unit1620
  source_file: /src/curl/tests/unit/unit1620.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_spbset
  - test_unit3213
  source_file: /src/curl/tests/unit/unit3213.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1658_setup
  - rrresults
  - test_unit1658
  - test_unit1658
  source_file: /src/curl/tests/unit/unit1658.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*dns'
        type: unsigned char
      - name: len
        type: size_t
      - name: '*expect'
        type: char
      item_type: struct
      name: test
      pos:
        line_end: 128
        line_start: 123
        source_file: /src/curl/tests/unit/unit1658.c
    typedefs: []
    union: []
- function_names:
  - test_unit1323
  - struct
  source_file: /src/curl/tests/unit/unit1323.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t2600_setup
  - t2600_stop
  - cf_test_destroy
  - cf_test_connect
  - cf_test_adjust_pollset
  - cf_test_create
  - check_result
  - test_connect
  - test_unit2600
  source_file: /src/curl/tests/unit/unit2600.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TURL
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/curl/tests/unit/unit2600.c
      type_or_value: '"http://test.com:123"'
    - item_type: preproc_def
      name: R_FAIL
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/curl/tests/unit/unit2600.c
      type_or_value: CURLE_COULDNT_CONNECT
    - item_type: preproc_def
      name: TC_TMOT
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/curl/tests/unit/unit2600.c
      type_or_value: '90000  '
    - item_type: preproc_def
      name: CNCT_TMOT
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/curl/tests/unit/unit2600.c
      type_or_value: '60000  '
    structs:
    - fields:
      - name: id
        type: int
      - name: '*url'
        type: char
      - name: '*resolve_info'
        type: char
      - name: ip_version
        type: long
      - name: connect_timeout_ms
        type: timediff_t
      - name: he_timeout_ms
        type: timediff_t
      - name: cf4_fail_delay_ms
        type: timediff_t
      - name: cf6_fail_delay_ms
        type: timediff_t
      - name: exp_cf4_creations
        type: int
      - name: exp_cf6_creations
        type: int
      - name: min_duration_ms
        type: timediff_t
      - name: max_duration_ms
        type: timediff_t
      - name: exp_result
        type: CURLcode
      - name: '*pref_family'
        type: char
      item_type: struct
      name: test_case
      pos:
        line_end: 88
        line_start: 72
        source_file: /src/curl/tests/unit/unit2600.c
    - fields:
      - name: '*family'
        type: char
      - name: creations
        type: int
      - name: first_created
        type: timediff_t
      - name: last_created
        type: timediff_t
      item_type: struct
      name: ai_family_stats
      pos:
        line_end: 95
        line_start: 90
        source_file: /src/curl/tests/unit/unit2600.c
    - fields:
      - name: result
        type: CURLcode
      - name: started
        type: struct curltime
      - name: ended
        type: struct curltime
      - name: cf4
        type: struct ai_family_stats
      - name: cf6
        type: struct ai_family_stats
      item_type: struct
      name: test_result
      pos:
        line_end: 103
        line_start: 97
        source_file: /src/curl/tests/unit/unit2600.c
    - fields:
      - name: idx
        type: int
      - name: ai_family
        type: int
      - name: transport
        type: int
      - name: id[16]
        type: char
      - name: started
        type: struct curltime
      - name: fail_delay_ms
        type: timediff_t
      - name: '*stats'
        type: struct ai_family_stats
      item_type: struct
      name: cf_test_ctx
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/curl/tests/unit/unit2600.c
    typedefs: []
    union: []
- function_names:
  - check_set
  - test_unit3211
  source_file: /src/curl/tests/unit/unit3211.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_unit1612
  source_file: /src/curl/tests/unit/unit1612.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1606_setup
  - t1606_stop
  - runawhile
  - test_unit1606
  source_file: /src/curl/tests/unit/unit1606.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - t1663_setup
  - t1663_parse
  - test_unit1663
  source_file: /src/curl/tests/unit/unit1663.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/packages/OS400/ccsidcurl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/packages/OS400/curlmain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_ifs
  - parse_command_line
  - main
  source_file: /src/curl/packages/OS400/curlcl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLPGM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/packages/OS400/curlcl.c
      type_or_value: '"CURL"'
    structs:
    - fields:
      - name: len
        type: short
      - name: string[5000]
        type: char
      item_type: struct
      name: vary2
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/curl/packages/OS400/curlcl.c
    - fields:
      - name: '*pgm'
        type: char
      - name: '*cmdargs'
        type: struct vary2
      item_type: struct
      name: arguments
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/curl/packages/OS400/curlcl.c
    typedefs: []
    union: []
- function_names:
  - ICONV_OPEN_ERROR
  - makeOS400IconvCode
  - iconv_open_CCSID
  - convert
  - dynconvert
  - slist_convert
  - keyed_string
  - curl_to_ccsid
  - curl_from_ccsid
  - curl_version_ccsid
  - curl_easy_escape_ccsid
  - curl_easy_unescape_ccsid
  - curl_slist_append_ccsid
  - curl_getdate_ccsid
  - convert_version_info_string
  - curl_version_info_ccsid
  - curl_easy_strerror_ccsid
  - curl_share_strerror_ccsid
  - curl_multi_strerror_ccsid
  - curl_url_strerror_ccsid
  - curl_certinfo_free_all
  - curl_easy_getinfo_ccsid
  - Curl_is_formadd_string
  - Curl_formadd_release_local
  - Curl_formadd_convert
  - curl_formadd_ccsid
  - Curl_formget_callback_ccsid
  - curl_formget_ccsid
  - curl_easy_setopt_ccsid
  - curl_form_long_value
  - curl_easy_setopt_RPGnum_
  - curl_multi_setopt_RPGnum_
  - curl_pushheader_bynum_cssid
  - curl_pushheader_byname_ccsid
  - mime_string_call
  - curl_mime_name_ccsid
  - curl_mime_filename_ccsid
  - curl_mime_type_ccsid
  - curl_mime_encoder_ccsid
  - curl_mime_filedata_ccsid
  - curl_mime_data_ccsid
  - curl_url_get_ccsid
  - curl_url_set_ccsid
  - curl_easy_option_by_name_ccsid
  - curl_easy_option_get_name_ccsid
  - curl_easy_header_ccsid
  source_file: /src/curl/packages/OS400/ccsidcurl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/packages/OS400/ccsidcurl.c
      type_or_value: '((size_t) ~0)   '
    - item_type: preproc_def
      name: ASCII_CCSID
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/packages/OS400/ccsidcurl.c
      type_or_value: '819     '
    - item_type: preproc_def
      name: NOCONV_CCSID
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/packages/OS400/ccsidcurl.c
      type_or_value: '65535   '
    - item_type: preproc_def
      name: ICONV_ID_SIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/packages/OS400/ccsidcurl.c
      type_or_value: '32      '
    - item_type: preproc_def
      name: ALLOC_GRANULE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/packages/OS400/ccsidcurl.c
      type_or_value: '8       '
    structs:
    - fields:
      - name: append
        type: curl_formget_callback
      - name: '*                arg'
        type: void
      - name: ccsid
        type: unsigned int
      item_type: struct
      name: cfcdata
      pos:
        line_end: 1020
        line_start: 1016
        source_file: /src/curl/packages/OS400/ccsidcurl.c
    typedefs: []
    union: []
- function_names:
  - thdbufdestroy
  - terminate
  - get_buffer
  - buffer_unthreaded
  - buffer_threaded
  - buffer_undef
  - set_thread_string
  - Curl_getnameinfo_a
  - Curl_getaddrinfo_a
  - Curl_gss_convert_in_place
  - Curl_gss_import_name_a
  - Curl_gss_display_status_a
  - Curl_gss_init_sec_context_a
  - Curl_gss_delete_sec_context_a
  - Curl_ldap_init_a
  - Curl_ldap_simple_bind_s_a
  - Curl_ldap_search_s_a
  - Curl_ldap_get_values_len_a
  - Curl_ldap_err2string_a
  - Curl_ldap_get_dn_a
  - Curl_ldap_first_attribute_a
  - Curl_ldap_next_attribute_a
  - sockaddr2ebcdic
  - sockaddr2ascii
  - Curl_os400_connect
  - Curl_os400_bind
  - Curl_os400_sendto
  - Curl_os400_recvfrom
  - Curl_os400_getpeername
  - Curl_os400_getsockname
  - Curl_os400_zlibVersion
  - Curl_os400_inflateInit_
  - Curl_os400_inflateInit2_
  - Curl_os400_inflate
  - Curl_os400_inflateEnd
  source_file: /src/curl/packages/OS400/os400sys.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIN_BYTE_GAIN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/packages/OS400/os400sys.c
      type_or_value: '1024    '
    structs:
    - fields:
      - name: size
        type: unsigned long
      - name: '*buf'
        type: char
      item_type: struct
      name: buffer_t
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/curl/packages/OS400/os400sys.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/packages/OS400/os400sys.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CONV_EXPANSION
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/packages/OS400/os400sys.h
      type_or_value: '4       '
    structs: []
    typedefs: []
    union: []
- function_names:
  - sys_trnlnm
  - $DESCRIPTOR
  - sys_crelnm
  - set_feature_default
  - set_feature_default
  - set_features
  source_file: /src/curl/packages/vms/curl_crtl_init.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENABLE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/packages/vms/curl_crtl_init.c
      type_or_value: '"ENABLE"'
    - item_type: preproc_def
      name: DISABLE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/packages/vms/curl_crtl_init.c
      type_or_value: '"DISABLE"'
    - item_type: preproc_def
      name: ENABLE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/packages/vms/curl_crtl_init.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: DISABLE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/packages/vms/curl_crtl_init.c
      type_or_value: '0'
    structs:
    - fields:
      - name: buflen
        type: unsigned short int
      - name: itmcode
        type: unsigned short int
      - name: '*bufadr'
        type: void
      - name: '*retlen'
        type: unsigned short int
      item_type: struct
      name: itmlst_3
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/curl/packages/vms/curl_crtl_init.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/packages/vms/curlmsg_vms.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/packages/vms/vms_eco_level.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMS_ECO_LEVEL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/packages/vms/vms_eco_level.h
      type_or_value: '"0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/packages/vms/report_openssl_version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/packages/vms/curlmsg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_FACILITY
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '3841'
    - item_type: preproc_def
      name: CURL_OK
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756553'
    - item_type: preproc_def
      name: CURL_UNSUPPORTED_PROTOCOL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756562'
    - item_type: preproc_def
      name: CURL_FAILED_INIT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756570'
    - item_type: preproc_def
      name: CURL_URL_MALFORMAT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756578'
    - item_type: preproc_def
      name: CURL_OBSOLETE4
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756586'
    - item_type: preproc_def
      name: CURL_COULDNT_RESOLVE_PROXY
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756594'
    - item_type: preproc_def
      name: CURL_COULDNT_RESOLVE_HOST
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756602'
    - item_type: preproc_def
      name: CURL_COULDNT_CONNECT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756610'
    - item_type: preproc_def
      name: CURL_WEIRD_SERVER_REPLY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756618'
    - item_type: preproc_def
      name: CURL_FTP_WEIRD_SERVER_REPLY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: CURL_WEIRD_SERVER_REPLY
    - item_type: preproc_def
      name: CURL_FTP_ACCESS_DENIED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756626'
    - item_type: preproc_def
      name: CURL_OBSOLETE10
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756634'
    - item_type: preproc_def
      name: CURL_FTP_WEIRD_PASS_REPLY
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756642'
    - item_type: preproc_def
      name: CURL_OBSOLETE12
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756650'
    - item_type: preproc_def
      name: CURL_FTP_WEIRD_PASV_REPLY
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756658'
    - item_type: preproc_def
      name: CURL_FTP_WEIRD_227_FORMAT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756666'
    - item_type: preproc_def
      name: CURL_FTP_CANT_GET_HOST
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756674'
    - item_type: preproc_def
      name: CURL_OBSOLETE16
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756682'
    - item_type: preproc_def
      name: CURL_FTP_COULDNT_SET_TYPE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756690'
    - item_type: preproc_def
      name: CURL_PARTIAL_FILE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756698'
    - item_type: preproc_def
      name: CURL_FTP_COULDNT_RETR_FILE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756706'
    - item_type: preproc_def
      name: CURL_OBSOLETE20
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756714'
    - item_type: preproc_def
      name: CURL_QUOTE_ERROR
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756722'
    - item_type: preproc_def
      name: CURL_HTTP_RETURNED_ERROR
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756730'
    - item_type: preproc_def
      name: CURL_WRITE_ERROR
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756738'
    - item_type: preproc_def
      name: CURL_OBSOLETE24
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756746'
    - item_type: preproc_def
      name: CURL_UPLOAD_FAILED
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756754'
    - item_type: preproc_def
      name: CURL_READ_ERROR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756762'
    - item_type: preproc_def
      name: CURL_OUT_OF_MEMORY
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756770'
    - item_type: preproc_def
      name: CURL_OPERATION_TIMEOUTED
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756778'
    - item_type: preproc_def
      name: CURL_OBSOLETE29
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756786'
    - item_type: preproc_def
      name: CURL_FTP_PORT_FAILED
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756794'
    - item_type: preproc_def
      name: CURL_FTP_COULDNT_USE_REST
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756802'
    - item_type: preproc_def
      name: CURL_OBSOLETE32
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756810'
    - item_type: preproc_def
      name: CURL_RANGE_ERROR
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756818'
    - item_type: preproc_def
      name: CURL_HTTP_POST_ERROR
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756826'
    - item_type: preproc_def
      name: CURL_SSL_CONNECT_ERROR
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756834'
    - item_type: preproc_def
      name: CURL_BAD_DOWNLOAD_RESUME
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756842'
    - item_type: preproc_def
      name: CURL_FILE_COULDNT_READ_FILE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756850'
    - item_type: preproc_def
      name: CURL_LDAP_CANNOT_BIND
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756858'
    - item_type: preproc_def
      name: CURL_LDAP_SEARCH_FAILED
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756866'
    - item_type: preproc_def
      name: CURL_OBSOLETE40
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756874'
    - item_type: preproc_def
      name: CURL_FUNCTION_NOT_FOUND
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756882'
    - item_type: preproc_def
      name: CURL_ABORTED_BY_CALLBACK
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756890'
    - item_type: preproc_def
      name: CURL_BAD_FUNCTION_ARGUMENT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756898'
    - item_type: preproc_def
      name: CURL_OBSOLETE44
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756906'
    - item_type: preproc_def
      name: CURL_INTERFACE_FAILED
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756914'
    - item_type: preproc_def
      name: CURL_OBSOLETE46
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756922'
    - item_type: preproc_def
      name: CURL_TOO_MANY_REDIRECTS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756930'
    - item_type: preproc_def
      name: CURL_UNKNOWN_TELNET_OPTION
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756938'
    - item_type: preproc_def
      name: CURL_TELNET_OPTION_SYNTAX
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756946'
    - item_type: preproc_def
      name: CURL_OBSOLETE50
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756954'
    - item_type: preproc_def
      name: CURL_PEER_FAILED_VERIF
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756962'
    - item_type: preproc_def
      name: CURL_GOT_NOTHING
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756970'
    - item_type: preproc_def
      name: CURL_SSL_ENGINE_NOTFOUND
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756978'
    - item_type: preproc_def
      name: CURL_SSL_ENGINE_SETFAILED
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756986'
    - item_type: preproc_def
      name: CURL_SEND_ERROR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251756994'
    - item_type: preproc_def
      name: CURL_RECV_ERROR
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757002'
    - item_type: preproc_def
      name: CURL_OBSOLETE57
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757010'
    - item_type: preproc_def
      name: CURL_SSL_CERTPROBLEM
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757018'
    - item_type: preproc_def
      name: CURL_SSL_CIPHER
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757026'
    - item_type: preproc_def
      name: CURL_SSL_CACERT
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757034'
    - item_type: preproc_def
      name: CURL_BAD_CONTENT_ENCODING
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757042'
    - item_type: preproc_def
      name: CURL_LDAP_INVALID_URL
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757050'
    - item_type: preproc_def
      name: CURL_FILESIZE_EXCEEDED
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757058'
    - item_type: preproc_def
      name: CURL_USE_SSL_FAILED
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757066'
    - item_type: preproc_def
      name: CURL_SEND_FAIL_REWIND
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757074'
    - item_type: preproc_def
      name: CURL_SSL_ENGINE_INITFAILED
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757082'
    - item_type: preproc_def
      name: CURL_LOGIN_DENIED
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757090'
    - item_type: preproc_def
      name: CURL_TFTP_NOTFOUND
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757098'
    - item_type: preproc_def
      name: CURL_TFTP_PERM
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757106'
    - item_type: preproc_def
      name: CURL_REMOTE_DISK_FULL
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757114'
    - item_type: preproc_def
      name: CURL_TFTP_ILLEGAL
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757122'
    - item_type: preproc_def
      name: CURL_TFTP_UNKNOWNID
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757130'
    - item_type: preproc_def
      name: CURL_REMOTE_FILE_EXISTS
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757138'
    - item_type: preproc_def
      name: CURL_TFTP_NOSUCHUSER
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757146'
    - item_type: preproc_def
      name: CURL_CONV_FAILED
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757154'
    - item_type: preproc_def
      name: CURL_CONV_REQD
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757162'
    - item_type: preproc_def
      name: CURL_SSL_CACERT_BADFILE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757170'
    - item_type: preproc_def
      name: CURL_REMOTE_FILE_NOT_FOUND
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757178'
    - item_type: preproc_def
      name: CURL_SSH
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757186'
    - item_type: preproc_def
      name: CURL_SSL_SHUTDOWN_FAILED
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757194'
    - item_type: preproc_def
      name: CURL_AGAIN
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757202'
    - item_type: preproc_def
      name: CURL_SSL_CRL_BADFILE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757210'
    - item_type: preproc_def
      name: CURL_SSL_ISSUER_ERROR
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757218'
    - item_type: preproc_def
      name: CURL_CURL_LAST
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/curl/packages/vms/curlmsg.h
      type_or_value: '251757226'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_dirhie.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getfiletime
  - setfiletime
  source_file: /src/curl/src/tool_filetime.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - writeTime
  - urlpart
  - certinfo
  - writeString
  - writeLong
  - writeOffset
  - matchvar
  - outtime
  - separator
  - output_header
  - ourWriteOut
  source_file: /src/curl/src/tool_writeout.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_WRITEOUT_NAME_LENGTH
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/curl/src/tool_writeout.c
      type_or_value: '24'
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: num
        type: int
      item_type: struct
      name: httpmap
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/curl/src/tool_writeout.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_ssls.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tvrealnow
  - tvrealnow
  - struplocompare
  - struplocompare4sort
  - _lseeki64
  - tool_ftruncate64
  - tool_execpath
  source_file: /src/curl/src/tool_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - config_alloc
  - free_config_fields
  - config_free
  - globalconf_init
  - free_globalconfig
  - globalconf_free
  source_file: /src/curl/src/tool_cfgable.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getpass_r
  - getpass_r
  - ttyecho
  - getpass_r
  source_file: /src/curl/src/tool_getpass.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: struct_term
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/src/tool_getpass.c
      type_or_value: struct termios
    - item_type: preproc_def
      name: struct_term
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl/src/tool_getpass.c
      type_or_value: struct termio
    structs:
    - fields:
      - name: iosb$w_status
        type: short int
      - name: iosb$w_bcnt
        type: short int
      - name: unused
        type: int
      item_type: struct
      name: _iosb
      pos:
        line_end: 70
        line_start: 65
        source_file: /src/curl/src/tool_getpass.c
    typedefs: []
    union: []
- function_names:
  - fwrite_xattr
  source_file: /src/curl/src/tool_xattr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_cb_rea.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - exit
  - VMS_STS
  source_file: /src/curl/src/tool_vms.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMSSTS_HIDE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/src/tool_vms.h
      type_or_value: VMS_STS(1,0,0,0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_strdup.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_cb_dbg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_writeout.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: writeoutid
      - name: ci
        type: CURLINFO
      - name: "(*writefunc)(FILE *stream, const struct writeoutvar *wovar,\n                   struct
          per_transfer *per, CURLcode per_result,\n                   bool use_json)"
        type: int
      item_type: struct
      name: writeoutvar
      pos:
        line_end: 112
        line_start: 105
        source_file: /src/curl/src/tool_writeout.h
    typedefs: []
    union: []
- function_names:
  - tool_seek_cb
  source_file: /src/curl/src/tool_cb_see.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OUR_MAX_SEEK_L
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/src/tool_cb_see.c
      type_or_value: 2147483647L - 1L
    - item_type: preproc_def
      name: OUR_MAX_SEEK_O
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/src/tool_cb_see.c
      type_or_value: 0x7FFFFFFF - 0x1
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_urlglob.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GLOB_PATTERN_NUM
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/src/tool_urlglob.h
      type_or_value: '30'
    structs:
    - fields:
      - name: type
        type: globtype
      - name: globindex
        type: int
      - name: c
        type: "union {\n    struct {\n      char **elem;\n      curl_off_t size;\n
          \     curl_off_t idx;\n    } set;\n    struct {\n      int min;\n      int
          max;\n      int letter;\n      unsigned char step;\n    } ascii;\n    struct
          {\n      curl_off_t min;\n      curl_off_t max;\n      curl_off_t idx;\n
          \     curl_off_t step;\n      int npad;\n    } num;\n  }"
      item_type: struct
      name: URLPattern
      pos:
        line_end: 57
        line_start: 33
        source_file: /src/curl/src/tool_urlglob.h
    - fields:
      - name: buf
        type: struct dynbuf
      - name: '*pattern'
        type: struct URLPattern
      - name: palloc
        type: size_t
      - name: size
        type: size_t
      - name: beenhere
        type: char
      - name: '*error'
        type: char
      - name: pos
        type: size_t
      item_type: struct
      name: URLGlob
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/curl/src/tool_urlglob.h
    typedefs: []
    union: []
- function_names:
  - BIT
  - BIT
  - checkprefix
  - tool_safefree
  source_file: /src/curl/src/tool_cfgable.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FAIL_NONE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/src/tool_cfgable.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FAIL_WITH_BODY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/src/tool_cfgable.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FAIL_WO_BODY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/src/tool_cfgable.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*urlnode'
        type: struct getout
      - name: inglob
        type: struct URLGlob
      - name: urlglob
        type: struct URLGlob
      - name: '*httpgetfields'
        type: char
      - name: '*uploadfile'
        type: char
      - name: upnum
        type: curl_off_t
      - name: upidx
        type: curl_off_t
      - name: urlnum
        type: curl_off_t
      - name: urlidx
        type: curl_off_t
      item_type: struct
      name: State
      pos:
        line_end: 58
        line_start: 48
        source_file: /src/curl/src/tool_cfgable.h
    - fields:
      - name: postdata
        type: struct dynbuf
      - name: '*useragent'
        type: char
      - name: '*cookies'
        type: struct curl_slist
      - name: '*cookiejar'
        type: char
      - name: '*cookiefiles'
        type: struct curl_slist
      - name: '*altsvc'
        type: char
      - name: '*hsts'
        type: char
      - name: '*proto_str'
        type: char
      - name: '*proto_redir_str'
        type: char
      - name: '*proto_default'
        type: char
      - name: resume_from
        type: curl_off_t
      - name: '*postfields'
        type: char
      - name: '*referer'
        type: char
      - name: '*query'
        type: char
      - name: max_filesize
        type: curl_off_t
      - name: '*output_dir'
        type: char
      - name: '*headerfile'
        type: char
      - name: '*ftpport'
        type: char
      - name: '*iface'
        type: char
      - name: '*range'
        type: char
      - name: '*dns_servers'
        type: char
      - name: '*dns_interface'
        type: char
      - name: '*dns_ipv4_addr'
        type: char
      - name: '*dns_ipv6_addr'
        type: char
      - name: '*userpwd'
        type: char
      - name: '*login_options'
        type: char
      - name: '*tls_username'
        type: char
      - name: '*tls_password'
        type: char
      - name: '*tls_authtype'
        type: char
      - name: '*proxy_tls_username'
        type: char
      - name: '*proxy_tls_password'
        type: char
      - name: '*proxy_tls_authtype'
        type: char
      - name: '*proxyuserpwd'
        type: char
      - name: '*proxy'
        type: char
      - name: '*noproxy'
        type: char
      - name: '*knownhosts'
        type: char
      - name: '*mail_from'
        type: char
      - name: '*mail_rcpt'
        type: struct curl_slist
      - name: '*mail_auth'
        type: char
      - name: '*sasl_authzid'
        type: char
      - name: '*netrc_file'
        type: char
      - name: '*url_list'
        type: struct getout
      - name: '*url_last'
        type: struct getout
      - name: '*url_get'
        type: struct getout
      - name: '*url_out'
        type: struct getout
      - name: '*url_ul'
        type: struct getout
      - name: num_urls
        type: size_t
      - name: '*doh_url'
        type: char
      - name: '*cipher_list'
        type: char
      - name: '*proxy_cipher_list'
        type: char
      - name: '*cipher13_list'
        type: char
      - name: '*proxy_cipher13_list'
        type: char
      - name: '*cert'
        type: char
      - name: '*proxy_cert'
        type: char
      - name: '*cert_type'
        type: char
      - name: '*proxy_cert_type'
        type: char
      - name: '*cacert'
        type: char
      - name: '*proxy_cacert'
        type: char
      - name: '*capath'
        type: char
      - name: '*proxy_capath'
        type: char
      - name: '*crlfile'
        type: char
      - name: '*proxy_crlfile'
        type: char
      - name: '*pinnedpubkey'
        type: char
      - name: '*proxy_pinnedpubkey'
        type: char
      - name: '*key'
        type: char
      - name: '*proxy_key'
        type: char
      - name: '*key_type'
        type: char
      - name: '*proxy_key_type'
        type: char
      - name: '*key_passwd'
        type: char
      - name: '*proxy_key_passwd'
        type: char
      - name: '*pubkey'
        type: char
      - name: '*hostpubmd5'
        type: char
      - name: '*hostpubsha256'
        type: char
      - name: '*engine'
        type: char
      - name: '*etag_save_file'
        type: char
      - name: '*etag_compare_file'
        type: char
      - name: '*customrequest'
        type: char
      - name: '*ssl_ec_curves'
        type: char
      - name: '*ssl_signature_algorithms'
        type: char
      - name: '*krblevel'
        type: char
      - name: '*request_target'
        type: char
      - name: '*writeout'
        type: char
      - name: '*quote'
        type: struct curl_slist
      - name: '*postquote'
        type: struct curl_slist
      - name: '*prequote'
        type: struct curl_slist
      - name: '*headers'
        type: struct curl_slist
      - name: '*proxyheaders'
        type: struct curl_slist
      - name: '*mimeroot'
        type: struct tool_mime
      - name: '*mimecurrent'
        type: struct tool_mime
      - name: '*mimepost'
        type: curl_mime
      - name: '*telnet_options'
        type: struct curl_slist
      - name: '*resolve'
        type: struct curl_slist
      - name: '*connect_to'
        type: struct curl_slist
      - name: '*preproxy'
        type: char
      - name: '*proxy_service_name'
        type: char
      - name: '*service_name'
        type: char
      - name: '*ftp_account'
        type: char
      - name: '*ftp_alternative_to_user'
        type: char
      - name: '*oauth_bearer'
        type: char
      - name: '*unix_socket_path'
        type: char
      - name: '*haproxy_clientip'
        type: char
      - name: '*aws_sigv4'
        type: char
      - name: '*ech'
        type: char
      - name: '*ech_config'
        type: char
      - name: '*ech_public'
        type: char
      - name: '*prev'
        type: struct OperationConfig
      - name: '*next'
        type: struct OperationConfig
      - name: condtime
        type: curl_off_t
      - name: sendpersecond
        type: curl_off_t
      - name: recvpersecond
        type: curl_off_t
      - name: proxy_ssl_version
        type: long
      - name: ip_version
        type: long
      - name: create_file_mode
        type: long
      - name: low_speed_limit
        type: long
      - name: low_speed_time
        type: long
      - name: ip_tos
        type: long
      - name: vlan_priority
        type: long
      - name: localport
        type: long
      - name: localportrange
        type: long
      - name: authtype
        type: unsigned long
      - name: timeout_ms
        type: long
      - name: connecttimeout_ms
        type: long
      - name: maxredirs
        type: long
      - name: httpversion
        type: long
      - name: socks5_auth
        type: unsigned long
      - name: req_retry
        type: long
      - name: retry_delay_ms
        type: long
      - name: retry_maxtime_ms
        type: long
      - name: mime_options
        type: unsigned long
      - name: tftp_blksize
        type: long
      - name: alivetime
        type: long
      - name: alivecnt
        type: long
      - name: gssapi_delegation
        type: long
      - name: expect100timeout_ms
        type: long
      - name: happy_eyeballs_timeout_ms
        type: long
      - name: timecond
        type: unsigned long
      - name: followlocation
        type: long
      - name: httpreq
        type: HttpReq
      - name: proxyver
        type: long
      - name: ftp_ssl_ccc_mode
        type: long
      - name: ftp_filemethod
        type: long
      - name: file_clobber_mode
        type: "enum {\n    CLOBBER_DEFAULT, /* Provides compatibility with previous
          versions of curl,\n                        by using the default behavior
          for -o, -O, and -J.\n                        If those options would have
          overwritten files, like\n                        -o and -O would, then overwrite
          them. In the case of\n                        -J, this will not overwrite
          any files. */\n    CLOBBER_NEVER, /* If the file exists, always fail */\n
          \   CLOBBER_ALWAYS /* If the file exists, always overwrite it */\n  }"
      - name: upload_flags
        type: unsigned char
      - name: porttouse
        type: unsigned short
      - name: ssl_version
        type: unsigned char
      - name: ssl_version_max
        type: unsigned char
      - name: fail
        type: unsigned char
      item_type: struct
      name: OperationConfig
      pos:
        line_end: 326
        line_start: 64
        source_file: /src/curl/src/tool_cfgable.h
    - fields:
      - name: '*buf'
        type: wchar_t
      - name: len
        type: DWORD
      item_type: struct
      name: termout
      pos:
        line_end: 332
        line_start: 329
        source_file: /src/curl/src/tool_cfgable.h
    - fields:
      - name: state
        type: struct State
      - name: '*trace_dump'
        type: char
      - name: '*trace_stream'
        type: FILE
      - name: '*libcurl'
        type: char
      - name: '*ssl_sessions'
        type: char
      - name: '*variables'
        type: struct tool_var
      - name: '*first'
        type: struct OperationConfig
      - name: '*current'
        type: struct OperationConfig
      - name: '*last'
        type: struct OperationConfig
      - name: ms_per_transfer
        type: timediff_t
      - name: tracetype
        type: trace
      - name: progressmode
        type: int
      - name: parallel_host
        type: unsigned short
      - name: parallel_max
        type: unsigned short
      - name: verbosity
        type: unsigned char
      item_type: struct
      name: GlobalConfig
      pos:
        line_end: 371
        line_start: 335
        source_file: /src/curl/src/tool_cfgable.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_cb_see.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_hugehelp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - basename
  source_file: /src/curl/src/tool_bname.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - easysrc_init
  - easysrc_perform
  source_file: /src/curl/src/tool_easysrc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_checkfds
  - main_checkfds
  - memory_tracking_init
  - memory_tracking_init
  source_file: /src/curl/src/tool_main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_USED
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/src/tool_main.c
      type_or_value: __attribute__((used))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_help.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLHELP_AUTH
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 0u)
    - item_type: preproc_def
      name: CURLHELP_CONNECTION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 1u)
    - item_type: preproc_def
      name: CURLHELP_CURL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 2u)
    - item_type: preproc_def
      name: CURLHELP_DEPRECATED
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 3u)
    - item_type: preproc_def
      name: CURLHELP_DNS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 4u)
    - item_type: preproc_def
      name: CURLHELP_FILE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 5u)
    - item_type: preproc_def
      name: CURLHELP_FTP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 6u)
    - item_type: preproc_def
      name: CURLHELP_GLOBAL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 7u)
    - item_type: preproc_def
      name: CURLHELP_HTTP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 8u)
    - item_type: preproc_def
      name: CURLHELP_IMAP
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 9u)
    - item_type: preproc_def
      name: CURLHELP_IMPORTANT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 10u)
    - item_type: preproc_def
      name: CURLHELP_LDAP
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 11u)
    - item_type: preproc_def
      name: CURLHELP_OUTPUT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 12u)
    - item_type: preproc_def
      name: CURLHELP_POP3
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 13u)
    - item_type: preproc_def
      name: CURLHELP_POST
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 14u)
    - item_type: preproc_def
      name: CURLHELP_PROXY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 15u)
    - item_type: preproc_def
      name: CURLHELP_SCP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 16u)
    - item_type: preproc_def
      name: CURLHELP_SFTP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 17u)
    - item_type: preproc_def
      name: CURLHELP_SMTP
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 18u)
    - item_type: preproc_def
      name: CURLHELP_SSH
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 19u)
    - item_type: preproc_def
      name: CURLHELP_TELNET
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 20u)
    - item_type: preproc_def
      name: CURLHELP_TFTP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 21u)
    - item_type: preproc_def
      name: CURLHELP_TIMEOUT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 22u)
    - item_type: preproc_def
      name: CURLHELP_TLS
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 23u)
    - item_type: preproc_def
      name: CURLHELP_UPLOAD
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 24u)
    - item_type: preproc_def
      name: CURLHELP_VERBOSE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/src/tool_help.h
      type_or_value: (1u << 25u)
    - item_type: preproc_def
      name: CURLHELP_ALL
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/src/tool_help.h
      type_or_value: (0xfffffffu)
    structs:
    - fields:
      - name: '*trigger'
        type: char
      - name: tlen
        type: size_t
      - name: '*arg'
        type: char
      - name: flen
        type: size_t
      - name: '*endarg'
        type: char
      - name: elen
        type: size_t
      - name: olen
        type: size_t
      - name: rbuf[40]
        type: char
      - name: obuf[160]
        type: char
      - name: show
        type: unsigned char
      item_type: struct
      name: scan_ctx
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/curl/src/tool_help.h
    - fields:
      - name: '*opt'
        type: char
      - name: '*desc'
        type: char
      - name: categories
        type: unsigned int
      item_type: struct
      name: helptxt
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/curl/src/tool_help.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_sdecls.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*stream'
        type: FILE
      - name: bytes
        type: curl_off_t
      - name: init
        type: curl_off_t
      item_type: struct
      name: OutStruct
      pos:
        line_end: 77
        line_start: 64
        source_file: /src/curl/src/tool_sdecls.h
    - fields:
      - name: '*next'
        type: struct getout
      - name: '*url'
        type: char
      - name: '*outfile'
        type: char
      - name: '*infile'
        type: char
      - name: num
        type: curl_off_t
      item_type: struct
      name: getout
      pos:
        line_end: 99
        line_start: 85
        source_file: /src/curl/src/tool_sdecls.h
    typedefs: []
    union: []
- function_names:
  - mkdir
  - show_dir_errno
  - create_dir_hierarchy
  source_file: /src/curl/src/tool_dirhie.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: F_OK
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/src/tool_dirhie.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PATH_DELIMITERS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/src/tool_dirhie.c
      type_or_value: '"\\/"'
    - item_type: preproc_def
      name: PATH_DELIMITERS
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/src/tool_dirhie.c
      type_or_value: DIR_CHAR
    structs: []
    typedefs: []
    union: []
- function_names:
  - hms_for_sec
  - log_line_start
  - tool_debug_cb
  - dump
  source_file: /src/curl/src/tool_cb_dbg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TRC_IDS_FORMAT_IDS_1
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/src/tool_cb_dbg.c
      type_or_value: '"[%" CURL_FORMAT_CURL_OFF_T "-x] "'
    - item_type: preproc_def
      name: TRC_IDS_FORMAT_IDS_2
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/curl/src/tool_cb_dbg.c
      type_or_value: "\"[%\" CURL_FORMAT_CURL_OFF_T \"-%\" \\\n                                   CURL_FORMAT_CURL_OFF_T
        \"] \""
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_libcurl_info
  - proto_token
  source_file: /src/curl/src/tool_libinfo.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*proto_name'
        type: char
      - name: '**proto_tokenp'
        type: char
      item_type: struct
      name: proto_name_tokenp
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/curl/src/tool_libinfo.c
    - fields:
      - name: '*feature_name'
        type: char
      - name: '*feature_presentp'
        type: bool
      - name: feature_bitmask
        type: int
      item_type: struct
      name: feature_name_presentp
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/curl/src/tool_libinfo.c
    typedefs: []
    union: []
- function_names:
  - my_setopt
  - my_setopt_long
  - my_setopt_offt
  - my_setopt_str
  - my_setopt_enum
  - my_setopt_SSLVERSION
  - my_setopt_bitmask
  - my_setopt_mimepost
  - my_setopt_slist
  - my_setopt
  - my_setopt_long
  - my_setopt_offt
  - my_setopt_str
  - my_setopt_enum
  - my_setopt_SSLVERSION
  - my_setopt_bitmask
  - my_setopt_mimepost
  - my_setopt_slist
  source_file: /src/curl/src/tool_setopt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_HSTS_CTRL
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLHSTS
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_HTTP_VERSION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_HTTP_VERSION
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_HTTPAUTH
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLAUTH
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_SSLVERSION
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_SSLVERSION
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_PROXY_SSLVERSION
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_SSLVERSION
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_TIMECONDITION
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_TIMECOND
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_FTP_SSL_CCC
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLFTPSSL_CCC
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_USE_SSL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLUSESSL
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_SSL_OPTIONS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLSSLOPT
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_PROXY_SSL_OPTIONS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLSSLOPT
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_NETRC
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURL_NETRC
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_PROXYTYPE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLPROXY
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_PROXYAUTH
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLAUTH
    - item_type: preproc_def
      name: setopt_nv_CURLOPT_SOCKS5_AUTH
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/src/tool_setopt.h
      type_or_value: setopt_nv_CURLAUTH
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: long
      item_type: struct
      name: NameValue
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/curl/src/tool_setopt.h
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: unsigned long
      item_type: struct
      name: NameValueUnsigned
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/curl/src/tool_setopt.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_operhlp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_main.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_MAXREDIRS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/src/tool_main.h
      type_or_value: 50L
    - item_type: preproc_def
      name: RETRY_SLEEP_DEFAULT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/src/tool_main.h
      type_or_value: '1000L   '
    - item_type: preproc_def
      name: RETRY_SLEEP_MAX
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/src/tool_main.h
      type_or_value: '600000L '
    - item_type: preproc_def
      name: MAX_PARALLEL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/src/tool_main.h
      type_or_value: '65535'
    - item_type: preproc_def
      name: PARALLEL_DEFAULT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/src/tool_main.h
      type_or_value: '50'
    - item_type: preproc_def
      name: MAX_PARALLEL_HOST
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/src/tool_main.h
      type_or_value: '65535'
    - item_type: preproc_def
      name: PARALLEL_HOST_DEFAULT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/src/tool_main.h
      type_or_value: '0 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_operate.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct per_transfer
      - name: '*prev'
        type: struct per_transfer
      - name: '*config'
        type: struct OperationConfig
      - name: '*certinfo'
        type: struct curl_certinfo
      - name: '*curl'
        type: CURL
      - name: retry_remaining
        type: long
      - name: retry_sleep_default
        type: long
      - name: retry_sleep
        type: long
      - name: num_retries
        type: long
      - name: start
        type: struct curltime
      - name: retrystart
        type: struct curltime
      - name: '*url'
        type: char
      - name: urlnum
        type: curl_off_t
      - name: '*outfile'
        type: char
      - name: infd
        type: int
      - name: progressbar
        type: struct ProgressData
      - name: outs
        type: struct OutStruct
      - name: heads
        type: struct OutStruct
      - name: etag_save
        type: struct OutStruct
      - name: hdrcbdata
        type: struct HdrCbData
      - name: num_headers
        type: long
      - name: startat
        type: time_t
      - name: dltotal
        type: curl_off_t
      - name: dlnow
        type: curl_off_t
      - name: ultotal
        type: curl_off_t
      - name: ulnow
        type: curl_off_t
      - name: uploadfilesize
        type: curl_off_t
      - name: uploadedsofar
        type: curl_off_t
      - name: '*uploadfile'
        type: char
      - name: errorbuffer[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: per_transfer
      pos:
        line_end: 78
        line_start: 30
        source_file: /src/curl/src/tool_operate.h
    typedefs: []
    union: []
- function_names:
  - NV
  - NV1
  - c_escape
  - tool_setopt_enum
  - tool_setopt_SSLVERSION
  - tool_setopt_bitmask
  - libcurl_generate_slist
  - libcurl_generate_mime_part
  - libcurl_generate_mime
  - tool_setopt_mimepost
  - tool_setopt_slist
  - tool_setopt_long
  - tool_setopt_offt
  - tool_setopt
  source_file: /src/curl/src/tool_setopt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NVEND
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/src/tool_setopt.c
      type_or_value: '{NULL, 0}         '
    - item_type: preproc_def
      name: MAX_STRING_LENGTH_OUTPUT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/curl/src/tool_setopt.c
      type_or_value: '2000'
    - item_type: preproc_def
      name: ZERO_TERMINATED
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/curl/src/tool_setopt.c
      type_or_value: '-1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - new_getout
  - ISCRLF
  - memcrlf
  - file2string
  - myfseek
  - file2memory_range
  - file2memory
  - getnum
  - str2num
  - oct2nummax
  - str2unum
  - str2unummax
  - secs2ms
  - protoset_index
  - protoset_set
  - protoset_clear
  - proto2num
  - check_protocol
  - str2offset
  - checkpasswd
  - add2list
  - ftpfilemethod
  - ftpcccmethod
  - delegation
  - my_useragent
  - isheadersep
  - inlist
  - get_args
  - str2tls_max
  source_file: /src/curl/src/tool_paramhlp.c
  types:
    enum:
    - enumerators:
      - name: allow
      - name: set
      - name: deny
      item_type: enum
      name: e_action
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/curl/src/tool_paramhlp.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FILE2STRING
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/src/tool_paramhlp.c
      type_or_value: MAX_FILE2MEMORY
    - item_type: preproc_def
      name: MAX_PROTOSTRING
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/curl/src/tool_paramhlp.c
      type_or_value: '(64*11) '
    - item_type: preproc_def
      name: MAX_USERPWDLENGTH
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/curl/src/tool_paramhlp.c
      type_or_value: (100*1024)
    structs:
    - fields:
      - name: '*tls_max_str'
        type: char
      - name: tls_max
        type: unsigned char
      item_type: struct
      name: s_tls_max
      pos:
        line_end: 742
        line_start: 739
        source_file: /src/curl/src/tool_paramhlp.c
    typedefs: []
    union: []
- function_names:
  - tool_read_cb
  - tool_readbusy_cb
  source_file: /src/curl/src/tool_cb_rea.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getstr
  - getstrn
  - parse_cert_parameter
  - replace_url_encoded_space_by_plus
  - GetFileAndPassword
  - GetSizeParameter
  - cleanarg
  - cleanarg
  - data_urlencode
  - sethttpver
  - set_trace_config
  - findarg
  - findshortopt
  - find_tos
  - url_query
  - set_data
  - set_rate
  - findlongopt
  - add_url
  - parse_url
  - parse_localport
  - parse_continue_at
  - parse_ech
  - parse_header
  - parse_output
  - parse_remote_name
  - parse_quote
  - parse_range
  - parse_upload_file
  - parse_verbose
  - parse_writeout
  - parse_time_cond
  - parse_upload_flags
  - togglebit
  - opt_depr
  - opt_sslver
  - opt_none
  - opt_bool
  - opt_file
  - opt_string
  - has_leading_unicode
  - getparameter
  - parse_args
  source_file: /src/curl/src/tool_getparam.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALLOW_BLANK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/src/tool_getparam.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: DENY_BLANK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/src/tool_getparam.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: MAX_DATAURLENCODE
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/curl/src/tool_getparam.c
      type_or_value: (500*1024*1024)
    - item_type: preproc_def
      name: MAX_QUERY_LEN
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/curl/src/tool_getparam.c
      type_or_value: '100000 '
    - item_type: preproc_def
      name: MAX_OPTION_LEN
      pos:
        line_end: 2828
        line_start: 2827
        source_file: /src/curl/src/tool_getparam.c
      type_or_value: '26'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: unsigned char
      item_type: struct
      name: TOSEntry
      pos:
        line_end: 801
        line_start: 798
        source_file: /src/curl/src/tool_getparam.c
    - fields:
      - name: '*name'
        type: char
      - name: len
        type: size_t
      - name: flag
        type: unsigned char
      item_type: struct
      name: flagmap
      pos:
        line_end: 1614
        line_start: 1610
        source_file: /src/curl/src/tool_getparam.c
    typedefs: []
    union: []
- function_names:
  - main
  - CURL_STRICMP
  - CURL_STRICMP
  - CURL_STRICMP
  - CURL_STRICMP
  - CURL_STRICMP
  - isatty
  - _get_osfhandle
  - _getch
  - ftruncate
  source_file: /src/curl/src/tool_setup.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/src/tool_setup.h
      type_or_value: '"unknown"'
    - item_type: preproc_def
      name: UNPRINTABLE_CHAR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/src/tool_setup.h
      type_or_value: '''.'''
    - item_type: preproc_def
      name: tool_nop_stmt
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/src/tool_setup.h
      type_or_value: do { } while(0)
    - item_type: preproc_def
      name: HAVE_FTRUNCATE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/src/tool_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_TOOL_FTRUNCATE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl/src/tool_setup.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - strdup
  - memdup0
  source_file: /src/curl/src/tool_strdup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - max5data
  - xferinfo_cb
  - time2str
  - add_offt
  - progress_meter
  - progress_finalize
  source_file: /src/curl/src/tool_progress.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPEEDCNT
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl/src/tool_progress.c
      type_or_value: '10'
    structs:
    - fields:
      - name: dl
        type: curl_off_t
      - name: ul
        type: curl_off_t
      - name: stamp
        type: struct curltime
      item_type: struct
      name: speedcount
      pos:
        line_end: 126
        line_start: 122
        source_file: /src/curl/src/tool_progress.c
    typedefs: []
    union: []
- function_names:
  - globerror
  - glob_fixed
  - multiply
  - glob_set
  - glob_range
  - peek_ipv6
  - glob_parse
  - glob_inuse
  - glob_url
  - glob_cleanup
  - glob_next_url
  - glob_match_url
  source_file: /src/curl/src/tool_urlglob.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_IP6LEN
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/curl/src/tool_urlglob.c
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_OUTPUT_GLOB_LENGTH
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/curl/src/tool_urlglob.c
      type_or_value: (1024*1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - clean_getout
  - output_expected
  - stdin_upload
  - urlerr_cvt
  - add_file_name_to_url
  - get_url_file_name
  source_file: /src/curl/src/tool_operhlp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_doswin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SANITIZE_ALLOW_PATH
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/src/tool_doswin.h
      type_or_value: '(1<<1)  '
    - item_type: preproc_def
      name: SANITIZE_ALLOW_RESERVED
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/src/tool_doswin.h
      type_or_value: '(1<<2)  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - ARGTYPE
  - convert_UTF8_to_tchar
  - convert_tchar_to_UTF8
  - unicodefree
  - convert_UTF8_to_tchar
  - convert_tchar_to_UTF8
  - unicodefree
  source_file: /src/curl/src/tool_getparam.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARG_NONE
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/curl/src/tool_getparam.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: ARG_BOOL
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/curl/src/tool_getparam.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: ARG_STRG
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/curl/src/tool_getparam.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: ARG_FILE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/curl/src/tool_getparam.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: ARG_TYPEMASK
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/curl/src/tool_getparam.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: ARG_DEPR
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/curl/src/tool_getparam.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: ARG_CLEAR
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/curl/src/tool_getparam.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: ARG_TLS
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/curl/src/tool_getparam.h
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: ARG_NO
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/curl/src/tool_getparam.h
      type_or_value: '0x80 '
    structs:
    - fields:
      - name: '*lname'
        type: char
      - name: desc
        type: unsigned char
      - name: letter
        type: char
      - name: cmd
        type: unsigned short
      item_type: struct
      name: LongShort
      pos:
        line_end: 333
        line_start: 328
        source_file: /src/curl/src/tool_getparam.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_helpers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/slist_wc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*first'
        type: struct curl_slist
      - name: '*last'
        type: struct curl_slist
      item_type: struct
      name: slist_wc
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/curl/src/slist_wc.h
    typedefs: []
    union: []
- function_names:
  - voutf
  - notef
  - warnf
  - helpf
  - errorf
  source_file: /src/curl/src/tool_msgs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WARN_PREFIX
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/src/tool_msgs.c
      type_or_value: '"Warning: "'
    - item_type: preproc_def
      name: NOTE_PREFIX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/src/tool_msgs.c
      type_or_value: '"Note: "'
    - item_type: preproc_def
      name: ERROR_PREFIX
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/src/tool_msgs.c
      type_or_value: '"curl: "'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_address_family
  - sockopt_callback
  - ssl_backend
  - url_proto_and_rewrite
  - ssh_setopts
  - tlsversion
  - ssl_setopts
  - http_setopts
  - cookie_setopts
  - tcp_setopts
  - ftp_setopts
  - gen_trace_setopts
  - gen_cb_setopts
  - proxy_setopts
  - tls_srp_setopts
  - config2setopts
  source_file: /src/curl/src/config2setopts.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFFER_SIZE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/src/config2setopts.c
      type_or_value: 102400L
    - item_type: preproc_def
      name: SOL_IP
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/src/config2setopts.c
      type_or_value: IPPROTO_IP
    - item_type: preproc_def
      name: MAX_COOKIE_LINE
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/curl/src/config2setopts.c
      type_or_value: '8200'
    structs: []
    typedefs: []
    union: []
- function_names:
  - easysrc_free
  - easysrc_add
  - easysrc_addf
  - easysrc_init
  - easysrc_perform
  - easysrc_cleanup
  - dumpeasysrc
  source_file: /src/curl/src/tool_easysrc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_progress.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tool_write_headers
  - tool_header_cb
  - parse_filename
  - write_linked_location
  source_file: /src/curl/src/tool_cb_hdr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOLD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b[1m"'
    - item_type: preproc_def
      name: BOLDOFF
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b[22m"'
    - item_type: preproc_def
      name: BOLD
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b[1m"'
    - item_type: preproc_def
      name: BOLDOFF
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b[0m"'
    - item_type: preproc_def
      name: LINK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b]8;;"'
    - item_type: preproc_def
      name: LINKST
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/src/tool_cb_hdr.c
      type_or_value: '"\x1b\\"'
    - item_type: preproc_def
      name: LINKOFF
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/src/tool_cb_hdr.c
      type_or_value: LINK LINKST
    structs: []
    typedefs: []
    union: []
- function_names:
  - tool_ssls_easy
  - tool_ssls_load
  - tool_ssls_exp
  - tool_ssls_save
  source_file: /src/curl/src/tool_ssls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SSLS_LINE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/src/tool_ssls.c
      type_or_value: (64 * 1024)
    structs:
    - fields:
      - name: '*fp'
        type: FILE
      - name: exported
        type: int
      item_type: struct
      name: tool_ssls_ctx
      pos:
        line_end: 134
        line_start: 131
        source_file: /src/curl/src/tool_ssls.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_NAME
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/src/tool_version.h
      type_or_value: '"curl"'
    - item_type: preproc_def
      name: CURL_COPYRIGHT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/src/tool_version.h
      type_or_value: LIBCURL_COPYRIGHT
    - item_type: preproc_def
      name: CURL_VERSION
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/src/tool_version.h
      type_or_value: LIBCURL_VERSION
    - item_type: preproc_def
      name: CURL_VERSION_MAJOR
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/src/tool_version.h
      type_or_value: LIBCURL_VERSION_MAJOR
    - item_type: preproc_def
      name: CURL_VERSION_MINOR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/src/tool_version.h
      type_or_value: LIBCURL_VERSION_MINOR
    - item_type: preproc_def
      name: CURL_VERSION_PATCH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/src/tool_version.h
      type_or_value: LIBCURL_VERSION_PATCH
    - item_type: preproc_def
      name: CURL_ID
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/src/tool_version.h
      type_or_value: CURL_NAME " " CURL_VERSION " (" CURL_OS ") "
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/config2setopts.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_findfile.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLRC_DOTSCORE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/src/tool_findfile.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURLRC_DOTSCORE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/src/tool_findfile.h
      type_or_value: '1 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - slist_wc_append
  - slist_wc_free_all
  source_file: /src/curl/src/slist_wc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_vms_shell
  - vms_special_exit
  - decc_init
  source_file: /src/curl/src/tool_vms.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: int
      item_type: struct
      name: decc_feat_t
      pos:
        line_end: 125
        line_start: 122
        source_file: /src/curl/src/tool_vms.c
    typedefs: []
    union: []
- function_names:
  - varcleanup
  - varcontent
  - ENDOFFUNC
  - FUNCMATCH
  - varfunc
  - varexpand
  - addvariable
  - setvariable
  source_file: /src/curl/src/var.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EXPAND_CONTENT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/src/var.c
      type_or_value: '10000000'
    - item_type: preproc_def
      name: MAX_VAR_LEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/src/var.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: FUNC_TRIM
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/src/var.c
      type_or_value: '"trim"'
    - item_type: preproc_def
      name: FUNC_TRIM_LEN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/src/var.c
      type_or_value: (sizeof(FUNC_TRIM) - 1)
    - item_type: preproc_def
      name: FUNC_JSON
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/src/var.c
      type_or_value: '"json"'
    - item_type: preproc_def
      name: FUNC_JSON_LEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/src/var.c
      type_or_value: (sizeof(FUNC_JSON) - 1)
    - item_type: preproc_def
      name: FUNC_URL
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/src/var.c
      type_or_value: '"url"'
    - item_type: preproc_def
      name: FUNC_URL_LEN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/src/var.c
      type_or_value: (sizeof(FUNC_URL) - 1)
    - item_type: preproc_def
      name: FUNC_B64
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/src/var.c
      type_or_value: '"b64"'
    - item_type: preproc_def
      name: FUNC_B64_LEN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/src/var.c
      type_or_value: (sizeof(FUNC_B64) - 1)
    - item_type: preproc_def
      name: FUNC_64DEC
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/src/var.c
      type_or_value: '"64dec" '
    - item_type: preproc_def
      name: FUNC_64DEC_LEN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/src/var.c
      type_or_value: (sizeof(FUNC_64DEC) - 1)
    - item_type: preproc_def
      name: MAX_FILENAME
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/curl/src/var.c
      type_or_value: '10000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_ipfs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_GATEWAY_URL_LEN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/src/tool_ipfs.h
      type_or_value: '10000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_category
  - get_category_content
  - get_categories
  - get_categories_list
  - inithelpscan
  - helpscan
  - tool_help
  - is_debug
  - tool_version_info
  - tool_list_engines
  source_file: /src/curl/src/tool_help.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*opt'
        type: char
      - name: '*desc'
        type: char
      - name: category
        type: unsigned int
      item_type: struct
      name: category_descriptors
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/curl/src/tool_help.c
    typedefs: []
    union: []
- function_names:
  - checkhome
  - findfile
  source_file: /src/curl/src/tool_findfile.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*env'
        type: char
      - name: '*append'
        type: char
      - name: withoutdot
        type: bool
      item_type: struct
      name: finder
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/curl/src/tool_findfile.c
    typedefs: []
    union: []
- function_names:
  - is_fatal_error
  - is_pkcs11_uri
  - vms_realfilesize
  - VmsSpecialSize
  - add_per_transfer
  - del_per_transfer
  - pre_transfer
  - single_transfer_cleanup
  - is_outfile_auto_resumable
  - retrycheck
  - post_per_transfer
  - set_cert_types
  - append2query
  - etag_compare
  - etag_store
  - setup_headerfile
  - setup_outfile
  - check_stdin_upload
  - single_transfer
  - add_parallel_transfers
  - on_uv_socket
  - on_uv_timeout
  - cb_timeout
  - create_context
  - close_cb
  - destroy_context
  - cb_socket
  - parallel_event
  - check_finished
  - mnotify
  - parallel_transfers
  - serial_transfers
  - is_using_schannel
  - cacertpaths
  - transfer_per_config
  - create_transfer
  - run_all_transfers
  - operate
  source_file: /src/curl/src/tool_operate.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_CA_CERT_ERRORMSG
      pos:
        line_end: 107
        line_start: 101
        source_file: /src/curl/src/tool_operate.c
      type_or_value: "\"More details here: https://curl.se/docs/sslcerts.html\\n\\n\"
        \             \\\n  \"curl failed to verify the legitimacy of the server and
        therefore \"      \\\n  \"could not\\nestablish a secure connection to it.
        To learn more about \"   \\\n  \"this situation and\\nhow to fix it, please
        visit the webpage mentioned \" \\\n  \"above.\\n\""
    - item_type: preproc_def
      name: DEBUG_UV
      pos:
        line_end: 1523
        line_start: 1522
        source_file: /src/curl/src/tool_operate.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*multi'
        type: CURLM
      - name: '*share'
        type: CURLSH
      - name: mcode
        type: CURLMcode
      - name: result
        type: CURLcode
      - name: still_running
        type: int
      - name: start
        type: struct curltime
      - name: more_transfers
        type: bool
      - name: added_transfers
        type: bool
      - name: wrapitup
        type: bool
      - name: wrapitup_processed
        type: bool
      - name: tick
        type: time_t
      item_type: struct
      name: parastate
      pos:
        line_end: 1518
        line_start: 1504
        source_file: /src/curl/src/tool_operate.c
    - fields:
      - name: timeout
        type: uv_timer_t
      - name: '*loop'
        type: uv_loop_t
      - name: '*s'
        type: struct parastate
      item_type: struct
      name: datauv
      pos:
        line_end: 1529
        line_start: 1525
        source_file: /src/curl/src/tool_operate.c
    - fields:
      - name: poll_handle
        type: uv_poll_t
      - name: sockfd
        type: curl_socket_t
      - name: '*uv'
        type: struct datauv
      item_type: struct
      name: contextuv
      pos:
        line_end: 1535
        line_start: 1531
        source_file: /src/curl/src/tool_operate.c
    typedefs: []
    union: []
- function_names:
  - fly
  - update_width
  - tool_progress_cb
  - progressbarinit
  source_file: /src/curl/src/tool_cb_prg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_BARLENGTH
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/src/tool_cb_prg.c
      type_or_value: '400'
    - item_type: preproc_def
      name: MIN_BARLENGTH
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/src/tool_cb_prg.c
      type_or_value: '20'
    - item_type: preproc_def
      name: CURL_OFF_T_MAX
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl/src/tool_cb_prg.c
      type_or_value: '0x7FFFFFFFFFFFFFFF'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_USE_LFN
  - CURL_USE_LFN
  - S_ISCHR
  - S_ISCHR
  - sanitize_file_name
  - truncate_dryrun
  - msdosify
  - rename_if_reserved_dos
  - __crt0_glob_function
  - FindWin32CACert
  - GetLoadedModulePaths
  - restore_terminal
  - signal_handler
  - init_terminal
  - win32_init
  - win_stdin_thread_func
  - win32_stdin_read_thread
  source_file: /src/curl/src/tool_doswin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/src/tool_doswin.c
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: ENABLE_VIRTUAL_TERMINAL_PROCESSING
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/curl/src/tool_doswin.c
      type_or_value: '0x0004'
    structs:
    - fields:
      - name: hStdOut
        type: HANDLE
      - name: dwOutputMode
        type: DWORD
      - name: valid
        type: LONG
      item_type: struct
      name: TerminalSettings
      pos:
        line_end: 672
        line_start: 668
        source_file: /src/curl/src/tool_doswin.c
    - fields:
      - name: stdin_handle
        type: HANDLE
      - name: socket_l
        type: curl_socket_t
      item_type: struct
      name: win_thread_data
      pos:
        line_end: 754
        line_start: 747
        source_file: /src/curl/src/tool_doswin.c
    typedefs: []
    union: []
- function_names:
  - tool_mime_new
  - tool_mime_new_parts
  - tool_mime_new_data
  - uztoso
  - tool_mime_new_filedata
  - tool_mime_free
  - tool_mime_stdin_read
  - tool_mime_stdin_seek
  - tool2curlparts
  - tool2curlmime
  - get_param_word
  - slist_append
  - read_field_headers
  - get_param_part
  - SET_TOOL_MIME_PTR
  - formparse
  source_file: /src/curl/src/tool_formparse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_MASK_UCOFFT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/src/tool_formparse.c
      type_or_value: ((unsigned CURL_TYPEOF_CURL_OFF_T)~0)
    - item_type: preproc_def
      name: CURL_MASK_SCOFFT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/src/tool_formparse.c
      type_or_value: (CURL_MASK_UCOFFT >> 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - tool_socket_open_mptcp_cb
  source_file: /src/curl/src/tool_cb_soc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPPROTO_MPTCP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/src/tool_cb_soc.c
      type_or_value: '262'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_cb_hdr.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*config'
        type: struct OperationConfig
      - name: '*outs'
        type: struct OutStruct
      - name: '*heads'
        type: struct OutStruct
      - name: '*etag_save'
        type: struct OutStruct
      - name: '*headlist'
        type: struct curl_slist
      - name: honor_cd_filename
        type: bool
      item_type: struct
      name: HdrCbData
      pos:
        line_end: 49
        line_start: 42
        source_file: /src/curl/src/tool_cb_hdr.h
    typedefs: []
    union: []
- function_names:
  - tool_init_stderr
  - tool_set_stderr_file
  source_file: /src/curl/src/tool_stderr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/src/curlinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stripcredentials
  - xattr
  - fwrite_xattr
  source_file: /src/curl/src/tool_xattr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*attr'
        type: char
      - name: info
        type: CURLINFO
      item_type: struct
      name: xattr_mapping
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/curl/src/tool_xattr.c
    typedefs: []
    union: []
- function_names:
  - tool_create_output_file
  - win_console
  - IS_TRAILING_BYTE
  - tool_write_cb
  source_file: /src/curl/src/tool_cb_wrt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPENMODE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/src/tool_cb_wrt.c
      type_or_value: S_IREAD | S_IWRITE
    - item_type: preproc_def
      name: OPENMODE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/src/tool_cb_wrt.c
      type_or_value: S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_parsecfg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_writeout_json.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jsonquoted
  - jsonWriteString
  - ourWriteOutJSON
  - headerJSON
  source_file: /src/curl/src/tool_writeout_json.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_JSON_STRING
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/src/tool_writeout_json.c
      type_or_value: '100000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_terminal_columns
  source_file: /src/curl/src/terminal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_libinfo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/var.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct tool_var
      - name: '*content'
        type: char
      - name: clen
        type: size_t
      - name: name[1]
        type: char
      item_type: struct
      name: tool_var
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/curl/src/var.h
    typedefs: []
    union: []
- function_names:
  - param2text
  - SetHTTPrequest
  - customrequest_helper
  source_file: /src/curl/src/tool_helpers.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_cb_wrt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_listhelp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/terminal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setfiletime
  source_file: /src/curl/src/tool_filetime.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_formparse.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kind
        type: toolmimekind
      - name: '*parent'
        type: struct tool_mime
      - name: '*prev'
        type: struct tool_mime
      - name: '*data'
        type: char
      - name: '*name'
        type: char
      - name: '*filename'
        type: char
      - name: '*type'
        type: char
      - name: '*encoder'
        type: char
      - name: '*headers'
        type: struct curl_slist
      - name: '*subparts'
        type: struct tool_mime
      - name: origin
        type: curl_off_t
      - name: size
        type: curl_off_t
      - name: curpos
        type: curl_off_t
      item_type: struct
      name: tool_mime
      pos:
        line_end: 57
        line_start: 39
        source_file: /src/curl/src/tool_formparse.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_msgs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ensure_trailing_slash
  - ipfs_gateway
  - ipfs_url_rewrite
  source_file: /src/curl/src/tool_ipfs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_cb_soc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tool_basename
  source_file: /src/curl/src/tool_bname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_paramhlp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FILE2MEMORY
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/src/tool_paramhlp.h
      type_or_value: (16LL*1024*1024*1024)
    - item_type: preproc_def
      name: MAX_FILE2MEMORY
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/src/tool_paramhlp.h
      type_or_value: (INT_MAX)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_stderr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_getpass.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISSEP
  - unslashquote
  - parseconfig
  - get_line
  - my_get_line
  source_file: /src/curl/src/tool_parsecfg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CONFIG_LINE_LENGTH
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/src/tool_parsecfg.c
      type_or_value: (10*1024*1024)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/src/tool_cb_prg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_PROGRESS_STATS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/src/tool_cb_prg.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: CURL_PROGRESS_BAR
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/src/tool_cb_prg.h
      type_or_value: '1'
    structs:
    - fields:
      - name: calls
        type: int
      - name: prev
        type: curl_off_t
      - name: prevtime
        type: struct curltime
      - name: width
        type: int
      - name: '*out'
        type: FILE
      - name: initial_size
        type: curl_off_t
      - name: tick
        type: unsigned int
      - name: bar
        type: int
      - name: barmove
        type: int
      item_type: struct
      name: ProgressData
      pos:
        line_end: 40
        line_start: 30
        source_file: /src/curl/src/tool_cb_prg.h
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-uidl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - payload_source
  - main
  source_file: /src/curl/docs/examples/smtp-authzid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_ADDR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/docs/examples/smtp-authzid.c
      type_or_value: '"<ursel@example.org>"'
    - item_type: preproc_def
      name: SENDER_ADDR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/docs/examples/smtp-authzid.c
      type_or_value: '"<kurt@example.org>"'
    - item_type: preproc_def
      name: TO_ADDR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/docs/examples/smtp-authzid.c
      type_or_value: '"<addressee@example.net>"'
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/docs/examples/smtp-authzid.c
      type_or_value: '"Ursel " FROM_ADDR'
    - item_type: preproc_def
      name: SENDER_MAIL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/docs/examples/smtp-authzid.c
      type_or_value: '"Kurt " SENDER_ADDR'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/docs/examples/smtp-authzid.c
      type_or_value: '"A Receiver " TO_ADDR'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/curl/docs/examples/smtp-authzid.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-create.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/httpput-postfields.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - payload_source
  - main
  source_file: /src/curl/docs/examples/smtp-multi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/docs/examples/smtp-multi.c
      type_or_value: '"<sender@example.com>"'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/docs/examples/smtp-multi.c
      type_or_value: '"<recipient@example.com>"'
    - item_type: preproc_def
      name: CC_MAIL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/docs/examples/smtp-multi.c
      type_or_value: '"<info@example.com>"'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 57
        line_start: 55
        source_file: /src/curl/docs/examples/smtp-multi.c
    typedefs: []
    union: []
- function_names:
  - readfunc
  - sftpGetRemoteFileSize
  - sftpResumeUpload
  - main
  source_file: /src/curl/docs/examples/sftpuploadresume.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wrfu
  - main
  source_file: /src/curl/docs/examples/sessioninfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-fetch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pull_one_url
  - main
  source_file: /src/curl/docs/examples/multithread.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/docs/examples/multithread.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-store.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/https.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WriteMemoryCallback
  - main
  source_file: /src/curl/docs/examples/postinmemory.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*memory'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: MemoryStruct
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/curl/docs/examples/postinmemory.c
    typedefs: []
    union: []
- function_names:
  - dump
  - my_trace
  - main
  source_file: /src/curl/docs/examples/multi-debugcallback.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/docs/examples/multi-debugcallback.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - dumpNode
  - main
  source_file: /src/curl/docs/examples/htmltidy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/rtsp-options.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/protofeats.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_cookies
  - main
  source_file: /src/curl/docs/examples/cookie_interface.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/docs/examples/cookie_interface.c
      type_or_value: _snprintf
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-delete.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/default-scheme.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mycase
  - mcode_or_die
  - multi_timer_cb
  - check_multi_info
  - event_cb
  - timer_cb
  - remsock
  - setsock
  - addsock
  - sock_cb
  - write_cb
  - xferinfo_cb
  - new_conn
  - fifo_cb
  - init_fifo
  - clean_fifo
  - main
  source_file: /src/curl/docs/examples/hiperfifo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_OUT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/docs/examples/hiperfifo.c
      type_or_value: 'stdout '
    structs:
    - fields:
      - name: '*evbase'
        type: struct event_base
      - name: fifo_event
        type: struct event
      - name: timer_event
        type: struct event
      - name: '*multi'
        type: CURLM
      - name: still_running
        type: int
      - name: '*input'
        type: FILE
      - name: stopped
        type: int
      item_type: struct
      name: GlobalInfo
      pos:
        line_end: 88
        line_start: 80
        source_file: /src/curl/docs/examples/hiperfifo.c
    - fields:
      - name: '*easy'
        type: CURL
      - name: '*url'
        type: char
      - name: '*global'
        type: struct GlobalInfo
      - name: error[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: ConnInfo
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/curl/docs/examples/hiperfifo.c
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: '*easy'
        type: CURL
      - name: action
        type: int
      - name: timeout
        type: long
      - name: ev
        type: struct event
      - name: '*global'
        type: struct GlobalInfo
      item_type: struct
      name: SockInfo
      pos:
        line_end: 106
        line_start: 99
        source_file: /src/curl/docs/examples/hiperfifo.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-noop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WriteCallback
  - main
  source_file: /src/curl/docs/examples/chkspeed.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: URL_BASE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/docs/examples/chkspeed.c
      type_or_value: '"http://speedtest.your.domain/"'
    - item_type: preproc_def
      name: URL_1M
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_1M.bin"
    - item_type: preproc_def
      name: URL_2M
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_2M.bin"
    - item_type: preproc_def
      name: URL_5M
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_5M.bin"
    - item_type: preproc_def
      name: URL_10M
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_10M.bin"
    - item_type: preproc_def
      name: URL_20M
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_20M.bin"
    - item_type: preproc_def
      name: URL_50M
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_50M.bin"
    - item_type: preproc_def
      name: URL_100M
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/docs/examples/chkspeed.c
      type_or_value: URL_BASE "file_100M.bin"
    - item_type: preproc_def
      name: CHKSPEED_VERSION
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/docs/examples/chkspeed.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_lock
  - my_unlock
  - main
  source_file: /src/curl/docs/examples/shared-connection-cache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/http-post.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - payload_source
  - main
  source_file: /src/curl/docs/examples/smtp-ssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/docs/examples/smtp-ssl.c
      type_or_value: '"<sender@example.com>"'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/docs/examples/smtp-ssl.c
      type_or_value: '"<recipient@example.com>"'
    - item_type: preproc_def
      name: CC_MAIL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/docs/examples/smtp-ssl.c
      type_or_value: '"<info@example.com>"'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/curl/docs/examples/smtp-ssl.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-retr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pull_one_url
  - main
  source_file: /src/curl/docs/examples/threaded-ssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/docs/examples/threaded-ssl.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror
  - gettimeofday
  - my_gettimeofday
  - dump
  - my_trace
  - read_callback
  - main
  source_file: /src/curl/docs/examples/http2-upload.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/docs/examples/http2-upload.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/docs/examples/http2-upload.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/docs/examples/http2-upload.c
      type_or_value: _fileno
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/docs/examples/http2-upload.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: CURLPIPE_MULTIPLEX
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/docs/examples/http2-upload.c
      type_or_value: 0L
    - item_type: preproc_def
      name: NUM_HANDLES
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/docs/examples/http2-upload.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: WIN32_FT_OFFSET
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/docs/examples/http2-upload.c
      type_or_value: (116444736000000000)
    structs:
    - fields:
      - name: '*in'
        type: FILE
      - name: '*out'
        type: FILE
      - name: bytes_read
        type: size_t
      - name: '*hnd'
        type: CURL
      - name: num
        type: int
      item_type: struct
      name: input
      pos:
        line_end: 94
        line_start: 88
        source_file: /src/curl/docs/examples/http2-upload.c
    typedefs: []
    union:
    - fields:
      - name: ns100
        type: CURL_TYPEOF_CURL_OFF_T
      - name: ft
        type: FILETIME
      item_type: union
      name: _now
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/curl/docs/examples/http2-upload.c
- function_names: []
  source_file: /src/curl/docs/examples/fileupload.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/docs/examples/fileupload.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/docs/examples/fileupload.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/docs/examples/fileupload.c
      type_or_value: _fileno
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/http3-present.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-authzid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror
  - write_data
  - closecb
  - opensocket
  - sockopt_callback
  - main
  source_file: /src/curl/docs/examples/externalsocket.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: close
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/docs/examples/externalsocket.c
      type_or_value: closesocket
    - item_type: preproc_def
      name: IPADDR
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/docs/examples/externalsocket.c
      type_or_value: '"127.0.0.1"'
    - item_type: preproc_def
      name: PORTNUM
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/docs/examples/externalsocket.c
      type_or_value: '80'
    - item_type: preproc_def
      name: INADDR_NONE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/docs/examples/externalsocket.c
      type_or_value: '0xffffffff'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/simple.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - writecb
  - main
  source_file: /src/curl/docs/examples/websocket-cb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-multi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/persistent.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dump
  - my_trace
  - main
  source_file: /src/curl/docs/examples/debug.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: trace_ascii
        type: char
      item_type: struct
      name: data
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/curl/docs/examples/debug.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/multi-double.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/altsvc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getcontentlengthfunc
  - discardfunc
  - readfunc
  - upload
  - main
  source_file: /src/curl/docs/examples/ftpuploadresume.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/simplepost.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_response
  - main
  source_file: /src/curl/docs/examples/ftpgetresp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FTPBODY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/docs/examples/ftpgetresp.c
      type_or_value: '"ftp-list"'
    - item_type: preproc_def
      name: FTPHEADERS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/docs/examples/ftpgetresp.c
      type_or_value: '"ftp-responses"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/keepalive.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-tls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/postit2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/connect-to.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-authzid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_callback
  - main
  source_file: /src/curl/docs/examples/ftpuploadfrommem.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: WriteThis
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/curl/docs/examples/ftpuploadfrommem.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/interface.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - payload_source
  - main
  source_file: /src/curl/docs/examples/imap-append.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/docs/examples/imap-append.c
      type_or_value: '"<sender@example.org>"'
    - item_type: preproc_def
      name: TO
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/docs/examples/imap-append.c
      type_or_value: '"<addressee@example.net>"'
    - item_type: preproc_def
      name: CC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/docs/examples/imap-append.c
      type_or_value: '"<info@example.org>"'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/curl/docs/examples/imap-append.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/unixsocket.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ABSTRACT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/docs/examples/unixsocket.c
      type_or_value: '"http-unix-domain"'
    - item_type: preproc_def
      name: PATH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/docs/examples/unixsocket.c
      type_or_value: '"/tmp/http-unix-domain"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_file
  - run_one
  - pull_one_url
  - pulse_bar
  - create_thread
  - cb_delete
  - main
  source_file: /src/curl/docs/examples/smooth-gtk-thread.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/docs/examples/smooth-gtk-thread.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_data
  - main
  source_file: /src/curl/docs/examples/url2file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-search.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/getredirect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/smtp-expn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/multi-single.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_fwrite
  - main
  source_file: /src/curl/docs/examples/ftp-delete.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - writefunction
  - sslctx_function
  - main
  source_file: /src/curl/docs/examples/usercertinmem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dump
  - my_trace
  - setup
  - server_push_callback
  - main
  source_file: /src/curl/docs/examples/http2-serverpush.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/docs/examples/http2-serverpush.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: OUTPUTFILE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/docs/examples/http2-serverpush.c
      type_or_value: '"dl"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-copy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/multi-legacy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_HANDLE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/docs/examples/multi-legacy.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: FTP_HANDLE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/docs/examples/multi-legacy.c
      type_or_value: '1    '
    - item_type: preproc_def
      name: HANDLECOUNT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/docs/examples/multi-legacy.c
      type_or_value: '2   '
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/sslbackend.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - writecb
  - readcb
  - main
  source_file: /src/curl/docs/examples/websocket-updown.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*easy'
        type: CURL
      - name: buf[1024]
        type: char
      - name: blen
        type: size_t
      - name: nsent
        type: size_t
      item_type: struct
      name: read_ctx
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/curl/docs/examples/websocket-updown.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/getinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - payload_source
  - main
  source_file: /src/curl/docs/examples/smtp-mail.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_ADDR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/docs/examples/smtp-mail.c
      type_or_value: '"<sender@example.org>"'
    - item_type: preproc_def
      name: TO_ADDR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/docs/examples/smtp-mail.c
      type_or_value: '"<addressee@example.net>"'
    - item_type: preproc_def
      name: CC_ADDR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/docs/examples/smtp-mail.c
      type_or_value: '"<info@example.org>"'
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/docs/examples/smtp-mail.c
      type_or_value: '"Sender Person " FROM_ADDR'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/docs/examples/smtp-mail.c
      type_or_value: '"A Receiver " TO_ADDR'
    - item_type: preproc_def
      name: CC_MAIL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/docs/examples/smtp-mail.c
      type_or_value: '"John CC Smith " CC_ADDR'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/curl/docs/examples/smtp-mail.c
    typedefs: []
    union: []
- function_names:
  - COMPARE
  - COMPARE
  - Context
  - writer
  - init
  - StartElement
  - EndElement
  - handleCharacters
  - Characters
  - cdata
  - parseHtml
  - main
  source_file: /src/curl/docs/examples/htmltitle.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: addTitle
        type: bool
      - name: title
        type: std::string
      item_type: struct
      name: Context
      pos:
        line_end: 61
        line_start: 55
        source_file: /src/curl/docs/examples/htmltitle.cpp
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/multi-post.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/parseurl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-lsub.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_seek
  - read_callback
  source_file: /src/curl/docs/examples/anyauthput.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/docs/examples/anyauthput.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/docs/examples/anyauthput.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/docs/examples/anyauthput.c
      type_or_value: _fileno
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-multi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/httpcustomheader.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - ip_list_append
  - ip_list_free_all
  - free_connection_filter
  - ip_match
  - is_ipv4_mapped_ipv6_address
  - opensocket
  - main
  source_file: /src/curl/docs/examples/block_ip.c
  types:
    enum:
    - enumerators:
      - name: CONNECTION_FILTER_BLACKLIST
      - name: CONNECTION_FILTER_WHITELIST
      item_type: enum
      name: connection_filter_t
      pos:
        line_end: 94
        line_start: 91
        source_file: /src/curl/docs/examples/block_ip.c
    preproc_defs:
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/docs/examples/block_ip.c
      type_or_value: '0x0600  '
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/docs/examples/block_ip.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/docs/examples/block_ip.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: family
        type: int
      - name: netaddr
        type: "union netaddr {\n    struct in_addr ipv4;\n#ifdef AF_INET6\n    struct
          in6_addr ipv6;\n#endif\n  }"
      - name: maskbits
        type: int
      - name: '*next'
        type: struct ip
      item_type: struct
      name: ip
      pos:
        line_end: 89
        line_start: 71
        source_file: /src/curl/docs/examples/block_ip.c
    - fields:
      - name: '*list'
        type: struct ip
      - name: type
        type: enum connection_filter_t
      - name: verbose
        type: int
      item_type: struct
      name: connection_filter
      pos:
        line_end: 106
        line_start: 96
        source_file: /src/curl/docs/examples/block_ip.c
    typedefs: []
    union:
    - fields:
      - name: ipv4
        type: struct in_addr
      item_type: union
      name: netaddr
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/curl/docs/examples/block_ip.c
- function_names:
  - write_cb
  - add_transfer
  - main
  source_file: /src/curl/docs/examples/10-at-a-time.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PARALLEL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/docs/examples/10-at-a-time.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: NUM_URLS
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/docs/examples/10-at-a-time.c
      type_or_value: sizeof(urls)/sizeof(char *)
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/range.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/http-options.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/smtp-mime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/docs/examples/smtp-mime.c
      type_or_value: '"<sender@example.org>"'
    - item_type: preproc_def
      name: TO
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/docs/examples/smtp-mime.c
      type_or_value: '"<addressee@example.net>"'
    - item_type: preproc_def
      name: CC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/docs/examples/smtp-mime.c
      type_or_value: '"<info@example.org>"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - wait_on_socket
  - main
  source_file: /src/curl/docs/examples/sendrecv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_curl_context
  - curl_close_cb
  - destroy_curl_context
  - add_download
  - check_multi_info
  - on_uv_socket
  - on_uv_timeout
  - cb_timeout
  - cb_socket
  - main
  source_file: /src/curl/docs/examples/multi-uv.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: timeout
        type: uv_timer_t
      - name: '*loop'
        type: uv_loop_t
      - name: '*multi'
        type: CURLM
      item_type: struct
      name: datauv
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/curl/docs/examples/multi-uv.c
    - fields:
      - name: poll_handle
        type: uv_poll_t
      - name: sockfd
        type: curl_socket_t
      - name: '*uv'
        type: struct datauv
      item_type: struct
      name: curl_context
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/curl/docs/examples/multi-uv.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/getreferrer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_fwrite
  - main
  source_file: /src/curl/docs/examples/ftpget.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*stream'
        type: FILE
      item_type: struct
      name: FtpFile
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/curl/docs/examples/ftpget.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-examine.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_curl_context
  - destroy_curl_context
  - add_download
  - check_multi_info
  - curl_perform
  - on_timeout
  - start_timeout
  - handle_socket
  - main
  source_file: /src/curl/docs/examples/multi-event.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*event'
        type: struct event
      - name: sockfd
        type: curl_socket_t
      item_type: struct
      name: curl_context
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/curl/docs/examples/multi-event.c
    typedefs: []
    union: []
- function_names:
  - write_data
  - main
  source_file: /src/curl/docs/examples/sepheaders.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-ssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_callback
  - main
  source_file: /src/curl/docs/examples/post-callback.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*readptr'
        type: char
      - name: sizeleft
        type: size_t
      item_type: struct
      name: WriteThis
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/curl/docs/examples/post-callback.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/urlapi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-tls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - write_cb
  - init_memory
  - setup
  - server_push_callback
  - main
  source_file: /src/curl/docs/examples/http2-pushinmemory.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FILES
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/docs/examples/http2-pushinmemory.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*memory'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: Memory
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/curl/docs/examples/http2-pushinmemory.c
    typedefs: []
    union: []
- function_names:
  - sleep
  - ping
  - recv_pong
  - websocket_close
  - websocket
  - main
  source_file: /src/curl/docs/examples/websocket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_callback
  source_file: /src/curl/docs/examples/httpput.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/docs/examples/httpput.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/docs/examples/httpput.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/docs/examples/httpput.c
      type_or_value: _fileno
    structs: []
    typedefs: []
    union: []
- function_names:
  - mcode_or_die
  - check_multi_info
  - timer_cb
  - update_timeout_cb
  - event_cb
  - remsock
  - setsock
  - addsock
  - sock_cb
  - write_cb
  - xferinfo_cb
  - new_conn
  - fifo_cb
  - init_fifo
  - main
  source_file: /src/curl/docs/examples/ghiper.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_OUT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/docs/examples/ghiper.c
      type_or_value: 'g_print   '
    - item_type: preproc_def
      name: SHOW_VERBOSE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/docs/examples/ghiper.c
      type_or_value: '0L   '
    - item_type: preproc_def
      name: SHOW_PROGRESS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/docs/examples/ghiper.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: BUF_SIZE
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/curl/docs/examples/ghiper.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*multi'
        type: CURLM
      - name: timer_event
        type: guint
      - name: still_running
        type: int
      item_type: struct
      name: GlobalInfo
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/curl/docs/examples/ghiper.c
    - fields:
      - name: '*easy'
        type: CURL
      - name: '*url'
        type: char
      - name: '*global'
        type: struct GlobalInfo
      - name: error[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: ConnInfo
      pos:
        line_end: 84
        line_start: 79
        source_file: /src/curl/docs/examples/ghiper.c
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: '*easy'
        type: CURL
      - name: action
        type: int
      - name: timeout
        type: long
      - name: '*ch'
        type: GIOChannel
      - name: ev
        type: guint
      - name: '*global'
        type: struct GlobalInfo
      item_type: struct
      name: SockInfo
      pos:
        line_end: 95
        line_start: 87
        source_file: /src/curl/docs/examples/ghiper.c
    typedefs: []
    union: []
- function_names:
  - throw_away
  - main
  source_file: /src/curl/docs/examples/ftpgetinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/multi-formadd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/address-scope.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - startElement
  - characterDataHandler
  - endElement
  - parseStreamCallback
  - main
  source_file: /src/curl/docs/examples/xmlstream.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*memory'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: MemoryStruct
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/curl/docs/examples/xmlstream.c
    - fields:
      - name: ok
        type: int
      - name: tags
        type: size_t
      - name: depth
        type: size_t
      - name: characters
        type: struct MemoryStruct
      item_type: struct
      name: ParserStruct
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/curl/docs/examples/xmlstream.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/resolve.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/http3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hstsread
  - hstswrite
  - main
  source_file: /src/curl/docs/examples/hsts-preload.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*exp'
        type: char
      item_type: struct
      name: entry
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/curl/docs/examples/hsts-preload.c
    - fields:
      - name: index
        type: int
      item_type: struct
      name: state
      pos:
        line_end: 44
        line_start: 42
        source_file: /src/curl/docs/examples/hsts-preload.c
    typedefs: []
    union: []
- function_names:
  - mem_reset
  - mem_need
  - mem_addn
  - mem_add
  - mem_addf
  - mydebug
  - mywrite
  - main
  source_file: /src/curl/docs/examples/log_failed_transfers.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: strcasecmp
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/docs/examples/log_failed_transfers.c
      type_or_value: _stricmp
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/docs/examples/log_failed_transfers.c
      type_or_value: _strnicmp
    - item_type: preproc_def
      name: unlink
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/docs/examples/log_failed_transfers.c
      type_or_value: _unlink
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: mem
      pos:
        line_end: 63
        line_start: 56
        source_file: /src/curl/docs/examples/log_failed_transfers.c
    - fields:
      - name: '*url'
        type: char
      - name: log
        type: struct mem
      - name: '*bodyfp'
        type: FILE
      - name: '*curl'
        type: CURL
      item_type: struct
      name: transfer
      pos:
        line_end: 70
        line_start: 65
        source_file: /src/curl/docs/examples/log_failed_transfers.c
    typedefs: []
    union: []
- function_names:
  - WriteMemoryCallback
  - main
  source_file: /src/curl/docs/examples/getinmemory.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*memory'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: MemoryStruct
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/curl/docs/examples/getinmemory.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/smtp-vrfy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/postit2-formadd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-top.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - payload_source
  - main
  source_file: /src/curl/docs/examples/smtp-tls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FROM_MAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/docs/examples/smtp-tls.c
      type_or_value: '"<sender@example.com>"'
    - item_type: preproc_def
      name: TO_MAIL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/docs/examples/smtp-tls.c
      type_or_value: '"<recipient@example.com>"'
    - item_type: preproc_def
      name: CC_MAIL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/docs/examples/smtp-tls.c
      type_or_value: '"<info@example.com>"'
    structs:
    - fields:
      - name: bytes_read
        type: size_t
      item_type: struct
      name: upload_status
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/curl/docs/examples/smtp-tls.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/localport.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/netrc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_fwrite
  - main
  source_file: /src/curl/docs/examples/sftpget.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*stream'
        type: FILE
      item_type: struct
      name: FtpFile
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/curl/docs/examples/sftpget.c
    typedefs: []
    union: []
- function_names:
  - write_cb
  - main
  source_file: /src/curl/docs/examples/headerapi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - main
  - SyncTime_CURL_WriteOutput
  - SyncTime_CURL_WriteHeader
  - SyncTime_CURL_Init
  - SyncTime_CURL_Fetch
  - showUsage
  - conf_init
  - main
  source_file: /src/curl/docs/examples/synctime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/docs/examples/synctime.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: MAX_STRING
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/docs/examples/synctime.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_STRING1
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/docs/examples/synctime.c
      type_or_value: MAX_STRING + 1
    - item_type: preproc_def
      name: SYNCTIME_UA
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl/docs/examples/synctime.c
      type_or_value: '"synctime/1.0"'
    - item_type: preproc_def
      name: HTTP_COMMAND_HEAD
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/curl/docs/examples/synctime.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HTTP_COMMAND_GET
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/docs/examples/synctime.c
      type_or_value: '1'
    structs:
    - fields:
      - name: http_proxy[MAX_STRING1]
        type: char
      - name: proxy_user[MAX_STRING1]
        type: char
      - name: timeserver[MAX_STRING1]
        type: char
      item_type: struct
      name: conf
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/curl/docs/examples/synctime.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-noop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - file_is_coming
  - file_is_downloaded
  - write_it
  - main
  source_file: /src/curl/docs/examples/ftp-wildcard.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*output'
        type: FILE
      item_type: struct
      name: callback_data
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/curl/docs/examples/ftp-wildcard.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/maxconnects.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/imap-ssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror
  - read_callback
  source_file: /src/curl/docs/examples/ftpupload.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/docs/examples/ftpupload.c
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/docs/examples/ftpupload.c
      type_or_value: _fstat
    - item_type: preproc_def
      name: fileno
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/docs/examples/ftpupload.c
      type_or_value: _fileno
    - item_type: preproc_def
      name: LOCAL_FILE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/docs/examples/ftpupload.c
      type_or_value: '"/tmp/uploadthis.txt"'
    - item_type: preproc_def
      name: UPLOAD_FILE_AS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/docs/examples/ftpupload.c
      type_or_value: '"while-uploading.txt"'
    - item_type: preproc_def
      name: REMOTE_URL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/docs/examples/ftpupload.c
      type_or_value: '"ftp://example.com/"  UPLOAD_FILE_AS'
    - item_type: preproc_def
      name: RENAME_FILE_TO
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/docs/examples/ftpupload.c
      type_or_value: '"renamed-and-fine.txt"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mycase
  - mcode_or_die
  - multi_timer_cb
  - check_multi_info
  - event_cb
  - timer_cb
  - remsock
  - setsock
  - addsock
  - sock_cb
  - write_cb
  - prog_cb
  - new_conn
  - fifo_cb
  - init_fifo
  - clean_fifo
  - sigint_handler
  - main
  source_file: /src/curl/docs/examples/ephiperfifo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_OUT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/docs/examples/ephiperfifo.c
      type_or_value: 'stdout '
    structs:
    - fields:
      - name: epfd
        type: int
      - name: tfd
        type: int
      - name: fifofd
        type: int
      - name: '*multi'
        type: CURLM
      - name: still_running
        type: int
      - name: '*input'
        type: FILE
      item_type: struct
      name: GlobalInfo
      pos:
        line_end: 88
        line_start: 81
        source_file: /src/curl/docs/examples/ephiperfifo.c
    - fields:
      - name: '*easy'
        type: CURL
      - name: '*url'
        type: char
      - name: '*global'
        type: struct GlobalInfo
      - name: error[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: ConnInfo
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/curl/docs/examples/ephiperfifo.c
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: '*easy'
        type: CURL
      - name: action
        type: int
      - name: timeout
        type: long
      - name: '*global'
        type: struct GlobalInfo
      item_type: struct
      name: SockInfo
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/curl/docs/examples/ephiperfifo.c
    typedefs: []
    union: []
- function_names:
  - multi_timer_cb
  - mcode_or_die
  - check_multi_info
  - event_cb
  - timer_cb
  - remsock
  - setsock
  - addsock
  - sock_cb
  - write_cb
  - xferinfo_cb
  - new_conn
  - fifo_cb
  - init_fifo
  - main
  source_file: /src/curl/docs/examples/evhiperfifo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_OUT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/docs/examples/evhiperfifo.c
      type_or_value: 'stdout '
    structs:
    - fields:
      - name: '*loop'
        type: struct ev_loop
      - name: fifo_event
        type: struct ev_io
      - name: timer_event
        type: struct ev_timer
      - name: '*multi'
        type: CURLM
      - name: still_running
        type: int
      - name: '*input'
        type: FILE
      item_type: struct
      name: GlobalInfo
      pos:
        line_end: 88
        line_start: 81
        source_file: /src/curl/docs/examples/evhiperfifo.c
    - fields:
      - name: '*easy'
        type: CURL
      - name: '*url'
        type: char
      - name: '*global'
        type: struct GlobalInfo
      - name: error[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: ConnInfo
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/curl/docs/examples/evhiperfifo.c
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: '*easy'
        type: CURL
      - name: action
        type: int
      - name: timeout
        type: long
      - name: ev
        type: struct ev_io
      - name: evset
        type: int
      - name: '*global'
        type: struct GlobalInfo
      item_type: struct
      name: SockInfo
      pos:
        line_end: 107
        line_start: 99
        source_file: /src/curl/docs/examples/evhiperfifo.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/ipv6.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror
  - dump
  - my_trace
  - setup
  - main
  source_file: /src/curl/docs/examples/http2-download.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/docs/examples/http2-download.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: CURLPIPE_MULTIPLEX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/docs/examples/http2-download.c
      type_or_value: 0L
    - item_type: preproc_def
      name: NUM_HANDLES
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/docs/examples/http2-download.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: '*easy'
        type: CURL
      - name: num
        type: unsigned int
      - name: '*out'
        type: FILE
      item_type: struct
      name: transfer
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/curl/docs/examples/http2-download.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/simplessl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-stat.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - wrfu
  - main
  source_file: /src/curl/docs/examples/certinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sighandler
  - grow_buffer
  - make_handle
  - follow_links
  - is_html
  - main
  source_file: /src/curl/docs/examples/crawler.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: memory
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/curl/docs/examples/crawler.c
    typedefs: []
    union: []
- function_names:
  - my_fwrite
  - main
  source_file: /src/curl/docs/examples/ftpsget.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*filename'
        type: char
      - name: '*stream'
        type: FILE
      item_type: struct
      name: FtpFile
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/curl/docs/examples/ftpsget.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/multi-app.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_HANDLE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/docs/examples/multi-app.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: FTP_HANDLE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/docs/examples/multi-app.c
      type_or_value: '1    '
    - item_type: preproc_def
      name: HANDLECOUNT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/docs/examples/multi-app.c
      type_or_value: '2   '
    structs: []
    typedefs: []
    union: []
- function_names:
  - xferinfo
  - main
  source_file: /src/curl/docs/examples/progressfunc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/docs/examples/progressfunc.c
      type_or_value: '3000000'
    - item_type: preproc_def
      name: STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/docs/examples/progressfunc.c
      type_or_value: '6000'
    structs:
    - fields:
      - name: lastruntime
        type: curl_off_t
      - name: '*curl'
        type: CURL
      item_type: struct
      name: myprogress
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/curl/docs/examples/progressfunc.c
    typedefs: []
    union: []
- function_names:
  - writefunction
  - sslctx_function
  - main
  source_file: /src/curl/docs/examples/cacertinmem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ossl_valsize_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/curl/docs/examples/cacertinmem.c
      type: size_t
    - item_type: typedef
      name: ossl_valsize_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/curl/docs/examples/cacertinmem.c
      type: int
    union: []
- function_names:
  - main
  source_file: /src/curl/docs/examples/pop3-dele.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_VERSION_BITS
  - CURL_AT_LEAST_VERSION
  source_file: /src/curl/include/curl/curlver.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBCURL_COPYRIGHT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/include/curl/curlver.h
      type_or_value: '"Daniel Stenberg, <daniel@haxx.se>."'
    - item_type: preproc_def
      name: LIBCURL_VERSION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/include/curl/curlver.h
      type_or_value: '"8.17.0-DEV"'
    - item_type: preproc_def
      name: LIBCURL_VERSION_MAJOR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/include/curl/curlver.h
      type_or_value: '8'
    - item_type: preproc_def
      name: LIBCURL_VERSION_MINOR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/include/curl/curlver.h
      type_or_value: '17'
    - item_type: preproc_def
      name: LIBCURL_VERSION_PATCH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/include/curl/curlver.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LIBCURL_VERSION_NUM
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/include/curl/curlver.h
      type_or_value: '0x081100'
    - item_type: preproc_def
      name: LIBCURL_TIMESTAMP
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/include/curl/curlver.h
      type_or_value: '"[unreleased]"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/include/curl/urlapi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLU_DEFAULT_PORT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<0)       '
    - item_type: preproc_def
      name: CURLU_NO_DEFAULT_PORT
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<1)    '
    - item_type: preproc_def
      name: CURLU_DEFAULT_SCHEME
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<2)     '
    - item_type: preproc_def
      name: CURLU_NON_SUPPORT_SCHEME
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: CURLU_PATH_AS_IS
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<4)         '
    - item_type: preproc_def
      name: CURLU_DISALLOW_USER
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<5)      '
    - item_type: preproc_def
      name: CURLU_URLDECODE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<6)          '
    - item_type: preproc_def
      name: CURLU_URLENCODE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<7)          '
    - item_type: preproc_def
      name: CURLU_APPENDQUERY
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<8)        '
    - item_type: preproc_def
      name: CURLU_GUESS_SCHEME
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<9)       '
    - item_type: preproc_def
      name: CURLU_NO_AUTHORITY
      pos:
        line_end: 98
        line_start: 96
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<10)      '
    - item_type: preproc_def
      name: CURLU_ALLOW_SPACE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<11)       '
    - item_type: preproc_def
      name: CURLU_PUNYCODE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<12)          '
    - item_type: preproc_def
      name: CURLU_PUNY2IDN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<13)          '
    - item_type: preproc_def
      name: CURLU_GET_EMPTY
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<14)         '
    - item_type: preproc_def
      name: CURLU_NO_GUESS_SCHEME
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/include/curl/urlapi.h
      type_or_value: '(1<<15)   '
    structs: []
    typedefs:
    - item_type: typedef
      name: CURLU
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/curl/include/curl/urlapi.h
      type: Curl_URL
    union: []
- function_names: []
  source_file: /src/curl/include/curl/easy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_BLOB_COPY
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/include/curl/easy.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_BLOB_NOCOPY
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/include/curl/easy.h
      type_or_value: '0 '
    structs:
    - fields:
      - name: '*data'
        type: void
      - name: len
        type: size_t
      - name: flags
        type: unsigned int
      item_type: struct
      name: curl_blob
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/curl/include/curl/easy.h
    typedefs: []
    union: []
- function_names:
  - CURL_DEPRECATED
  - CURL_IGNORE_DEPRECATION
  - CURL_IGNORE_DEPRECATION
  - CURL_IGNORE_DEPRECATION
  - CURL_HAS_DECLSPEC_ATTRIBUTE
  - CURL_HAS_DECLSPEC_ATTRIBUTE
  - CURLOPT
  - CURLOPTDEPRECATED
  - curl_easy_setopt
  - curl_easy_getinfo
  - curl_share_setopt
  - curl_multi_setopt
  source_file: /src/curl/include/curl/curl.h
  types:
    enum:
    - enumerators:
      - name: CURLKHTYPE_UNKNOWN
      - name: CURLKHTYPE_ECDSA
      - name: CURLKHTYPE_DSS
      - name: CURLKHTYPE_RSA
      - name: CURLKHTYPE_RSA1
      - name: CURLKHTYPE_ED25519
      item_type: enum
      name: curl_khtype
      pos:
        line_end: 871
        line_start: 864
        source_file: /src/curl/include/curl/curl.h
    - enumerators:
      - name: CURLKHSTAT_FINE_ADD_TO_FILE
      - name: CURLKHSTAT_FINE_REPLACE
      - name: CURLKHSTAT_DEFER
      - name: CURLKHSTAT_REJECT
      - name: CURLKHSTAT_FINE
      - name: CURLKHSTAT_LAST
      item_type: enum
      name: curl_khstat
      pos:
        line_end: 891
        line_start: 882
        source_file: /src/curl/include/curl/curl.h
    - enumerators:
      - name: CURLKHMATCH_OK
      - name: CURLKHMATCH_MISSING
      - name: CURLKHMATCH_LAST
      - name: CURLKHMATCH_MISMATCH
      item_type: enum
      name: curl_khmatch
      pos:
        line_end: 899
        line_start: 894
        source_file: /src/curl/include/curl/curl.h
    - enumerators:
      - name: CURL_NETRC_LAST
        value: '3'
      item_type: enum
      name: CURL_NETRC_OPTION
      pos:
        line_end: 2364
        line_start: 2360
        source_file: /src/curl/include/curl/curl.h
    - enumerators:
      - name: CURL_TLSAUTH_LAST
        value: '2'
      item_type: enum
      name: CURL_TLSAUTH
      pos:
        line_end: 2394
        line_start: 2390
        source_file: /src/curl/include/curl/curl.h
    preproc_defs:
    - item_type: preproc_def
      name: CURL_EXTERN
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl/include/curl/curl.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: CURL_EXTERN
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/curl/include/curl/curl.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: CURL_EXTERN
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURL_EXTERN_SYMBOL
    - item_type: preproc_def
      name: CURL_SOCKET_BAD
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/curl/include/curl/curl.h
      type_or_value: INVALID_SOCKET
    - item_type: preproc_def
      name: CURL_SOCKET_BAD
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: CURLSSLBACKEND_AWSLC
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_OPENSSL
    - item_type: preproc_def
      name: CURLSSLBACKEND_BORINGSSL
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_OPENSSL
    - item_type: preproc_def
      name: CURLSSLBACKEND_LIBRESSL
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_OPENSSL
    - item_type: preproc_def
      name: CURLSSLBACKEND_CYASSL
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_WOLFSSL
    - item_type: preproc_def
      name: CURLSSLBACKEND_DARWINSSL
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLSSLBACKEND_SECURETRANSPORT
    - item_type: preproc_def
      name: CURLFOLLOW_ALL
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFOLLOW_OBEYCODE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURLFOLLOW_FIRSTONLY
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 3L
    - item_type: preproc_def
      name: CURL_HTTPPOST_FILENAME
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURL_HTTPPOST_READFILE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURL_HTTPPOST_PTRNAME
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURL_HTTPPOST_PTRCONTENTS
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: CURL_HTTPPOST_BUFFER
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: CURL_HTTPPOST_PTRBUFFER
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: CURL_HTTPPOST_CALLBACK
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: CURL_HTTPPOST_LARGE
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: CURL_PROGRESSFUNC_CONTINUE
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x10000001'
    - item_type: preproc_def
      name: CURL_MAX_READ_SIZE
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (10*1024*1024)
    - item_type: preproc_def
      name: CURL_MAX_WRITE_SIZE
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: CURL_MAX_HTTP_HEADER
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (100*1024)
    - item_type: preproc_def
      name: CURL_WRITEFUNC_PAUSE
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x10000001'
    - item_type: preproc_def
      name: CURL_WRITEFUNC_ERROR
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0xFFFFFFFF'
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_FILENAME
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_FILETYPE
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_TIME
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_PERM
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_UID
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_GID
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_SIZE
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: CURLFINFOFLAG_KNOWN_HLINKCOUNT
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: CURL_CHUNK_BGN_FUNC_OK
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_CHUNK_BGN_FUNC_FAIL
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_CHUNK_BGN_FUNC_SKIP
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURL_CHUNK_END_FUNC_OK
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_CHUNK_END_FUNC_FAIL
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_FNMATCHFUNC_MATCH
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: CURL_FNMATCHFUNC_NOMATCH
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_FNMATCHFUNC_FAIL
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURL_SEEKFUNC_OK
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_SEEKFUNC_FAIL
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_SEEKFUNC_CANTSEEK
      pos:
        line_end: 384
        line_start: 382
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURL_READFUNC_ABORT
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x10000000'
    - item_type: preproc_def
      name: CURL_READFUNC_PAUSE
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x10000001'
    - item_type: preproc_def
      name: CURL_TRAILERFUNC_OK
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_TRAILERFUNC_ABORT
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_SOCKOPT_OK
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_SOCKOPT_ERROR
      pos:
        line_end: 421
        line_start: 419
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CURL_SOCKOPT_ALREADY_CONNECTED
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_PREREQFUNC_OK
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_PREREQFUNC_ABORT
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURLE_FUNCTION_NOT_FOUND
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE41
    - item_type: preproc_def
      name: CURLE_HTTP_POST_ERROR
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE34
    - item_type: preproc_def
      name: CURLE_OBSOLETE16
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_HTTP2
    - item_type: preproc_def
      name: CURLE_OBSOLETE10
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_FTP_ACCEPT_FAILED
    - item_type: preproc_def
      name: CURLE_OBSOLETE12
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_FTP_ACCEPT_TIMEOUT
    - item_type: preproc_def
      name: CURLOPT_ENCODING
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_ACCEPT_ENCODING
    - item_type: preproc_def
      name: CURLE_FTP_WEIRD_SERVER_REPLY
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_WEIRD_SERVER_REPLY
    - item_type: preproc_def
      name: CURLE_SSL_CACERT
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_PEER_FAILED_VERIFICATION
    - item_type: preproc_def
      name: CURLE_UNKNOWN_TELNET_OPTION
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_UNKNOWN_OPTION
    - item_type: preproc_def
      name: CURLE_TELNET_OPTION_SYNTAX
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_SETOPT_OPTION_SYNTAX
    - item_type: preproc_def
      name: CURLE_SSL_PEER_CERTIFICATE
      pos:
        line_end: 682
        line_start: 681
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_PEER_FAILED_VERIFICATION
    - item_type: preproc_def
      name: CURLE_OBSOLETE
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 'CURLE_OBSOLETE50 '
    - item_type: preproc_def
      name: CURLE_BAD_PASSWORD_ENTERED
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE46
    - item_type: preproc_def
      name: CURLE_BAD_CALLING_ORDER
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE44
    - item_type: preproc_def
      name: CURLE_FTP_USER_PASSWORD_INCORRECT
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE10
    - item_type: preproc_def
      name: CURLE_FTP_CANT_RECONNECT
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE16
    - item_type: preproc_def
      name: CURLE_FTP_COULDNT_GET_SIZE
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE32
    - item_type: preproc_def
      name: CURLE_FTP_COULDNT_SET_ASCII
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE29
    - item_type: preproc_def
      name: CURLE_FTP_WEIRD_USER_REPLY
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE12
    - item_type: preproc_def
      name: CURLE_FTP_WRITE_ERROR
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE20
    - item_type: preproc_def
      name: CURLE_LIBRARY_NOT_FOUND
      pos:
        line_end: 695
        line_start: 694
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE40
    - item_type: preproc_def
      name: CURLE_MALFORMAT_USER
      pos:
        line_end: 696
        line_start: 695
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE24
    - item_type: preproc_def
      name: CURLE_SHARE_IN_USE
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE57
    - item_type: preproc_def
      name: CURLE_URL_MALFORMAT_USER
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_NOT_BUILT_IN
    - item_type: preproc_def
      name: CURLE_FTP_ACCESS_DENIED
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_REMOTE_ACCESS_DENIED
    - item_type: preproc_def
      name: CURLE_FTP_COULDNT_SET_BINARY
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_FTP_COULDNT_SET_TYPE
    - item_type: preproc_def
      name: CURLE_FTP_QUOTE_ERROR
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_QUOTE_ERROR
    - item_type: preproc_def
      name: CURLE_TFTP_DISKFULL
      pos:
        line_end: 703
        line_start: 702
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_REMOTE_DISK_FULL
    - item_type: preproc_def
      name: CURLE_TFTP_EXISTS
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_REMOTE_FILE_EXISTS
    - item_type: preproc_def
      name: CURLE_HTTP_RANGE_ERROR
      pos:
        line_end: 705
        line_start: 704
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_RANGE_ERROR
    - item_type: preproc_def
      name: CURLE_FTP_SSL_FAILED
      pos:
        line_end: 706
        line_start: 705
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_USE_SSL_FAILED
    - item_type: preproc_def
      name: CURLE_OPERATION_TIMEOUTED
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OPERATION_TIMEDOUT
    - item_type: preproc_def
      name: CURLE_HTTP_NOT_FOUND
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_HTTP_RETURNED_ERROR
    - item_type: preproc_def
      name: CURLE_HTTP_PORT_FAILED
      pos:
        line_end: 712
        line_start: 711
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_INTERFACE_FAILED
    - item_type: preproc_def
      name: CURLE_FTP_COULDNT_STOR_FILE
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_UPLOAD_FAILED
    - item_type: preproc_def
      name: CURLE_FTP_PARTIAL_FILE
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_PARTIAL_FILE
    - item_type: preproc_def
      name: CURLE_FTP_BAD_DOWNLOAD_RESUME
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_BAD_DOWNLOAD_RESUME
    - item_type: preproc_def
      name: CURLE_LDAP_INVALID_URL
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE62
    - item_type: preproc_def
      name: CURLE_CONV_REQD
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE76
    - item_type: preproc_def
      name: CURLE_CONV_FAILED
      pos:
        line_end: 718
        line_start: 717
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLE_OBSOLETE75
    - item_type: preproc_def
      name: CURLE_ALREADY_COMPLETE
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '99999'
    - item_type: preproc_def
      name: CURLOPT_FILE
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 'CURLOPT_WRITEDATA '
    - item_type: preproc_def
      name: CURLOPT_INFILE
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 'CURLOPT_READDATA '
    - item_type: preproc_def
      name: CURLOPT_WRITEHEADER
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_HEADERDATA
    - item_type: preproc_def
      name: CURLOPT_WRITEINFO
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_OBSOLETE40
    - item_type: preproc_def
      name: CURLOPT_CLOSEPOLICY
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_OBSOLETE72
    - item_type: preproc_def
      name: CURLOPT_OBSOLETE72
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '9999'
    - item_type: preproc_def
      name: CURLOPT_OBSOLETE40
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '9999'
    - item_type: preproc_def
      name: CURLPROXY_HTTP
      pos:
        line_end: 792
        line_start: 790
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLPROXY_HTTP_1_0
      pos:
        line_end: 794
        line_start: 792
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLPROXY_HTTPS
      pos:
        line_end: 796
        line_start: 794
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLPROXY_HTTPS2
      pos:
        line_end: 798
        line_start: 796
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '3L '
    - item_type: preproc_def
      name: CURLPROXY_SOCKS4
      pos:
        line_end: 800
        line_start: 798
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '4L '
    - item_type: preproc_def
      name: CURLPROXY_SOCKS5
      pos:
        line_end: 801
        line_start: 800
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '5L '
    - item_type: preproc_def
      name: CURLPROXY_SOCKS4A
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '6L '
    - item_type: preproc_def
      name: CURLPROXY_SOCKS5_HOSTNAME
      pos:
        line_end: 805
        line_start: 802
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '7L '
    - item_type: preproc_def
      name: CURLAUTH_NONE
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/curl/include/curl/curl.h
      type_or_value: ((unsigned long)0)
    - item_type: preproc_def
      name: CURLAUTH_BASIC
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<0)
    - item_type: preproc_def
      name: CURLAUTH_DIGEST
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<1)
    - item_type: preproc_def
      name: CURLAUTH_NEGOTIATE
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<2)
    - item_type: preproc_def
      name: CURLAUTH_GSSNEGOTIATE
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLAUTH_NEGOTIATE
    - item_type: preproc_def
      name: CURLAUTH_GSSAPI
      pos:
        line_end: 836
        line_start: 835
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLAUTH_NEGOTIATE
    - item_type: preproc_def
      name: CURLAUTH_NTLM
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<3)
    - item_type: preproc_def
      name: CURLAUTH_DIGEST_IE
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<4)
    - item_type: preproc_def
      name: CURLAUTH_NTLM_WB
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<5)
    - item_type: preproc_def
      name: CURLAUTH_BEARER
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<6)
    - item_type: preproc_def
      name: CURLAUTH_AWS_SIGV4
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<7)
    - item_type: preproc_def
      name: CURLAUTH_ONLY
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (((unsigned long)1)<<31)
    - item_type: preproc_def
      name: CURLAUTH_ANY
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (~CURLAUTH_DIGEST_IE)
    - item_type: preproc_def
      name: CURLAUTH_ANYSAFE
      pos:
        line_end: 847
        line_start: 846
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))
    - item_type: preproc_def
      name: CURLSSH_AUTH_ANY
      pos:
        line_end: 849
        line_start: 848
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '~0L     '
    - item_type: preproc_def
      name: CURLSSH_AUTH_NONE
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L      '
    - item_type: preproc_def
      name: CURLSSH_AUTH_PUBLICKEY
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1L<<0) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_PASSWORD
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1L<<1) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_HOST
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1L<<2) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_KEYBOARD
      pos:
        line_end: 854
        line_start: 853
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1L<<3) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_AGENT
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1L<<4) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_GSSAPI
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1L<<5) '
    - item_type: preproc_def
      name: CURLSSH_AUTH_DEFAULT
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLSSH_AUTH_ANY
    - item_type: preproc_def
      name: CURLGSSAPI_DELEGATION_NONE
      pos:
        line_end: 859
        line_start: 858
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L      '
    - item_type: preproc_def
      name: CURLGSSAPI_DELEGATION_POLICY_FLAG
      pos:
        line_end: 860
        line_start: 859
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1L<<0) '
    - item_type: preproc_def
      name: CURLGSSAPI_DELEGATION_FLAG
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1L<<1) '
    - item_type: preproc_def
      name: CURL_ERROR_SIZE
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '256'
    - item_type: preproc_def
      name: CURLUSESSL_NONE
      pos:
        line_end: 921
        line_start: 920
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLUSESSL_TRY
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLUSESSL_CONTROL
      pos:
        line_end: 923
        line_start: 922
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLUSESSL_ALL
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '3L '
    - item_type: preproc_def
      name: CURLSSLOPT_ALLOW_BEAST
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLSSLOPT_NO_REVOKE
      pos:
        line_end: 941
        line_start: 940
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<1)
    - item_type: preproc_def
      name: CURLSSLOPT_NO_PARTIALCHAIN
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<2)
    - item_type: preproc_def
      name: CURLSSLOPT_REVOKE_BEST_EFFORT
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<3)
    - item_type: preproc_def
      name: CURLSSLOPT_NATIVE_CA
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<4)
    - item_type: preproc_def
      name: CURLSSLOPT_AUTO_CLIENT_CERT
      pos:
        line_end: 958
        line_start: 957
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<5)
    - item_type: preproc_def
      name: CURLSSLOPT_EARLYDATA
      pos:
        line_end: 961
        line_start: 960
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<6)
    - item_type: preproc_def
      name: CURL_HET_DEFAULT
      pos:
        line_end: 966
        line_start: 965
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 200L
    - item_type: preproc_def
      name: CURL_UPKEEP_INTERVAL_DEFAULT
      pos:
        line_end: 969
        line_start: 968
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 60000L
    - item_type: preproc_def
      name: CURLFTPSSL_NONE
      pos:
        line_end: 977
        line_start: 976
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_NONE
    - item_type: preproc_def
      name: CURLFTPSSL_TRY
      pos:
        line_end: 978
        line_start: 977
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_TRY
    - item_type: preproc_def
      name: CURLFTPSSL_CONTROL
      pos:
        line_end: 979
        line_start: 978
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_CONTROL
    - item_type: preproc_def
      name: CURLFTPSSL_ALL
      pos:
        line_end: 980
        line_start: 979
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_ALL
    - item_type: preproc_def
      name: CURLFTPSSL_LAST
      pos:
        line_end: 981
        line_start: 980
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLUSESSL_LAST
    - item_type: preproc_def
      name: curl_ftpssl
      pos:
        line_end: 982
        line_start: 981
        source_file: /src/curl/include/curl/curl.h
      type_or_value: curl_usessl
    - item_type: preproc_def
      name: CURLFTPSSL_CCC_NONE
      pos:
        line_end: 986
        line_start: 985
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLFTPSSL_CCC_PASSIVE
      pos:
        line_end: 987
        line_start: 986
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFTPSSL_CCC_ACTIVE
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLFTPAUTH_DEFAULT
      pos:
        line_end: 995
        line_start: 994
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLFTPAUTH_SSL
      pos:
        line_end: 996
        line_start: 995
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFTPAUTH_TLS
      pos:
        line_end: 997
        line_start: 996
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLFTP_CREATE_DIR_NONE
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLFTP_CREATE_DIR
      pos:
        line_end: 1007
        line_start: 1004
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFTP_CREATE_DIR_RETRY
      pos:
        line_end: 1009
        line_start: 1007
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLFTPMETHOD_DEFAULT
      pos:
        line_end: 1016
        line_start: 1015
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURLFTPMETHOD_MULTICWD
      pos:
        line_end: 1018
        line_start: 1016
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURLFTPMETHOD_NOCWD
      pos:
        line_end: 1019
        line_start: 1018
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLFTPMETHOD_SINGLECWD
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '3L '
    - item_type: preproc_def
      name: CURLHEADER_UNIFIED
      pos:
        line_end: 1027
        line_start: 1026
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURLHEADER_SEPARATE
      pos:
        line_end: 1028
        line_start: 1027
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLALTSVC_READONLYFILE
      pos:
        line_end: 1031
        line_start: 1030
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<2)
    - item_type: preproc_def
      name: CURLALTSVC_H1
      pos:
        line_end: 1032
        line_start: 1031
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<3)
    - item_type: preproc_def
      name: CURLALTSVC_H2
      pos:
        line_end: 1033
        line_start: 1032
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<4)
    - item_type: preproc_def
      name: CURLALTSVC_H3
      pos:
        line_end: 1034
        line_start: 1033
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<5)
    - item_type: preproc_def
      name: CURLULFLAG_ANSWERED
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLULFLAG_DELETED
      pos:
        line_end: 1038
        line_start: 1037
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<1)
    - item_type: preproc_def
      name: CURLULFLAG_DRAFT
      pos:
        line_end: 1039
        line_start: 1038
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<2)
    - item_type: preproc_def
      name: CURLULFLAG_FLAGGED
      pos:
        line_end: 1040
        line_start: 1039
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<3)
    - item_type: preproc_def
      name: CURLULFLAG_SEEN
      pos:
        line_end: 1041
        line_start: 1040
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<4)
    - item_type: preproc_def
      name: CURLHSTS_ENABLE
      pos:
        line_end: 1070
        line_start: 1069
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLHSTS_READONLYFILE
      pos:
        line_end: 1071
        line_start: 1070
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<1)
    - item_type: preproc_def
      name: CURLPROTO_HTTP
      pos:
        line_end: 1075
        line_start: 1074
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLPROTO_HTTPS
      pos:
        line_end: 1076
        line_start: 1075
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<1)
    - item_type: preproc_def
      name: CURLPROTO_FTP
      pos:
        line_end: 1077
        line_start: 1076
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<2)
    - item_type: preproc_def
      name: CURLPROTO_FTPS
      pos:
        line_end: 1078
        line_start: 1077
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<3)
    - item_type: preproc_def
      name: CURLPROTO_SCP
      pos:
        line_end: 1079
        line_start: 1078
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<4)
    - item_type: preproc_def
      name: CURLPROTO_SFTP
      pos:
        line_end: 1080
        line_start: 1079
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<5)
    - item_type: preproc_def
      name: CURLPROTO_TELNET
      pos:
        line_end: 1081
        line_start: 1080
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<6)
    - item_type: preproc_def
      name: CURLPROTO_LDAP
      pos:
        line_end: 1082
        line_start: 1081
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<7)
    - item_type: preproc_def
      name: CURLPROTO_LDAPS
      pos:
        line_end: 1083
        line_start: 1082
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<8)
    - item_type: preproc_def
      name: CURLPROTO_DICT
      pos:
        line_end: 1084
        line_start: 1083
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<9)
    - item_type: preproc_def
      name: CURLPROTO_FILE
      pos:
        line_end: 1085
        line_start: 1084
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<10)
    - item_type: preproc_def
      name: CURLPROTO_TFTP
      pos:
        line_end: 1086
        line_start: 1085
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<11)
    - item_type: preproc_def
      name: CURLPROTO_IMAP
      pos:
        line_end: 1087
        line_start: 1086
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<12)
    - item_type: preproc_def
      name: CURLPROTO_IMAPS
      pos:
        line_end: 1088
        line_start: 1087
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<13)
    - item_type: preproc_def
      name: CURLPROTO_POP3
      pos:
        line_end: 1089
        line_start: 1088
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<14)
    - item_type: preproc_def
      name: CURLPROTO_POP3S
      pos:
        line_end: 1090
        line_start: 1089
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<15)
    - item_type: preproc_def
      name: CURLPROTO_SMTP
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<16)
    - item_type: preproc_def
      name: CURLPROTO_SMTPS
      pos:
        line_end: 1092
        line_start: 1091
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<17)
    - item_type: preproc_def
      name: CURLPROTO_RTSP
      pos:
        line_end: 1093
        line_start: 1092
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<18)
    - item_type: preproc_def
      name: CURLPROTO_RTMP
      pos:
        line_end: 1094
        line_start: 1093
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<19)
    - item_type: preproc_def
      name: CURLPROTO_RTMPT
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<20)
    - item_type: preproc_def
      name: CURLPROTO_RTMPE
      pos:
        line_end: 1096
        line_start: 1095
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<21)
    - item_type: preproc_def
      name: CURLPROTO_RTMPTE
      pos:
        line_end: 1097
        line_start: 1096
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<22)
    - item_type: preproc_def
      name: CURLPROTO_RTMPS
      pos:
        line_end: 1098
        line_start: 1097
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<23)
    - item_type: preproc_def
      name: CURLPROTO_RTMPTS
      pos:
        line_end: 1099
        line_start: 1098
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<24)
    - item_type: preproc_def
      name: CURLPROTO_GOPHER
      pos:
        line_end: 1100
        line_start: 1099
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<25)
    - item_type: preproc_def
      name: CURLPROTO_SMB
      pos:
        line_end: 1101
        line_start: 1100
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<26)
    - item_type: preproc_def
      name: CURLPROTO_SMBS
      pos:
        line_end: 1102
        line_start: 1101
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<27)
    - item_type: preproc_def
      name: CURLPROTO_MQTT
      pos:
        line_end: 1103
        line_start: 1102
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<28)
    - item_type: preproc_def
      name: CURLPROTO_GOPHERS
      pos:
        line_end: 1104
        line_start: 1103
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1L<<29)
    - item_type: preproc_def
      name: CURLPROTO_ALL
      pos:
        line_end: 1105
        line_start: 1104
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(~0L) '
    - item_type: preproc_def
      name: CURLOPTTYPE_LONG
      pos:
        line_end: 1109
        line_start: 1108
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURLOPTTYPE_OBJECTPOINT
      pos:
        line_end: 1110
        line_start: 1109
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '10000'
    - item_type: preproc_def
      name: CURLOPTTYPE_FUNCTIONPOINT
      pos:
        line_end: 1111
        line_start: 1110
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '20000'
    - item_type: preproc_def
      name: CURLOPTTYPE_OFF_T
      pos:
        line_end: 1112
        line_start: 1111
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '30000'
    - item_type: preproc_def
      name: CURLOPTTYPE_BLOB
      pos:
        line_end: 1113
        line_start: 1112
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '40000'
    - item_type: preproc_def
      name: CURLOPTTYPE_STRINGPOINT
      pos:
        line_end: 1125
        line_start: 1124
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPTTYPE_OBJECTPOINT
    - item_type: preproc_def
      name: CURLOPTTYPE_SLISTPOINT
      pos:
        line_end: 1128
        line_start: 1127
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPTTYPE_OBJECTPOINT
    - item_type: preproc_def
      name: CURLOPTTYPE_CBPOINT
      pos:
        line_end: 1131
        line_start: 1130
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPTTYPE_OBJECTPOINT
    - item_type: preproc_def
      name: CURLOPTTYPE_VALUES
      pos:
        line_end: 1134
        line_start: 1133
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPTTYPE_LONG
    - item_type: preproc_def
      name: CURLOPT_POST301
      pos:
        line_end: 2272
        line_start: 2271
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_POSTREDIR
    - item_type: preproc_def
      name: CURLOPT_SSLKEYPASSWD
      pos:
        line_end: 2277
        line_start: 2276
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_KEYPASSWD
    - item_type: preproc_def
      name: CURLOPT_FTPAPPEND
      pos:
        line_end: 2278
        line_start: 2277
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_APPEND
    - item_type: preproc_def
      name: CURLOPT_FTPLISTONLY
      pos:
        line_end: 2279
        line_start: 2278
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_DIRLISTONLY
    - item_type: preproc_def
      name: CURLOPT_FTP_SSL
      pos:
        line_end: 2280
        line_start: 2279
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_USE_SSL
    - item_type: preproc_def
      name: CURLOPT_SSLCERTPASSWD
      pos:
        line_end: 2284
        line_start: 2283
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_KEYPASSWD
    - item_type: preproc_def
      name: CURLOPT_KRB4LEVEL
      pos:
        line_end: 2285
        line_start: 2284
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_KRBLEVEL
    - item_type: preproc_def
      name: CURLOPT_FTP_RESPONSE_TIMEOUT
      pos:
        line_end: 2288
        line_start: 2287
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_SERVER_RESPONSE_TIMEOUT
    - item_type: preproc_def
      name: CURLOPT_MAIL_RCPT_ALLLOWFAILS
      pos:
        line_end: 2291
        line_start: 2290
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_MAIL_RCPT_ALLOWFAILS
    - item_type: preproc_def
      name: CURL_IPRESOLVE_WHATEVER
      pos:
        line_end: 2303
        line_start: 2301
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURL_IPRESOLVE_V4
      pos:
        line_end: 2304
        line_start: 2303
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURL_IPRESOLVE_V6
      pos:
        line_end: 2305
        line_start: 2304
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURLOPT_RTSPHEADER
      pos:
        line_end: 2308
        line_start: 2307
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLOPT_HTTPHEADER
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_NONE
      pos:
        line_end: 2313
        line_start: 2310
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_1_0
      pos:
        line_end: 2314
        line_start: 2313
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_1_1
      pos:
        line_end: 2315
        line_start: 2314
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_2_0
      pos:
        line_end: 2316
        line_start: 2315
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '3L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_2TLS
      pos:
        line_end: 2318
        line_start: 2316
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '4L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE
      pos:
        line_end: 2320
        line_start: 2318
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '5L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_3
      pos:
        line_end: 2324
        line_start: 2320
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '30L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_3ONLY
      pos:
        line_end: 2327
        line_start: 2324
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '31L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_LAST
      pos:
        line_end: 2328
        line_start: 2327
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '32L '
    - item_type: preproc_def
      name: CURL_HTTP_VERSION_2
      pos:
        line_end: 2333
        line_start: 2332
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURL_HTTP_VERSION_2_0
    - item_type: preproc_def
      name: CURL_RTSPREQ_NONE
      pos:
        line_end: 2339
        line_start: 2338
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_RTSPREQ_OPTIONS
      pos:
        line_end: 2340
        line_start: 2339
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURL_RTSPREQ_DESCRIBE
      pos:
        line_end: 2341
        line_start: 2340
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_RTSPREQ_ANNOUNCE
      pos:
        line_end: 2342
        line_start: 2341
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 3L
    - item_type: preproc_def
      name: CURL_RTSPREQ_SETUP
      pos:
        line_end: 2343
        line_start: 2342
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 4L
    - item_type: preproc_def
      name: CURL_RTSPREQ_PLAY
      pos:
        line_end: 2344
        line_start: 2343
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 5L
    - item_type: preproc_def
      name: CURL_RTSPREQ_PAUSE
      pos:
        line_end: 2345
        line_start: 2344
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 6L
    - item_type: preproc_def
      name: CURL_RTSPREQ_TEARDOWN
      pos:
        line_end: 2346
        line_start: 2345
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 7L
    - item_type: preproc_def
      name: CURL_RTSPREQ_GET_PARAMETER
      pos:
        line_end: 2347
        line_start: 2346
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 8L
    - item_type: preproc_def
      name: CURL_RTSPREQ_SET_PARAMETER
      pos:
        line_end: 2348
        line_start: 2347
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 9L
    - item_type: preproc_def
      name: CURL_RTSPREQ_RECORD
      pos:
        line_end: 2349
        line_start: 2348
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 10L
    - item_type: preproc_def
      name: CURL_RTSPREQ_RECEIVE
      pos:
        line_end: 2350
        line_start: 2349
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 11L
    - item_type: preproc_def
      name: CURL_RTSPREQ_LAST
      pos:
        line_end: 2351
        line_start: 2350
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '12L '
    - item_type: preproc_def
      name: CURL_NETRC_IGNORED
      pos:
        line_end: 2355
        line_start: 2353
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0L '
    - item_type: preproc_def
      name: CURL_NETRC_OPTIONAL
      pos:
        line_end: 2357
        line_start: 2355
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURL_NETRC_REQUIRED
      pos:
        line_end: 2360
        line_start: 2357
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '2L '
    - item_type: preproc_def
      name: CURL_SSLVERSION_DEFAULT
      pos:
        line_end: 2367
        line_start: 2366
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1
      pos:
        line_end: 2368
        line_start: 2367
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '1L '
    - item_type: preproc_def
      name: CURL_SSLVERSION_SSLv2
      pos:
        line_end: 2369
        line_start: 2368
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_SSLVERSION_SSLv3
      pos:
        line_end: 2370
        line_start: 2369
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 3L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1_0
      pos:
        line_end: 2371
        line_start: 2370
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 4L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1_1
      pos:
        line_end: 2372
        line_start: 2371
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 5L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1_2
      pos:
        line_end: 2373
        line_start: 2372
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 6L
    - item_type: preproc_def
      name: CURL_SSLVERSION_TLSv1_3
      pos:
        line_end: 2374
        line_start: 2373
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 7L
    - item_type: preproc_def
      name: CURL_SSLVERSION_LAST
      pos:
        line_end: 2376
        line_start: 2375
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '8L '
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_NONE
      pos:
        line_end: 2378
        line_start: 2377
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_DEFAULT
      pos:
        line_end: 2379
        line_start: 2378
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1   << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_TLSv1_0
      pos:
        line_end: 2380
        line_start: 2379
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1_0 << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_TLSv1_1
      pos:
        line_end: 2381
        line_start: 2380
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1_1 << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_TLSv1_2
      pos:
        line_end: 2382
        line_start: 2381
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1_2 << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_TLSv1_3
      pos:
        line_end: 2383
        line_start: 2382
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_TLSv1_3 << 16)
    - item_type: preproc_def
      name: CURL_SSLVERSION_MAX_LAST
      pos:
        line_end: 2386
        line_start: 2385
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURL_SSLVERSION_LAST    << 16)
    - item_type: preproc_def
      name: CURL_TLSAUTH_NONE
      pos:
        line_end: 2388
        line_start: 2387
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_TLSAUTH_SRP
      pos:
        line_end: 2389
        line_start: 2388
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURL_REDIR_GET_ALL
      pos:
        line_end: 2402
        line_start: 2401
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_REDIR_POST_301
      pos:
        line_end: 2403
        line_start: 2402
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURL_REDIR_POST_302
      pos:
        line_end: 2404
        line_start: 2403
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_REDIR_POST_303
      pos:
        line_end: 2405
        line_start: 2404
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 4L
    - item_type: preproc_def
      name: CURL_REDIR_POST_ALL
      pos:
        line_end: 2407
        line_start: 2405
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303)
    - item_type: preproc_def
      name: CURL_TIMECOND_NONE
      pos:
        line_end: 2409
        line_start: 2408
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURL_TIMECOND_IFMODSINCE
      pos:
        line_end: 2410
        line_start: 2409
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURL_TIMECOND_IFUNMODSINCE
      pos:
        line_end: 2411
        line_start: 2410
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_TIMECOND_LASTMOD
      pos:
        line_end: 2412
        line_start: 2411
        source_file: /src/curl/include/curl/curl.h
      type_or_value: 3L
    - item_type: preproc_def
      name: CURL_ZERO_TERMINATED
      pos:
        line_end: 2422
        line_start: 2421
        source_file: /src/curl/include/curl/curl.h
      type_or_value: ((size_t) -1)
    - item_type: preproc_def
      name: CURLMIMEOPT_FORMESCAPE
      pos:
        line_end: 2434
        line_start: 2433
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1L<<0) '
    - item_type: preproc_def
      name: CURLINFO_STRING
      pos:
        line_end: 2895
        line_start: 2894
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x100000'
    - item_type: preproc_def
      name: CURLINFO_LONG
      pos:
        line_end: 2896
        line_start: 2895
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x200000'
    - item_type: preproc_def
      name: CURLINFO_DOUBLE
      pos:
        line_end: 2897
        line_start: 2896
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x300000'
    - item_type: preproc_def
      name: CURLINFO_SLIST
      pos:
        line_end: 2898
        line_start: 2897
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x400000'
    - item_type: preproc_def
      name: CURLINFO_PTR
      pos:
        line_end: 2899
        line_start: 2898
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x400000 '
    - item_type: preproc_def
      name: CURLINFO_SOCKET
      pos:
        line_end: 2900
        line_start: 2899
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x500000'
    - item_type: preproc_def
      name: CURLINFO_OFF_T
      pos:
        line_end: 2901
        line_start: 2900
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x600000'
    - item_type: preproc_def
      name: CURLINFO_MASK
      pos:
        line_end: 2902
        line_start: 2901
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0x0fffff'
    - item_type: preproc_def
      name: CURLINFO_TYPEMASK
      pos:
        line_end: 2903
        line_start: 2902
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0xf00000'
    - item_type: preproc_def
      name: CURLINFO_HTTP_CODE
      pos:
        line_end: 3005
        line_start: 3004
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLINFO_RESPONSE_CODE
    - item_type: preproc_def
      name: CURL_GLOBAL_SSL
      pos:
        line_end: 3019
        line_start: 3018
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<0) '
    - item_type: preproc_def
      name: CURL_GLOBAL_WIN32
      pos:
        line_end: 3020
        line_start: 3019
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURL_GLOBAL_ALL
      pos:
        line_end: 3021
        line_start: 3020
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32)
    - item_type: preproc_def
      name: CURL_GLOBAL_NOTHING
      pos:
        line_end: 3022
        line_start: 3021
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_GLOBAL_DEFAULT
      pos:
        line_end: 3023
        line_start: 3022
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURL_GLOBAL_ALL
    - item_type: preproc_def
      name: CURL_GLOBAL_ACK_EINTR
      pos:
        line_end: 3024
        line_start: 3023
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLVERSION_NOW
      pos:
        line_end: 3116
        line_start: 3115
        source_file: /src/curl/include/curl/curl.h
      type_or_value: CURLVERSION_TWELFTH
    - item_type: preproc_def
      name: CURL_VERSION_IPV6
      pos:
        line_end: 3182
        line_start: 3181
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<0)  '
    - item_type: preproc_def
      name: CURL_VERSION_KERBEROS4
      pos:
        line_end: 3184
        line_start: 3182
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<1)  '
    - item_type: preproc_def
      name: CURL_VERSION_SSL
      pos:
        line_end: 3185
        line_start: 3184
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<2)  '
    - item_type: preproc_def
      name: CURL_VERSION_LIBZ
      pos:
        line_end: 3186
        line_start: 3185
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<3)  '
    - item_type: preproc_def
      name: CURL_VERSION_NTLM
      pos:
        line_end: 3187
        line_start: 3186
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<4)  '
    - item_type: preproc_def
      name: CURL_VERSION_GSSNEGOTIATE
      pos:
        line_end: 3189
        line_start: 3187
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<5)  '
    - item_type: preproc_def
      name: CURL_VERSION_DEBUG
      pos:
        line_end: 3190
        line_start: 3189
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<6)  '
    - item_type: preproc_def
      name: CURL_VERSION_ASYNCHDNS
      pos:
        line_end: 3191
        line_start: 3190
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<7)  '
    - item_type: preproc_def
      name: CURL_VERSION_SPNEGO
      pos:
        line_end: 3192
        line_start: 3191
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<8)  '
    - item_type: preproc_def
      name: CURL_VERSION_LARGEFILE
      pos:
        line_end: 3193
        line_start: 3192
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<9)  '
    - item_type: preproc_def
      name: CURL_VERSION_IDN
      pos:
        line_end: 3195
        line_start: 3193
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<10) '
    - item_type: preproc_def
      name: CURL_VERSION_SSPI
      pos:
        line_end: 3196
        line_start: 3195
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<11) '
    - item_type: preproc_def
      name: CURL_VERSION_CONV
      pos:
        line_end: 3197
        line_start: 3196
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<12) '
    - item_type: preproc_def
      name: CURL_VERSION_CURLDEBUG
      pos:
        line_end: 3198
        line_start: 3197
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<13) '
    - item_type: preproc_def
      name: CURL_VERSION_TLSAUTH_SRP
      pos:
        line_end: 3199
        line_start: 3198
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<14) '
    - item_type: preproc_def
      name: CURL_VERSION_NTLM_WB
      pos:
        line_end: 3201
        line_start: 3199
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<15) '
    - item_type: preproc_def
      name: CURL_VERSION_HTTP2
      pos:
        line_end: 3202
        line_start: 3201
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<16) '
    - item_type: preproc_def
      name: CURL_VERSION_GSSAPI
      pos:
        line_end: 3203
        line_start: 3202
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<17) '
    - item_type: preproc_def
      name: CURL_VERSION_KERBEROS5
      pos:
        line_end: 3204
        line_start: 3203
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<18) '
    - item_type: preproc_def
      name: CURL_VERSION_UNIX_SOCKETS
      pos:
        line_end: 3205
        line_start: 3204
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<19) '
    - item_type: preproc_def
      name: CURL_VERSION_PSL
      pos:
        line_end: 3207
        line_start: 3205
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<20) '
    - item_type: preproc_def
      name: CURL_VERSION_HTTPS_PROXY
      pos:
        line_end: 3208
        line_start: 3207
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<21) '
    - item_type: preproc_def
      name: CURL_VERSION_MULTI_SSL
      pos:
        line_end: 3209
        line_start: 3208
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<22) '
    - item_type: preproc_def
      name: CURL_VERSION_BROTLI
      pos:
        line_end: 3210
        line_start: 3209
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<23) '
    - item_type: preproc_def
      name: CURL_VERSION_ALTSVC
      pos:
        line_end: 3211
        line_start: 3210
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<24) '
    - item_type: preproc_def
      name: CURL_VERSION_HTTP3
      pos:
        line_end: 3212
        line_start: 3211
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<25) '
    - item_type: preproc_def
      name: CURL_VERSION_ZSTD
      pos:
        line_end: 3213
        line_start: 3212
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<26) '
    - item_type: preproc_def
      name: CURL_VERSION_UNICODE
      pos:
        line_end: 3214
        line_start: 3213
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<27) '
    - item_type: preproc_def
      name: CURL_VERSION_HSTS
      pos:
        line_end: 3215
        line_start: 3214
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<28) '
    - item_type: preproc_def
      name: CURL_VERSION_GSASL
      pos:
        line_end: 3216
        line_start: 3215
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<29) '
    - item_type: preproc_def
      name: CURL_VERSION_THREADSAFE
      pos:
        line_end: 3217
        line_start: 3216
        source_file: /src/curl/include/curl/curl.h
      type_or_value: '(1<<30) '
    - item_type: preproc_def
      name: CURLPAUSE_RECV
      pos:
        line_end: 3262
        line_start: 3261
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURLPAUSE_RECV_CONT
      pos:
        line_end: 3263
        line_start: 3262
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (0)
    - item_type: preproc_def
      name: CURLPAUSE_SEND
      pos:
        line_end: 3265
        line_start: 3264
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLPAUSE_SEND_CONT
      pos:
        line_end: 3266
        line_start: 3265
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (0)
    - item_type: preproc_def
      name: CURLPAUSE_ALL
      pos:
        line_end: 3268
        line_start: 3267
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURLPAUSE_RECV|CURLPAUSE_SEND)
    - item_type: preproc_def
      name: CURLPAUSE_CONT
      pos:
        line_end: 3269
        line_start: 3268
        source_file: /src/curl/include/curl/curl.h
      type_or_value: (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT)
    structs:
    - fields:
      - name: '*next'
        type: struct curl_httppost
      - name: '*name'
        type: char
      - name: namelength
        type: long
      - name: '*contents'
        type: char
      - name: contentslength
        type: long
      - name: '*buffer'
        type: char
      - name: bufferlength
        type: long
      - name: '*contenttype'
        type: char
      - name: '*contentheader'
        type: struct curl_slist
      - name: '*more'
        type: struct curl_httppost
      - name: flags
        type: long
      - name: '*showfilename'
        type: char
      - name: '*userp'
        type: void
      - name: contentlen
        type: curl_off_t
      item_type: struct
      name: curl_httppost
      pos:
        line_end: 229
        line_start: 187
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: '*filename'
        type: char
      - name: filetype
        type: curlfiletype
      - name: time
        type: time_t
      - name: perm
        type: unsigned int
      - name: uid
        type: int
      - name: gid
        type: int
      - name: size
        type: curl_off_t
      - name: hardlinks
        type: long int
      - name: strings
        type: "struct {\n    /* If some of these fields is not NULL, it is a pointer
          to b_data. */\n    char *time;\n    char *perm;\n    char *user;\n    char
          *group;\n    char *target; /* pointer to the target filename of a symlink
          */\n  }"
      - name: flags
        type: unsigned int
      - name: '*b_data'
        type: char
      - name: b_size
        type: size_t
      - name: b_used
        type: size_t
      item_type: struct
      name: curl_fileinfo
      pos:
        line_end: 342
        line_start: 316
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: family
        type: int
      - name: socktype
        type: int
      - name: protocol
        type: int
      - name: addrlen
        type: unsigned int
      - name: addr
        type: struct sockaddr
      item_type: struct
      name: curl_sockaddr
      pos:
        line_end: 435
        line_start: 427
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: '*key'
        type: char
      - name: len
        type: size_t
      - name: keytype
        type: enum curl_khtype
      item_type: struct
      name: curl_khkey
      pos:
        line_end: 878
        line_start: 873
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: '*name'
        type: char
      - name: namelen
        type: size_t
      - name: includeSubDomains
        type: unsigned int
      - name: expire[18]
        type: char
      item_type: struct
      name: curl_hstsentry
      pos:
        line_end: 1047
        line_start: 1042
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: index
        type: size_t
      - name: total
        type: size_t
      item_type: struct
      name: curl_index
      pos:
        line_end: 1052
        line_start: 1049
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: option
        type: CURLformoption
      - name: '*value'
        type: char
      item_type: struct
      name: curl_forms
      pos:
        line_end: 2591
        line_start: 2588
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: '*data'
        type: char
      - name: '*next'
        type: struct curl_slist
      item_type: struct
      name: curl_slist
      pos:
        line_end: 2801
        line_start: 2798
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: id
        type: curl_sslbackend
      - name: '*name'
        type: char
      item_type: struct
      name: curl_ssl_backend
      pos:
        line_end: 2832
        line_start: 2829
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: num_of_certs
        type: int
      - name: '**certinfo'
        type: struct curl_slist
      item_type: struct
      name: curl_certinfo
      pos:
        line_end: 2884
        line_start: 2878
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: backend
        type: curl_sslbackend
      - name: '*internals'
        type: void
      item_type: struct
      name: curl_tlssessioninfo
      pos:
        line_end: 2892
        line_start: 2889
        source_file: /src/curl/include/curl/curl.h
    - fields:
      - name: age
        type: CURLversion
      - name: '*version'
        type: char
      - name: version_num
        type: unsigned int
      - name: '*host'
        type: char
      - name: features
        type: int
      - name: '*ssl_version'
        type: char
      - name: ssl_version_num
        type: long
      - name: '*libz_version'
        type: char
      - name: '* const *protocols'
        type: char
      - name: '*ares'
        type: char
      - name: ares_num
        type: int
      - name: '*libidn'
        type: char
      - name: iconv_ver_num
        type: int
      - name: '*libssh_version'
        type: char
      - name: brotli_ver_num
        type: unsigned int
      - name: '*brotli_version'
        type: char
      - name: nghttp2_ver_num
        type: unsigned int
      - name: '*nghttp2_version'
        type: char
      - name: '*quic_version'
        type: char
      - name: '*cainfo'
        type: char
      - name: '*capath'
        type: char
      - name: zstd_ver_num
        type: unsigned int
      - name: '*zstd_version'
        type: char
      - name: '*hyper_version'
        type: char
      - name: '*gsasl_version'
        type: char
      - name: '* const *feature_names'
        type: char
      - name: '*rtmp_version'
        type: char
      item_type: struct
      name: curl_version_info_data
      pos:
        line_end: 3178
        line_start: 3117
        source_file: /src/curl/include/curl/curl.h
    typedefs:
    - item_type: typedef
      name: CURL
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: CURLSH
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: curl_socket_t
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/curl/include/curl/curl.h
      type: SOCKET
    - item_type: typedef
      name: curl_socket_t
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_progress_callback)(void *clientp,\n                                      double
        dltotal,\n                                      double dlnow,\n                                      double
        ultotal,\n                                      double ulnow)"
      pos:
        line_end: 242
        line_start: 238
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_xferinfo_callback)(void *clientp,\n                                      curl_off_t
        dltotal,\n                                      curl_off_t dlnow,\n                                      curl_off_t
        ultotal,\n                                      curl_off_t ulnow)"
      pos:
        line_end: 251
        line_start: 247
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_write_callback)(char *buffer,\n                                      size_t
        size,\n                                      size_t nitems,\n                                      void
        *outstream)"
      pos:
        line_end: 286
        line_start: 283
        source_file: /src/curl/include/curl/curl.h
      type: size_t
    - item_type: typedef
      name: "(*curl_resolver_start_callback)(void *resolver_state,\n                                            void
        *reserved, void *userdata)"
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_chunk_bgn_callback)(const void *transfer_info,\n                                        void
        *ptr,\n                                        int remains)"
      pos:
        line_end: 354
        line_start: 352
        source_file: /src/curl/include/curl/curl.h
      type: long
    - item_type: typedef
      name: (*curl_chunk_end_callback)(void *ptr)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/curl/include/curl/curl.h
      type: long
    - item_type: typedef
      name: "(*curl_fnmatch_callback)(void *ptr,\n                                     const
        char *pattern,\n                                     const char *string)"
      pos:
        line_end: 377
        line_start: 375
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_seek_callback)(void *instream,\n                                  curl_off_t
        offset,\n                                  int origin)"
      pos:
        line_end: 386
        line_start: 384
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_read_callback)(char *buffer,\n                                      size_t
        size,\n                                      size_t nitems,\n                                      void
        *instream)"
      pos:
        line_end: 405
        line_start: 402
        source_file: /src/curl/include/curl/curl.h
      type: size_t
    - item_type: typedef
      name: "(*curl_trailer_callback)(struct curl_slist **list,\n                                      void
        *userdata)"
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_sockopt_callback)(void *clientp,\n                                     curl_socket_t
        curlfd,\n                                     curlsocktype purpose)"
      pos:
        line_end: 425
        line_start: 423
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_opensocket_callback)(void *clientp,\n                            curlsocktype
        purpose,\n                            struct curl_sockaddr *address)"
      pos:
        line_end: 440
        line_start: 437
        source_file: /src/curl/include/curl/curl.h
      type: curl_socket_t
    - item_type: typedef
      name: (*curl_closesocket_callback)(void *clientp, curl_socket_t item)
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_ioctl_callback)(CURL *handle,\n                                         int
        cmd,\n                                         void *clientp)"
      pos:
        line_end: 460
        line_start: 458
        source_file: /src/curl/include/curl/curl.h
      type: curlioerr
    - item_type: typedef
      name: '*(*curl_malloc_callback)(size_t size)'
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: (*curl_free_callback)(void *ptr)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: '*(*curl_realloc_callback)(void *ptr, size_t size)'
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: '*(*curl_strdup_callback)(const char *str)'
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/curl/include/curl/curl.h
      type: char
    - item_type: typedef
      name: '*(*curl_calloc_callback)(size_t nmemb, size_t size)'
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: "(*curl_debug_callback)\n       (CURL *handle,      /* the handle/transfer
        this concerns */\n        curl_infotype type, /* what kind of data */\n        char
        *data,        /* points to the data */\n        size_t size,       /* size
        of the data pointed to */\n        void *userptr)"
      pos:
        line_end: 495
        line_start: 490
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_prereq_callback)(void *clientp,\n                                    char
        *conn_primary_ip,\n                                    char *conn_local_ip,\n
        \                                   int conn_primary_port,\n                                    int
        conn_local_port)"
      pos:
        line_end: 502
        line_start: 498
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: (*curl_conv_callback)(char *buffer, size_t length)
      pos:
        line_end: 781
        line_start: 781
        source_file: /src/curl/include/curl/curl.h
      type: CURLcode
    - item_type: typedef
      name: "(*curl_ssl_ctx_callback)(CURL *curl,    /* easy handle */\n                                          void
        *ssl_ctx, /* actually an OpenSSL\n                                                            or
        wolfSSL SSL_CTX,\n                                                            or
        an mbedTLS\n                                                          mbedtls_ssl_config
        */\n                                          void *userptr)"
      pos:
        line_end: 788
        line_start: 783
        source_file: /src/curl/include/curl/curl.h
      type: CURLcode
    - item_type: typedef
      name: "(*curl_sshkeycallback) (CURL *easy,     /* easy handle */\n                          const
        struct curl_khkey *knownkey, /* known */\n                          const
        struct curl_khkey *foundkey, /* found */\n                          enum curl_khmatch,
        /* libcurl's view on the keys */\n                          void *clientp)"
      pos:
        line_end: 906
        line_start: 901
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_sshhostkeycallback) (void *clientp,/* custom pointer passed */\n
        \                                           /* with CURLOPT_SSH_HOSTKEYDATA
        */\n                          int keytype, /* CURLKHTYPE */\n                          const
        char *key, /* hostkey to check */\n                          size_t keylen)"
      pos:
        line_end: 914
        line_start: 909
        source_file: /src/curl/include/curl/curl.h
      type: int
    - item_type: typedef
      name: "(*curl_hstsread_callback)(CURL *easy,\n                                              struct
        curl_hstsentry *e,\n                                              void *userp)"
      pos:
        line_end: 1062
        line_start: 1060
        source_file: /src/curl/include/curl/curl.h
      type: CURLSTScode
    - item_type: typedef
      name: "(*curl_hstswrite_callback)(CURL *easy,\n                                               struct
        curl_hstsentry *e,\n                                               struct
        curl_index *i,\n                                               void *userp)"
      pos:
        line_end: 1066
        line_start: 1063
        source_file: /src/curl/include/curl/curl.h
      type: CURLSTScode
    - item_type: typedef
      name: curl_mime
      pos:
        line_end: 2429
        line_start: 2429
        source_file: /src/curl/include/curl/curl.h
      type: curl_mime
    - item_type: typedef
      name: curl_mimepart
      pos:
        line_end: 2430
        line_start: 2430
        source_file: /src/curl/include/curl/curl.h
      type: curl_mimepart
    - item_type: typedef
      name: "(*curl_formget_callback)(void *arg, const char *buf,\n                                        size_t
        len)"
      pos:
        line_end: 2647
        line_start: 2646
        source_file: /src/curl/include/curl/curl.h
      type: size_t
    - item_type: typedef
      name: curl_ssl_backend
      pos:
        line_end: 2833
        line_start: 2833
        source_file: /src/curl/include/curl/curl.h
      type: curl_ssl_backend
    - item_type: typedef
      name: "(*curl_lock_function)(CURL *handle,\n                                   curl_lock_data
        data,\n                                   curl_lock_access locktype,\n                                   void
        *userptr)"
      pos:
        line_end: 3058
        line_start: 3055
        source_file: /src/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: "(*curl_unlock_function)(CURL *handle,\n                                     curl_lock_data
        data,\n                                     void *userptr)"
      pos:
        line_end: 3061
        line_start: 3059
        source_file: /src/curl/include/curl/curl.h
      type: void
    - item_type: typedef
      name: curl_version_info_data
      pos:
        line_end: 3179
        line_start: 3179
        source_file: /src/curl/include/curl/curl.h
      type: curl_version_info_data
    - item_type: typedef
      name: "curl_ssls_export_cb(CURL *handle,\n                                     void
        *userptr,\n                                     const char *session_key,\n
        \                                    const unsigned char *shmac,\n                                     size_t
        shmac_len,\n                                     const unsigned char *sdata,\n
        \                                    size_t sdata_len,\n                                     curl_off_t
        valid_until,\n                                     int ietf_tls_id,\n                                     const
        char *alpn,\n                                     size_t earlydata_max)"
      pos:
        line_end: 3297
        line_start: 3287
        source_file: /src/curl/include/curl/curl.h
      type: CURLcode
    union: []
- function_names: []
  source_file: /src/curl/include/curl/options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLOT_FLAG_ALIAS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/include/curl/options.h
      type_or_value: (1<<0)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: CURLoption
      - name: type
        type: curl_easytype
      - name: flags
        type: unsigned int
      item_type: struct
      name: curl_easyoption
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/curl/include/curl/options.h
    typedefs: []
    union: []
- function_names:
  - curl_easy_setopt
  - curl_easy_getinfo
  - curl_multi_setopt
  - curlcheck_multicb_data_option
  - curlcheck_charpp_option
  - curlcheck_multitimer_cb
  - curlcheck_multisocket_cb
  - curlcheck_multipush_cb
  - curlcheck_multinotify_cb
  - curl_share_setopt
  - CURLWARNING
  - curlcheck_long_option
  - curlcheck_off_t_option
  - curlcheck_curl_option
  - curlcheck_string_option
  - curlcheck_write_cb_option
  - curlcheck_conv_cb_option
  - curlcheck_cb_data_option
  - curlcheck_postfields_option
  - curlcheck_slist_option
  - curlcheck_string_info
  - curlcheck_long_info
  - curlcheck_double_info
  - curlcheck_slist_info
  - curlcheck_tlssessioninfo_info
  - curlcheck_certinfo_info
  - curlcheck_socket_info
  - curlcheck_off_t_info
  - curlcheck_any_ptr
  - curlcheck_NULL
  - curlcheck_ptr
  - curlcheck_ptrptr
  - curlcheck_arr
  - curlcheck_string
  - curlcheck_curl
  - curlcheck_long
  - curlcheck_off_t
  - curlcheck_error_buffer
  - curlcheck_cb_data
  - curlcheck_cb_data
  - curlcheck_FILE
  - curlcheck_postfields
  - curlcheck_cb_compatible
  - curlcheck_resolver_start_callback
  - curlcheck_read_cb
  - curlcheck_write_cb
  - curlcheck_ioctl_cb
  - curlcheck_sockopt_cb
  - curlcheck_opensocket_cb
  - curlcheck_progress_cb
  - curlcheck_xferinfo_cb
  - curlcheck_debug_cb
  - curlcheck_ssl_ctx_cb
  - curlcheck_conv_cb
  - curlcheck_seek_cb
  - curlcheck_chunk_bgn_cb
  - curlcheck_chunk_end_cb
  - curlcheck_close_socket_cb
  - curlcheck_fnmatch_cb
  - curlcheck_hstsread_cb
  - curlcheck_hstswrite_cb
  - curlcheck_ssh_hostkey_cb
  - curlcheck_ssh_key_cb
  - curlcheck_interleave_cb
  - curlcheck_prereq_cb
  - curlcheck_trailer_cb
  source_file: /src/curl/include/curl/typecheck-gcc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*Wcurl_read_callback1)(char *, size_t, size_t, void *)
      pos:
        line_end: 723
        line_start: 723
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback2)(char *, size_t, size_t, const void *)
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback3)(char *, size_t, size_t, FILE *)
      pos:
        line_end: 725
        line_start: 725
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback4)(void *, size_t, size_t, void *)
      pos:
        line_end: 726
        line_start: 726
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback5)(void *, size_t, size_t, const void *)
      pos:
        line_end: 727
        line_start: 727
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_read_callback6)(void *, size_t, size_t, FILE *)
      pos:
        line_end: 728
        line_start: 728
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_write_callback1)(const char *, size_t, size_t, void *)
      pos:
        line_end: 741
        line_start: 741
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: "(*Wcurl_write_callback2)(const char *, size_t, size_t,\n                                       const
        void *)"
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_write_callback3)(const char *, size_t, size_t, FILE *)
      pos:
        line_end: 744
        line_start: 744
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_write_callback4)(const void *, size_t, size_t, void *)
      pos:
        line_end: 745
        line_start: 745
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: "(*Wcurl_write_callback5)(const void *, size_t, size_t,\n                                       const
        void *)"
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_write_callback6)(const void *, size_t, size_t, FILE *)
      pos:
        line_end: 748
        line_start: 748
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: (*Wcurl_ioctl_callback1)(CURL *, int, void *)
      pos:
        line_end: 758
        line_start: 758
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: curlioerr
    - item_type: typedef
      name: (*Wcurl_ioctl_callback2)(CURL *, int, const void *)
      pos:
        line_end: 759
        line_start: 759
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: curlioerr
    - item_type: typedef
      name: (*Wcurl_ioctl_callback3)(CURL *, curliocmd, void *)
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: curlioerr
    - item_type: typedef
      name: (*Wcurl_ioctl_callback4)(CURL *, curliocmd, const void *)
      pos:
        line_end: 761
        line_start: 761
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: curlioerr
    - item_type: typedef
      name: (*Wcurl_sockopt_callback1)(void *, curl_socket_t, curlsocktype)
      pos:
        line_end: 769
        line_start: 769
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_sockopt_callback2)(const void *, curl_socket_t,\n                                      curlsocktype)"
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_opensocket_callback1)\n  (void *, curlsocktype, struct curl_sockaddr
        *)"
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: curl_socket_t
    - item_type: typedef
      name: "(*Wcurl_opensocket_callback2)\n  (void *, curlsocktype, const struct
        curl_sockaddr *)"
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: curl_socket_t
    - item_type: typedef
      name: "(*Wcurl_opensocket_callback3)\n  (const void *, curlsocktype, struct
        curl_sockaddr *)"
      pos:
        line_end: 787
        line_start: 786
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: curl_socket_t
    - item_type: typedef
      name: "(*Wcurl_opensocket_callback4)\n  (const void *, curlsocktype, const struct
        curl_sockaddr *)"
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: curl_socket_t
    - item_type: typedef
      name: "(*Wcurl_progress_callback1)(void *,\n    double, double, double, double)"
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_progress_callback2)(const void *,\n    double, double, double,
        double)"
      pos:
        line_end: 800
        line_start: 799
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback1) (CURL *,\n    curl_infotype, char *, size_t,
        void *)"
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback2) (CURL *,\n    curl_infotype, char *, size_t,
        const void *)"
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback3) (CURL *,\n    curl_infotype, const char *, size_t,
        void *)"
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback4) (CURL *,\n    curl_infotype, const char *, size_t,
        const void *)"
      pos:
        line_end: 826
        line_start: 825
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback5) (CURL *,\n    curl_infotype, unsigned char *,
        size_t, void *)"
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback6) (CURL *,\n    curl_infotype, unsigned char *,
        size_t, const void *)"
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback7) (CURL *,\n    curl_infotype, const unsigned
        char *, size_t, void *)"
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: "(*Wcurl_debug_callback8) (CURL *,\n    curl_infotype, const unsigned
        char *, size_t, const void *)"
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: int
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback1)(CURL *, void *, void *)
      pos:
        line_end: 849
        line_start: 849
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback2)(CURL *, void *, const void *)
      pos:
        line_end: 850
        line_start: 850
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback3)(CURL *, const void *, void *)
      pos:
        line_end: 851
        line_start: 851
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: "(*Wcurl_ssl_ctx_callback4)(CURL *, const void *,\n                                            const
        void *)"
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback5)(CURL *, SSL_CTX *, void *)
      pos:
        line_end: 858
        line_start: 858
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback6)(CURL *, SSL_CTX *, const void *)
      pos:
        line_end: 859
        line_start: 859
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_ssl_ctx_callback7)(CURL *, const SSL_CTX *, void *)
      pos:
        line_end: 860
        line_start: 860
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: "(*Wcurl_ssl_ctx_callback8)(CURL *, const SSL_CTX *,\n                                            const
        void *)"
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: Wcurl_ssl_ctx_callback5
      pos:
        line_end: 864
        line_start: 864
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: Wcurl_ssl_ctx_callback1
    - item_type: typedef
      name: Wcurl_ssl_ctx_callback6
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: Wcurl_ssl_ctx_callback1
    - item_type: typedef
      name: Wcurl_ssl_ctx_callback7
      pos:
        line_end: 866
        line_start: 866
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: Wcurl_ssl_ctx_callback1
    - item_type: typedef
      name: Wcurl_ssl_ctx_callback8
      pos:
        line_end: 867
        line_start: 867
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: Wcurl_ssl_ctx_callback1
    - item_type: typedef
      name: (*Wcurl_conv_callback1)(char *, size_t length)
      pos:
        line_end: 878
        line_start: 878
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_conv_callback2)(const char *, size_t length)
      pos:
        line_end: 879
        line_start: 879
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_conv_callback3)(void *, size_t length)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_conv_callback4)(const void *, size_t length)
      pos:
        line_end: 881
        line_start: 881
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_seek_callback1)(void *, curl_off_t, int)
      pos:
        line_end: 889
        line_start: 889
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: (*Wcurl_seek_callback2)(const void *, curl_off_t, int)
      pos:
        line_end: 890
        line_start: 890
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: CURLcode
    - item_type: typedef
      name: "(*Wcurl_chunk_bgn_callback1)(struct curl_fileinfo *,\n                                          void
        *, int)"
      pos:
        line_end: 899
        line_start: 898
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: long
    - item_type: typedef
      name: (*Wcurl_chunk_bgn_callback2)(void *, void *, int)
      pos:
        line_end: 900
        line_start: 900
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: long
    - item_type: typedef
      name: "(*Wcurl_interleave_callback1)(void *p, size_t s,\n                                             size_t
        n, void *u)"
      pos:
        line_end: 943
        line_start: 942
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    - item_type: typedef
      name: "(*Wcurl_interleave_callback2)(char *p, size_t s,\n                                             size_t
        n, void *u)"
      pos:
        line_end: 945
        line_start: 944
        source_file: /src/curl/include/curl/typecheck-gcc.h
      type: size_t
    union: []
- function_names: []
  source_file: /src/curl/include/curl/stdcheaders.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_POPCOUNT64
  - CURL_CTZ64
  - CURL_POPCOUNT64
  - CURL_CTZ64
  source_file: /src/curl/include/curl/system.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/include/curl/system.h
      type_or_value: __int64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/include/curl/system.h
      type_or_value: i64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/include/curl/system.h
      type_or_value: ui64
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/include/curl/system.h
      type_or_value: __int64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/include/curl/system.h
      type_or_value: i64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/include/curl/system.h
      type_or_value: ui64
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/include/curl/system.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/curl/include/curl/system.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/curl/include/curl/system.h
      type_or_value: __int64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/curl/include/curl/system.h
      type_or_value: i64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/curl/include/curl/system.h
      type_or_value: ui64
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/curl/include/curl/system.h
      type_or_value: PRId64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/curl/include/curl/system.h
      type_or_value: PRIu64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/curl/include/curl/system.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/curl/include/curl/system.h
      type_or_value: PRId64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/curl/include/curl/system.h
      type_or_value: PRIu64
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/curl/include/curl/system.h
      type_or_value: __int64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/curl/include/curl/system.h
      type_or_value: i64
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/curl/include/curl/system.h
      type_or_value: ui64
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/curl/include/curl/system.h
      type_or_value: long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"ld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/curl/include/curl/system.h
      type_or_value: L
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/curl/include/curl/system.h
      type_or_value: UL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/curl/include/curl/system.h
      type_or_value: socklen_t
    - item_type: preproc_def
      name: CURL_PULL_SYS_TYPES_H
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PULL_SYS_SOCKET_H
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/curl/include/curl/system.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_OFF_T
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/curl/include/curl/system.h
      type_or_value: long long
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/curl/include/curl/system.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_T
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/curl/include/curl/system.h
      type_or_value: LL
    - item_type: preproc_def
      name: CURL_SUFFIX_CURL_OFF_TU
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/curl/include/curl/system.h
      type_or_value: ULL
    - item_type: preproc_def
      name: CURL_TYPEOF_CURL_SOCKLEN_T
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/curl/include/curl/system.h
      type_or_value: int
    structs: []
    typedefs:
    - item_type: typedef
      name: curl_socklen_t
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/curl/include/curl/system.h
      type: CURL_TYPEOF_CURL_SOCKLEN_T
    - item_type: typedef
      name: curl_off_t
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/curl/include/curl/system.h
      type: CURL_TYPEOF_CURL_OFF_T
    union: []
- function_names:
  - CURL_TEMP_PRINTF
  - CURL_TEMP_PRINTF
  source_file: /src/curl/include/curl/mprintf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/include/curl/websockets.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLWS_TEXT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/include/curl/websockets.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURLWS_BINARY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/include/curl/websockets.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURLWS_CONT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/include/curl/websockets.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLWS_CLOSE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/include/curl/websockets.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: CURLWS_PING
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/include/curl/websockets.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: CURLWS_OFFSET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/include/curl/websockets.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: CURLWS_PONG
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/include/curl/websockets.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: CURLWS_RAW_MODE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/include/curl/websockets.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLWS_NOAUTOPONG
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/include/curl/websockets.h
      type_or_value: (1L<<1)
    structs:
    - fields:
      - name: age
        type: int
      - name: flags
        type: int
      - name: offset
        type: curl_off_t
      - name: bytesleft
        type: curl_off_t
      - name: len
        type: size_t
      item_type: struct
      name: curl_ws_frame
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/curl/include/curl/websockets.h
    typedefs: []
    union: []
- function_names:
  - curl_multi_socket
  source_file: /src/curl/include/curl/multi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLM_CALL_MULTI_SOCKET
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/include/curl/multi.h
      type_or_value: CURLM_CALL_MULTI_PERFORM
    - item_type: preproc_def
      name: CURLPIPE_NOTHING
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/include/curl/multi.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURLPIPE_HTTP1
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/include/curl/multi.h
      type_or_value: 1L
    - item_type: preproc_def
      name: CURLPIPE_MULTIPLEX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/include/curl/multi.h
      type_or_value: 2L
    - item_type: preproc_def
      name: CURL_WAIT_POLLIN
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: CURL_WAIT_POLLPRI
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: CURL_WAIT_POLLOUT
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: CURL_POLL_NONE
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_POLL_IN
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_POLL_OUT
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_POLL_INOUT
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '3'
    - item_type: preproc_def
      name: CURL_POLL_REMOVE
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CURL_SOCKET_TIMEOUT
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/curl/include/curl/multi.h
      type_or_value: CURL_SOCKET_BAD
    - item_type: preproc_def
      name: CURL_CSELECT_IN
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: CURL_CSELECT_OUT
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: CURL_CSELECT_ERR
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: CURLMNWC_CLEAR_CONNS
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/curl/include/curl/multi.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURLMNWC_CLEAR_DNS
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/curl/include/curl/multi.h
      type_or_value: (1L<<0)
    - item_type: preproc_def
      name: CURL_PUSH_OK
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_PUSH_DENY
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_PUSH_ERROROUT
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CURLMNOTIFY_INFO_READ
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURLMNOTIFY_EASY_DONE
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/curl/include/curl/multi.h
      type_or_value: '1'
    structs:
    - fields:
      - name: msg
        type: CURLMSG
      - name: '*easy_handle'
        type: CURL
      - name: data
        type: "union {\n    void *whatever;    /* message-specific data */\n    CURLcode
          result;   /* return code for transfer */\n  }"
      item_type: struct
      name: CURLMsg
      pos:
        line_end: 103
        line_start: 96
        source_file: /src/curl/include/curl/multi.h
    - fields:
      - name: fd
        type: curl_socket_t
      - name: events
        type: short
      - name: revents
        type: short
      item_type: struct
      name: curl_waitfd
      pos:
        line_end: 117
        line_start: 113
        source_file: /src/curl/include/curl/multi.h
    typedefs:
    - item_type: typedef
      name: CURLM
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/curl/include/curl/multi.h
      type: void
    - item_type: typedef
      name: CURLMsg
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/curl/include/curl/multi.h
      type: CURLMsg
    - item_type: typedef
      name: "(*curl_socket_callback)(CURL *easy,      /* easy handle */\n                                    curl_socket_t
        s, /* socket */\n                                    int what,        /* see
        above */\n                                    void *userp,     /* private
        callback\n                                                        pointer
        */\n                                    void *socketp)"
      pos:
        line_end: 299
        line_start: 294
        source_file: /src/curl/include/curl/multi.h
      type: int
    - item_type: typedef
      name: "(*curl_multi_timer_callback)(CURLM *multi,    /* multi handle */\n                                         long
        timeout_ms, /* see above */\n                                         void
        *userp)"
      pos:
        line_end: 313
        line_start: 311
        source_file: /src/curl/include/curl/multi.h
      type: int
    - item_type: typedef
      name: "(*curl_push_callback)(CURL *parent,\n                                  CURL
        *easy,\n                                  size_t num_headers,\n                                  struct
        curl_pushheaders *headers,\n                                  void *userp)"
      pos:
        line_end: 512
        line_start: 508
        source_file: /src/curl/include/curl/multi.h
      type: int
    - item_type: typedef
      name: "(*curl_notify_callback)(CURLM *multi,\n                                     unsigned
        int notification,\n                                     CURL *easy,\n                                     void
        *user_data)"
      pos:
        line_end: 540
        line_start: 537
        source_file: /src/curl/include/curl/multi.h
      type: void
    union: []
- function_names: []
  source_file: /src/curl/include/curl/header.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLH_HEADER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/include/curl/header.h
      type_or_value: '(1<<0) '
    - item_type: preproc_def
      name: CURLH_TRAILER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/include/curl/header.h
      type_or_value: '(1<<1) '
    - item_type: preproc_def
      name: CURLH_CONNECT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/include/curl/header.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: CURLH_1XX
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/include/curl/header.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: CURLH_PSEUDO
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/include/curl/header.h
      type_or_value: '(1<<4) '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: amount
        type: size_t
      - name: index
        type: size_t
      - name: origin
        type: unsigned int
      - name: '*anchor'
        type: void
      item_type: struct
      name: curl_header
      pos:
        line_end: 37
        line_start: 30
        source_file: /src/curl/include/curl/header.h
    typedefs: []
    union: []
- function_names:
  - calc
  - showtable
  - main
  source_file: /src/curl/scripts/schemetable.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*n'
        type: char
      - name: '*ifdef'
        type: char
      item_type: struct
      name: detail
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/curl/scripts/schemetable.c
    typedefs: []
    union: []
- function_names:
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - main
  - check
  - main
  - check
  - main
  - main
  - main
  - main
  - main
  - main
  - enquote
  - expand
  - main
  - enquote
  - expand
  - main
  source_file: /src/curl/CMake/CurlTests.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LARGE_OFF_T
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/curl/CMake/CurlTests.c
      type_or_value: (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
    structs: []
    typedefs: []
    union: []
- function_names:
  - cw_out_buf_create
  - cw_out_buf_free
  - cw_out_init
  - cw_out_bufs_free
  - cw_out_bufs_len
  - cw_out_close
  - cw_get_writefunc
  - cw_out_cb_write
  - cw_out_ptr_flush
  - cw_out_buf_flush
  - cw_out_flush_chain
  - cw_out_append
  - cw_out_do_write
  - cw_out_write
  - Curl_cw_out_is_paused
  - cw_out_flush
  - Curl_cw_out_unpause
  - Curl_cw_out_done
  source_file: /src/curl/lib/cw-out.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct cw_out_buf
      - name: b
        type: struct dynbuf
      - name: type
        type: cw_out_type
      item_type: struct
      name: cw_out_buf
      pos:
        line_end: 83
        line_start: 79
        source_file: /src/curl/lib/cw-out.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: '*buf'
        type: struct cw_out_buf
      item_type: struct
      name: cw_out_ctx
      pos:
        line_end: 108
        line_start: 103
        source_file: /src/curl/lib/cw-out.c
    typedefs: []
    union: []
- function_names:
  - show_resolve_info
  - Curl_printable_address
  - create_dnscache_id
  - dnscache_entry_is_stale
  - dnscache_prune
  - dnscache_get
  - dnscache_lock
  - dnscache_unlock
  - Curl_dnscache_prune
  - Curl_dnscache_clear
  - fetch_addr
  - Curl_dnscache_get
  - num_addresses
  - Curl_shuffle_addr
  - Curl_dnscache_mk_entry
  - dnscache_add_addr
  - Curl_dnscache_add
  - get_localhost6
  - get_localhost6
  - get_localhost
  - Curl_ipv6works
  - Curl_host_is_ipnum
  - tailmatch
  - convert_ipaddr_direct
  - can_resolve_ip_version
  - store_negative_resolve
  - Curl_resolv
  - Curl_resolv_blocking
  - alarmfunc
  - Curl_resolv_timeout
  - dnscache_entry_free
  - Curl_resolv_unlink
  - dnscache_entry_dtor
  - Curl_dnscache_init
  - Curl_dnscache_destroy
  - Curl_loadhostpairs
  - show_resolve_info
  - Curl_resolv_check
  - Curl_resolv_pollset
  - Curl_once_resolved
  - Curl_resolver_error
  source_file: /src/curl/lib/hostip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HOSTCACHE_LEN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/lib/hostip.c
      type_or_value: '(255 + 7) '
    - item_type: preproc_def
      name: MAX_DNS_CACHE_SIZE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/lib/hostip.c
      type_or_value: '29999'
    structs:
    - fields:
      - name: now
        type: struct curltime
      - name: oldest_ms
        type: timediff_t
      - name: max_age_ms
        type: timediff_t
      item_type: struct
      name: dnscache_prune_data
      pos:
        line_end: 184
        line_start: 180
        source_file: /src/curl/lib/hostip.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/easyoptions.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_POPCOUNT64
  - CURL_CTZ64
  source_file: /src/curl/lib/uint-bset.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*slots'
        type: curl_uint64_t
      - name: nslots
        type: unsigned int
      - name: first_slot_used
        type: unsigned int
      item_type: struct
      name: uint_bset
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/curl/lib/uint-bset.h
    typedefs: []
    union: []
- function_names:
  - r_freeaddrinfo
  - async_addrinfo_cb
  - mk_getaddrinfo
  - r_getaddrinfo
  source_file: /src/curl/lib/fake_addrinfo.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*result'
        type: struct ares_addrinfo
      item_type: struct
      name: context
      pos:
        line_end: 50
        line_start: 48
        source_file: /src/curl/lib/fake_addrinfo.c
    typedefs: []
    union: []
- function_names:
  - Curl_pp_state_timeout
  - Curl_pp_statemach
  - Curl_pp_init
  - Curl_pp_vsendf
  - Curl_pp_sendf
  - pingpong_read
  - Curl_pp_readresp
  - Curl_pp_pollset
  - Curl_pp_needs_flush
  - Curl_pp_flushsend
  - Curl_pp_disconnect
  - Curl_pp_moredata
  source_file: /src/curl/lib/pingpong.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_http2_may_switch
  - Curl_http2_request_upgrade
  - Curl_http2_switch
  - Curl_http2_upgrade
  - Curl_h2_http_1_1_error
  source_file: /src/curl/lib/http2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_MAX_CONCURRENT_STREAMS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/http2.h
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_hmac.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HMAC_MD5_LENGTH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/curl_hmac.h
      type_or_value: '16'
    structs:
    - fields:
      - name: hinit
        type: HMAC_hinit
      - name: hupdate
        type: HMAC_hupdate
      - name: hfinal
        type: HMAC_hfinal
      - name: ctxtsize
        type: unsigned int
      - name: maxkeylen
        type: unsigned int
      - name: resultlen
        type: unsigned int
      item_type: struct
      name: HMAC_params
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/curl/lib/curl_hmac.h
    - fields:
      - name: '*hash'
        type: struct HMAC_params
      - name: '*hashctxt1'
        type: void
      - name: '*hashctxt2'
        type: void
      item_type: struct
      name: HMAC_context
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/curl/lib/curl_hmac.h
    typedefs:
    - item_type: typedef
      name: (*HMAC_hinit)(void *context)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/curl/lib/curl_hmac.h
      type: CURLcode
    - item_type: typedef
      name: "(*HMAC_hupdate)(void *context,\n                                const
        unsigned char *data,\n                                unsigned int len)"
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/curl/lib/curl_hmac.h
      type: void
    - item_type: typedef
      name: (*HMAC_hfinal)(unsigned char *result, void *context)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/curl/lib/curl_hmac.h
      type: void
    union: []
- function_names: []
  source_file: /src/curl/lib/ftp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_FTP_EASY
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/curl/lib/ftp.h
      type_or_value: '"meta:proto:ftp:easy"'
    - item_type: preproc_def
      name: CURL_META_FTP_CONN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/curl/lib/ftp.h
      type_or_value: '"meta:proto:ftp:conn"'
    - item_type: preproc_def
      name: DEFAULT_ACCEPT_TIMEOUT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/curl/lib/ftp.h
      type_or_value: '60000 '
    structs:
    - fields:
      - name: '*parser'
        type: struct ftp_parselist_data
      - name: backup
        type: "struct {\n    curl_write_callback write_function;\n    FILE *file_descriptor;\n
          \ }"
      item_type: struct
      name: ftp_wc
      pos:
        line_end: 96
        line_start: 89
        source_file: /src/curl/lib/ftp.h
    - fields:
      - name: '*path'
        type: char
      - name: '*pathalloc'
        type: char
      - name: transfer
        type: curl_pp_transfer
      - name: downloadsize
        type: curl_off_t
      item_type: struct
      name: FTP
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/curl/lib/ftp.h
    - fields:
      - name: start
        type: int
      - name: len
        type: int
      item_type: struct
      name: pathcomp
      pos:
        line_end: 123
        line_start: 120
        source_file: /src/curl/lib/ftp.h
    - fields:
      - name: pp
        type: struct pingpong
      - name: '*account'
        type: char
      - name: '*alternative_to_user'
        type: char
      - name: '*entrypath'
        type: char
      - name: '*file'
        type: char
      - name: '*rawpath'
        type: char
      - name: '*dirs'
        type: struct pathcomp
      - name: '*newhost'
        type: char
      - name: '*prevpath'
        type: char
      - name: transfertype
        type: char
      - name: retr_size_saved
        type: curl_off_t
      - name: '*server_os'
        type: char
      - name: known_filesize
        type: curl_off_t
      - name: dirdepth
        type: int
      - name: cwdcount
        type: int
      - name: count1
        type: int
      - name: count2
        type: int
      - name: count3
        type: int
      - name: newport
        type: unsigned short
      - name: state
        type: ftpstate
      - name: state_saved
        type: ftpstate
      - name: use_ssl
        type: unsigned char
      - name: ccc
        type: unsigned char
      item_type: struct
      name: ftp_conn
      pos:
        line_end: 171
        line_start: 127
        source_file: /src/curl/lib/ftp.h
    typedefs:
    - item_type: typedef
      name: ftpstate
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/curl/lib/ftp.h
      type: unsigned char
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_range.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/bufq.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFQ_OPT_NONE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/lib/bufq.h
      type_or_value: (0)
    - item_type: preproc_def
      name: BUFQ_OPT_SOFT_LIMIT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/curl/lib/bufq.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: BUFQ_OPT_NO_SPARES
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/lib/bufq.h
      type_or_value: (1 << 1)
    structs:
    - fields:
      - name: '*next'
        type: struct buf_chunk
      - name: dlen
        type: size_t
      - name: r_offset
        type: size_t
      - name: w_offset
        type: size_t
      - name: x
        type: "union {\n    unsigned char data[1]; /* the buffer for `dlen` bytes
          */\n    void *dummy;           /* alignment */\n  }"
      item_type: struct
      name: buf_chunk
      pos:
        line_end: 43
        line_start: 34
        source_file: /src/curl/lib/bufq.h
    - fields:
      - name: '*spare'
        type: struct buf_chunk
      - name: chunk_size
        type: size_t
      - name: spare_count
        type: size_t
      - name: spare_max
        type: size_t
      item_type: struct
      name: bufc_pool
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/curl/lib/bufq.h
    - fields:
      - name: '*head'
        type: struct buf_chunk
      - name: '*tail'
        type: struct buf_chunk
      - name: '*spare'
        type: struct buf_chunk
      - name: '*pool'
        type: struct bufc_pool
      - name: chunk_count
        type: size_t
      - name: max_chunks
        type: size_t
      - name: chunk_size
        type: size_t
      - name: opts
        type: int
      item_type: struct
      name: bufq
      pos:
        line_end: 102
        line_start: 93
        source_file: /src/curl/lib/bufq.h
    typedefs:
    - item_type: typedef
      name: "Curl_bufq_writer(void *writer_ctx,\n                                  const
        unsigned char *buf, size_t len,\n                                  size_t
        *pwritten)"
      pos:
        line_end: 209
        line_start: 207
        source_file: /src/curl/lib/bufq.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_bufq_reader(void *reader_ctx,\n                                  unsigned
        char *buf, size_t len,\n                                  size_t *pnread)"
      pos:
        line_end: 224
        line_start: 222
        source_file: /src/curl/lib/bufq.h
      type: CURLcode
    union: []
- function_names:
  - file_cleanup
  - file_easy_dtor
  - file_setup_connection
  - file_connect
  - file_done
  - file_disconnect
  - file_upload
  - file_do
  source_file: /src/curl/lib/file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DOS_FILESYSTEM
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/file.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AMIGA_FILESYSTEM
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/lib/file.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_META_FILE_EASY
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/lib/file.c
      type_or_value: '"meta:proto:file:easy"'
    - item_type: preproc_def
      name: DIRSEP
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/curl/lib/file.c
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: DIRSEP
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/curl/lib/file.c
      type_or_value: '''/'''
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: '*freepath'
        type: char
      - name: fd
        type: int
      item_type: struct
      name: FILEPROTO
      pos:
        line_end: 90
        line_start: 85
        source_file: /src/curl/lib/file.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/bufref.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*dtor)(void *)
        type: void
      - name: '*ptr'
        type: unsigned char
      - name: len
        type: size_t
      item_type: struct
      name: bufref
      pos:
        line_end: 36
        line_start: 29
        source_file: /src/curl/lib/bufref.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/http1.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H1_PARSE_OPT_NONE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/http1.h
      type_or_value: (0)
    - item_type: preproc_def
      name: H1_PARSE_OPT_STRICT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/http1.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: H1_PARSE_DEFAULT_MAX_LINE_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/http1.h
      type_or_value: DYN_HTTP_REQUEST
    structs:
    - fields:
      - name: '*req'
        type: struct httpreq
      - name: scratch
        type: struct dynbuf
      - name: scratch_skip
        type: size_t
      - name: '*line'
        type: char
      - name: max_line_len
        type: size_t
      - name: line_len
        type: size_t
      item_type: struct
      name: h1_req_parser
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/curl/lib/http1.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/http_ntlm.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_fileinfo_alloc
  - Curl_fileinfo_cleanup
  source_file: /src/curl/lib/fileinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/dict.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/strdup.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/file.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_cidr4_match
  - Curl_cidr6_match
  - Curl_check_noproxy
  source_file: /src/curl/lib/noproxy.c
  types:
    enum:
    - enumerators:
      - name: TYPE_HOST
      - name: TYPE_IPV4
      - name: TYPE_IPV6
      item_type: enum
      name: nametype
      pos:
        line_end: 117
        line_start: 113
        source_file: /src/curl/lib/noproxy.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURLM_NTFY
  source_file: /src/curl/lib/multi_ntfy.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ntfy_cb
        type: curl_notify_callback
      - name: '*ntfy_cb_data'
        type: void
      - name: enabled
        type: struct uint_bset
      - name: failure
        type: CURLMcode
      - name: '*head'
        type: struct mntfy_chunk
      - name: '*tail'
        type: struct mntfy_chunk
      item_type: struct
      name: curl_multi_ntfy
      pos:
        line_end: 38
        line_start: 31
        source_file: /src/curl/lib/multi_ntfy.h
    typedefs: []
    union: []
- function_names:
  - IDN2_LOOKUP
  - IDN2_LOOKUP
  - iconv_to_utf8
  - mac_idn_to_ascii
  - mac_ascii_to_idn
  - win32_idn_to_ascii
  - win32_ascii_to_idn
  - Curl_is_ASCII_name
  - idn_decode
  - idn_encode
  - Curl_idn_decode
  - Curl_idn_encode
  - Curl_free_idnconverted_hostname
  - Curl_idnconvert_hostname
  source_file: /src/curl/lib/idn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HOST_LENGTH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/idn.c
      type_or_value: '512'
    - item_type: preproc_def
      name: IDN_MAX_LENGTH
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/curl/lib/idn.c
      type_or_value: '255'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_http_neg_init
  - Curl_http_setup_conn
  - Curl_checkProxyheaders
  - Curl_checkProxyheaders
  - http_header_is_empty
  - Curl_copy_header_value
  - http_output_basic
  - http_output_bearer
  - pickoneauth
  - http_perhapsrewind
  - Curl_http_auth_act
  - output_auth_headers
  - Curl_http_output_auth
  - authcmp
  - auth_spnego
  - auth_ntlm
  - auth_digest
  - auth_basic
  - auth_bearer
  - Curl_http_input_auth
  - http_should_fail
  - http_switch_to_get
  - Curl_http_follow
  - Curl_compareheader
  - Curl_http_connect
  - Curl_http_do_pollset
  - Curl_http_done
  - http_may_use_1_1
  - http_request_version
  - get_http_string
  - Curl_add_custom_headers
  - Curl_add_timecondition
  - Curl_add_timecondition
  - Curl_http_method
  - http_useragent
  - http_set_aptr_host
  - http_target
  - set_post_reader
  - set_reader
  - http_resume
  - http_req_set_TE
  - addexpect
  - http_add_content_hds
  - http_cookies
  - http_cookies
  - http_range
  - http_firstwrite
  - http_check_new_conn
  - http_add_connection_hd
  - http_add_hd
  - Curl_http
  - checkprefixmax
  - checkhttpprefix
  - checkrtspprefix
  - checkprotoprefix
  - HD_IS
  - HD_VAL
  - HD_IS_AND_SAYS
  - http_header_a
  - http_header_c
  - http_header_l
  - http_header_p
  - http_header_r
  - http_header_s
  - http_header_t
  - http_header_w
  - http_header
  - http_statusline
  - http_size
  - verify_header
  - Curl_bump_headersize
  - http_write_header
  - http_on_response
  - http_rw_hd
  - http_parse_headers
  - Curl_http_write_resp_hd
  - Curl_http_write_resp_hds
  - Curl_http_write_resp
  - Curl_http_decode_status
  - Curl_http_req_make
  - req_assign_url_authority
  - req_assign_url_path
  - Curl_http_req_make2
  - Curl_http_req_free
  - h2_permissible_field
  - http_TE_has_token
  - Curl_http_req_to_h2
  - Curl_http_resp_make
  - Curl_http_resp_free
  - http_exp100_continue
  - cr_exp100_read
  - cr_exp100_done
  - http_exp100_add_reader
  - http_exp100_got100
  - http_exp100_is_waiting
  - http_exp100_send_anyway
  - http_exp100_is_selected
  source_file: /src/curl/lib/http.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: namelen
        type: size_t
      item_type: struct
      name: name_const
      pos:
        line_end: 4669
        line_start: 4666
        source_file: /src/curl/lib/http.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: start
        type: struct curltime
      - name: state
        type: enum expect100
      item_type: struct
      name: cr_exp100_ctx
      pos:
        line_end: 4837
        line_start: 4833
        source_file: /src/curl/lib/http.c
    typedefs: []
    union: []
- function_names:
  - GOOD_EASY_HANDLE
  - GOOD_EASY_HANDLE
  - CONN_IS_PROXIED
  - CONN_IS_PROXIED
  - CURL_WANT_SEND
  - CURL_WANT_RECV
  - CONN_INUSE
  - CONN_ATTACHED
  - CONN_SOCK_IDX_VALID
  - CURL_CONN_HOST_DISPNAME
  - CURL_CONN_HOST_DISPNAME
  - IS_MIME_POST
  - IS_MIME_POST
  source_file: /src/curl/lib/urldata.h
  types:
    enum:
    - enumerators:
      - name: STRING_PRE_PROXY
      - name: STRING_PASSWORD
      - name: STRING_DOH
      - name: STRING_BEARER
      - name: STRING_SASL_AUTHZID
      - name: STRING_DNS_LOCAL_IP4
      - name: STRING_FTP_ACCOUNT
      - name: STRING_SSL_CAFILE
      - name: STRING_CERT_TYPE_PROXY
      - name: STRING_SSL_CAFILE_PROXY
      - name: STRING_SSH_HOST_PUBLIC_KEY_MD5
      - name: STRING_COOKIEJAR
      - name: STRING_DNS_INTERFACE
      - name: STRING_TARGET
      - name: STRING_USERAGENT
      - name: STRING_RTSP_SESSION_ID
      - name: STRING_HSTS
      - name: STRING_ECH_PUBLIC
      - name: STRING_SSL_ISSUERCERT_PROXY
      - name: STRING_INTERFACE
      - name: STRING_KEY_PASSWD
      - name: STRING_SSL_ISSUERCERT
      - name: STRING_KEY_PASSWD_PROXY
      - name: STRING_PROXYUSERNAME
      - name: STRING_ALTSVC
      - name: STRING_TLSAUTH_PASSWORD
      - name: STRING_ECH_CONFIG
      - name: STRING_CERT
      - name: STRING_SSL_CIPHER_LIST
      - name: STRING_SSH_KNOWNHOSTS
      - name: STRING_FTPPORT
      - name: STRING_SSL_CIPHER_LIST_PROXY
      - name: STRING_TLSAUTH_PASSWORD_PROXY
      - name: STRING_PROXY
      - name: STRING_USERNAME
      - name: STRING_RTSP_TRANSPORT
      - name: STRING_MAIL_AUTH
      - name: STRING_HAPROXY_CLIENT_IP
      - name: STRING_SSL_SIGNATURE_ALGORITHMS
      - name: STRING_SET_RANGE
      - name: STRING_COOKIE
      - name: STRING_ENCODING
      - name: STRING_SSL_CAPATH
      - name: STRING_CERT_PROXY
      - name: STRING_SSL_CAPATH_PROXY
      - name: STRING_SSH_PUBLIC_KEY
      - name: STRING_CUSTOMREQUEST
      - name: STRING_SET_URL
      - name: STRING_NOPROXY
      - name: STRING_AWS_SIGV4
      - name: STRING_KEY
      - name: STRING_SSL_CRLFILE
      - name: STRING_SSL_CRLFILE_PROXY
      - name: STRING_DEVICE
      - name: STRING_OPTIONS
      - name: STRING_SSL_EC_CURVES
      - name: STRING_TLSAUTH_USERNAME
      - name: STRING_LASTZEROTERMINATED
      - name: STRING_TLSAUTH_USERNAME_PROXY
      - name: STRING_FTP_ALTERNATIVE_TO_USER
      - name: STRING_SSL_PINNEDPUBLICKEY
      - name: STRING_KEY_PROXY
      - name: STRING_SSL_PINNEDPUBLICKEY_PROXY
      - name: STRING_SSH_HOST_PUBLIC_KEY_SHA256
      - name: STRING_SSL_ENGINE
      - name: STRING_MAIL_FROM
      - name: STRING_RTSP_STREAM_URI
      - name: STRING_SSH_PRIVATE_KEY
      - name: STRING_BINDHOST
      - name: STRING_KEY_TYPE
      - name: STRING_KEY_TYPE_PROXY
      - name: STRING_SERVICE_NAME
      - name: STRING_PROXY_SERVICE_NAME
      - name: STRING_LAST
      - name: STRING_DNS_SERVERS
      - name: STRING_DNS_LOCAL_IP6
      - name: STRING_UNIX_SOCKET_PATH
      - name: STRING_SET_REFERER
      - name: STRING_PROXYPASSWORD
      - name: STRING_COPYPOSTFIELDS
      - name: STRING_NETRC_FILE
      - name: STRING_DEFAULT_PROTOCOL
      - name: STRING_SSL_CIPHER13_LIST_PROXY
      - name: STRING_CERT_TYPE
      - name: STRING_SSL_CIPHER13_LIST
      item_type: enum
      name: dupstring
      pos:
        line_end: 1296
        line_start: 1165
        source_file: /src/curl/lib/urldata.h
    - enumerators:
      - name: BLOB_CERT
      - name: BLOB_CERT_PROXY
      - name: BLOB_CAINFO
      - name: BLOB_SSL_ISSUERCERT
      - name: BLOB_KEY
      - name: BLOB_KEY_PROXY
      - name: BLOB_SSL_ISSUERCERT_PROXY
      - name: BLOB_CAINFO_PROXY
      - name: BLOB_LAST
      item_type: enum
      name: dupblob
      pos:
        line_end: 1310
        line_start: 1298
        source_file: /src/curl/lib/urldata.h
    preproc_defs:
    - item_type: preproc_def
      name: PORT_FTP
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/urldata.h
      type_or_value: '21'
    - item_type: preproc_def
      name: PORT_FTPS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/urldata.h
      type_or_value: '990'
    - item_type: preproc_def
      name: PORT_TELNET
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/urldata.h
      type_or_value: '23'
    - item_type: preproc_def
      name: PORT_HTTP
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/urldata.h
      type_or_value: '80'
    - item_type: preproc_def
      name: PORT_HTTPS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/urldata.h
      type_or_value: '443'
    - item_type: preproc_def
      name: PORT_DICT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/urldata.h
      type_or_value: '2628'
    - item_type: preproc_def
      name: PORT_LDAP
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/urldata.h
      type_or_value: '389'
    - item_type: preproc_def
      name: PORT_LDAPS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/urldata.h
      type_or_value: '636'
    - item_type: preproc_def
      name: PORT_TFTP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/urldata.h
      type_or_value: '69'
    - item_type: preproc_def
      name: PORT_SSH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/urldata.h
      type_or_value: '22'
    - item_type: preproc_def
      name: PORT_IMAP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/urldata.h
      type_or_value: '143'
    - item_type: preproc_def
      name: PORT_IMAPS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/urldata.h
      type_or_value: '993'
    - item_type: preproc_def
      name: PORT_POP3
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/urldata.h
      type_or_value: '110'
    - item_type: preproc_def
      name: PORT_POP3S
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/urldata.h
      type_or_value: '995'
    - item_type: preproc_def
      name: PORT_SMB
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/urldata.h
      type_or_value: '445'
    - item_type: preproc_def
      name: PORT_SMBS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/urldata.h
      type_or_value: '445'
    - item_type: preproc_def
      name: PORT_SMTP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/urldata.h
      type_or_value: '25'
    - item_type: preproc_def
      name: PORT_SMTPS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/urldata.h
      type_or_value: '465 '
    - item_type: preproc_def
      name: PORT_RTSP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/urldata.h
      type_or_value: '554'
    - item_type: preproc_def
      name: PORT_RTMP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/urldata.h
      type_or_value: '1935'
    - item_type: preproc_def
      name: PORT_RTMPT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/urldata.h
      type_or_value: PORT_HTTP
    - item_type: preproc_def
      name: PORT_RTMPS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/urldata.h
      type_or_value: PORT_HTTPS
    - item_type: preproc_def
      name: PORT_GOPHER
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/urldata.h
      type_or_value: '70'
    - item_type: preproc_def
      name: PORT_MQTT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/urldata.h
      type_or_value: '1883'
    - item_type: preproc_def
      name: CURLECH_DISABLE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/urldata.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURLECH_GREASE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/urldata.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURLECH_ENABLE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/lib/urldata.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: CURLECH_HARD
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/urldata.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: CURLECH_CLA_CFG
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/urldata.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: CURLPROTO_WS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/urldata.h
      type_or_value: (1L<<30)
    - item_type: preproc_def
      name: CURLPROTO_WSS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/urldata.h
      type_or_value: ((curl_prot_t)1<<31)
    - item_type: preproc_def
      name: CURLPROTO_WS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/urldata.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURLPROTO_WSS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/urldata.h
      type_or_value: 0L
    - item_type: preproc_def
      name: CURLPROTO_REDIR
      pos:
        line_end: 82
        line_start: 80
        source_file: /src/curl/lib/urldata.h
      type_or_value: "(CURLPROTO_HTTP | CURLPROTO_HTTPS | CURLPROTO_FTP | \\\n                         CURLPROTO_FTPS)"
    - item_type: preproc_def
      name: CURLPROTO_MASK
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/urldata.h
      type_or_value: (0x3ffffff)
    - item_type: preproc_def
      name: CURL_DEFAULT_USER
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/lib/urldata.h
      type_or_value: '"anonymous"'
    - item_type: preproc_def
      name: CURL_DEFAULT_PASSWORD
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/urldata.h
      type_or_value: '"ftp@example.com"'
    - item_type: preproc_def
      name: PROTO_FAMILY_HTTP
      pos:
        line_end: 111
        line_start: 109
        source_file: /src/curl/lib/urldata.h
      type_or_value: "(CURLPROTO_HTTP|CURLPROTO_HTTPS|CURLPROTO_WS| \\\n                           CURLPROTO_WSS)"
    - item_type: preproc_def
      name: PROTO_FAMILY_FTP
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/lib/urldata.h
      type_or_value: (CURLPROTO_FTP|CURLPROTO_FTPS)
    - item_type: preproc_def
      name: PROTO_FAMILY_POP3
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl/lib/urldata.h
      type_or_value: (CURLPROTO_POP3|CURLPROTO_POP3S)
    - item_type: preproc_def
      name: PROTO_FAMILY_SMB
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/curl/lib/urldata.h
      type_or_value: (CURLPROTO_SMB|CURLPROTO_SMBS)
    - item_type: preproc_def
      name: PROTO_FAMILY_SMTP
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/curl/lib/urldata.h
      type_or_value: (CURLPROTO_SMTP|CURLPROTO_SMTPS)
    - item_type: preproc_def
      name: PROTO_FAMILY_SSH
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl/lib/urldata.h
      type_or_value: (CURLPROTO_SCP|CURLPROTO_SFTP)
    - item_type: preproc_def
      name: CURL_LIST_ONLY_PROTOCOL
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/curl/lib/urldata.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_CONNCACHE_SIZE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/lib/urldata.h
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_IPADR_LEN
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/curl/lib/urldata.h
      type_or_value: sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")
    - item_type: preproc_def
      name: RESP_TIMEOUT
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/curl/lib/urldata.h
      type_or_value: (120*1000)
    - item_type: preproc_def
      name: CURL_MAX_INPUT_LENGTH
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/curl/lib/urldata.h
      type_or_value: '8000000'
    - item_type: preproc_def
      name: READBUFFER_SIZE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/curl/lib/urldata.h
      type_or_value: CURL_MAX_WRITE_SIZE
    - item_type: preproc_def
      name: READBUFFER_MAX
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/curl/lib/urldata.h
      type_or_value: CURL_MAX_READ_SIZE
    - item_type: preproc_def
      name: READBUFFER_MIN
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/curl/lib/urldata.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: UPLOADBUFFER_DEFAULT
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/curl/lib/urldata.h
      type_or_value: '65536'
    - item_type: preproc_def
      name: UPLOADBUFFER_MAX
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/curl/lib/urldata.h
      type_or_value: (2*1024*1024)
    - item_type: preproc_def
      name: UPLOADBUFFER_MIN
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/curl/lib/urldata.h
      type_or_value: CURL_MAX_WRITE_SIZE
    - item_type: preproc_def
      name: CURLEASY_MAGIC_NUMBER
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/curl/lib/urldata.h
      type_or_value: 0xc0dedbadU
    - item_type: preproc_def
      name: KEEP_NONE
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/curl/lib/urldata.h
      type_or_value: '0'
    - item_type: preproc_def
      name: KEEP_RECV
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<0)     '
    - item_type: preproc_def
      name: KEEP_SEND
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<1)     '
    - item_type: preproc_def
      name: KEEP_RECV_HOLD
      pos:
        line_end: 426
        line_start: 424
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: KEEP_SEND_HOLD
      pos:
        line_end: 428
        line_start: 426
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: KEEP_RECV_PAUSE
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<4) '
    - item_type: preproc_def
      name: KEEP_SEND_PAUSE
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<5) '
    - item_type: preproc_def
      name: KEEP_SEND_TIMED
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/curl/lib/urldata.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: KEEP_RECVBITS
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/curl/lib/urldata.h
      type_or_value: (KEEP_RECV | KEEP_RECV_HOLD | KEEP_RECV_PAUSE)
    - item_type: preproc_def
      name: KEEP_SENDBITS
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/curl/lib/urldata.h
      type_or_value: (KEEP_SEND | KEEP_SEND_HOLD | KEEP_SEND_PAUSE)
    - item_type: preproc_def
      name: FIRSTSOCKET
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/curl/lib/urldata.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SECONDARYSOCKET
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/curl/lib/urldata.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PROTOPT_NONE
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/curl/lib/urldata.h
      type_or_value: '0             '
    - item_type: preproc_def
      name: PROTOPT_SSL
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<0)         '
    - item_type: preproc_def
      name: PROTOPT_DUAL
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<1)        '
    - item_type: preproc_def
      name: PROTOPT_CLOSEACTION
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: PROTOPT_DIRLOCK
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/curl/lib/urldata.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: PROTOPT_NONETWORK
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<4)   '
    - item_type: preproc_def
      name: PROTOPT_NEEDSPWD
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<5)    '
    - item_type: preproc_def
      name: PROTOPT_NOURLQUERY
      pos:
        line_end: 567
        line_start: 565
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<6)   '
    - item_type: preproc_def
      name: PROTOPT_CREDSPERREQUEST
      pos:
        line_end: 569
        line_start: 567
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<7) '
    - item_type: preproc_def
      name: PROTOPT_ALPN
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<8) '
    - item_type: preproc_def
      name: PROTOPT_URLOPTIONS
      pos:
        line_end: 573
        line_start: 571
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<10) '
    - item_type: preproc_def
      name: PROTOPT_PROXY_AS_HTTP
      pos:
        line_end: 576
        line_start: 573
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<11) '
    - item_type: preproc_def
      name: PROTOPT_WILDCARD
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<12) '
    - item_type: preproc_def
      name: PROTOPT_USERPWDCTRL
      pos:
        line_end: 579
        line_start: 577
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<13) '
    - item_type: preproc_def
      name: PROTOPT_NOTCPPROXY
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<14) '
    - item_type: preproc_def
      name: PROTOPT_SSL_REUSE
      pos:
        line_end: 583
        line_start: 580
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<15)  '
    - item_type: preproc_def
      name: CONNCHECK_NONE
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/curl/lib/urldata.h
      type_or_value: '0                 '
    - item_type: preproc_def
      name: CONNCHECK_ISDEAD
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<0)          '
    - item_type: preproc_def
      name: CONNCHECK_KEEPALIVE
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<1)       '
    - item_type: preproc_def
      name: CONNRESULT_NONE
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/curl/lib/urldata.h
      type_or_value: '0                '
    - item_type: preproc_def
      name: CONNRESULT_DEAD
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(1<<0)           '
    - item_type: preproc_def
      name: TRNSPRT_TCP
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/curl/lib/urldata.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TRNSPRT_UDP
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/curl/lib/urldata.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TRNSPRT_QUIC
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/curl/lib/urldata.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TRNSPRT_UNIX
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/curl/lib/urldata.h
      type_or_value: '6'
    - item_type: preproc_def
      name: CURR_TIME
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/curl/lib/urldata.h
      type_or_value: '(5 + 1) '
    - item_type: preproc_def
      name: CREDS_NONE
      pos:
        line_end: 958
        line_start: 957
        source_file: /src/curl/lib/urldata.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CREDS_URL
      pos:
        line_end: 959
        line_start: 958
        source_file: /src/curl/lib/urldata.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: CREDS_OPTION
      pos:
        line_end: 960
        line_start: 959
        source_file: /src/curl/lib/urldata.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: CREDS_NETRC
      pos:
        line_end: 961
        line_start: 960
        source_file: /src/curl/lib/urldata.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: LIBCURL_NAME
      pos:
        line_end: 1706
        line_start: 1705
        source_file: /src/curl/lib/urldata.h
      type_or_value: '"libcurl"'
    structs:
    - fields:
      - name: '*CApath'
        type: char
      - name: '*CAfile'
        type: char
      - name: '*issuercert'
        type: char
      - name: '*clientcert'
        type: char
      - name: '*cipher_list'
        type: char
      - name: '*cipher_list13'
        type: char
      - name: '*signature_algorithms'
        type: char
      - name: '*pinned_key'
        type: char
      - name: '*CRLfile'
        type: char
      - name: '*cert_blob'
        type: struct curl_blob
      - name: '*ca_info_blob'
        type: struct curl_blob
      - name: '*issuercert_blob'
        type: struct curl_blob
      - name: '*curves'
        type: char
      - name: version_max
        type: unsigned int
      - name: ssl_options
        type: unsigned char
      - name: version
        type: unsigned char
      item_type: struct
      name: ssl_primary_config
      pos:
        line_end: 260
        line_start: 235
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: primary
        type: struct ssl_primary_config
      - name: certverifyresult
        type: long
      - name: fsslctx
        type: curl_ssl_ctx_callback
      - name: '*fsslctxp'
        type: void
      - name: '*cert_type'
        type: char
      - name: '*key'
        type: char
      - name: '*key_blob'
        type: struct curl_blob
      - name: '*key_type'
        type: char
      - name: '*key_passwd'
        type: char
      item_type: struct
      name: ssl_config_data
      pos:
        line_end: 285
        line_start: 262
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: ca_cache_timeout
        type: int
      item_type: struct
      name: ssl_general_config
      pos:
        line_end: 289
        line_start: 287
        source_file: /src/curl/lib/urldata.h
    - fields: []
      item_type: struct
      name: digestdata
      pos:
        line_end: 318
        line_start: 297
        source_file: /src/curl/lib/urldata.h
    - fields: []
      item_type: struct
      name: ConnectBits
      pos:
        line_end: 408
        line_start: 346
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: '*rawalloc'
        type: char
      - name: '*encalloc'
        type: char
      - name: '*name'
        type: char
      - name: '*dispname'
        type: char
      item_type: struct
      name: hostname
      pos:
        line_end: 415
        line_start: 410
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: '*scheme'
        type: char
      - name: "(*setup_connection)(struct Curl_easy *data,\n                               struct
          connectdata *conn)"
        type: CURLcode
      - name: (*do_it)(struct Curl_easy *data, bool *done)
        type: CURLcode
      - name: (*done)(struct Curl_easy *, CURLcode, bool)
        type: CURLcode
      - name: (*do_more)(struct Curl_easy *, int *)
        type: CURLcode
      - name: (*connect_it)(struct Curl_easy *data, bool *done)
        type: CURLcode
      - name: (*connecting)(struct Curl_easy *data, bool *done)
        type: CURLcode
      - name: (*doing)(struct Curl_easy *data, bool *done)
        type: CURLcode
      - name: "(*proto_pollset)(struct Curl_easy *data,\n                            struct
          easy_pollset *ps)"
        type: CURLcode
      - name: "(*doing_pollset)(struct Curl_easy *data,\n                            struct
          easy_pollset *ps)"
        type: CURLcode
      - name: "(*domore_pollset)(struct Curl_easy *data,\n                            struct
          easy_pollset *ps)"
        type: CURLcode
      - name: "(*perform_pollset)(struct Curl_easy *data,\n                              struct
          easy_pollset *ps)"
        type: CURLcode
      - name: "(*disconnect)(struct Curl_easy *, struct connectdata *,\n                         bool
          dead_connection)"
        type: CURLcode
      - name: "(*write_resp)(struct Curl_easy *data, const char *buf, size_t blen,\n
          \                        bool is_eos)"
        type: CURLcode
      - name: "(*write_resp_hd)(struct Curl_easy *data,\n                            const
          char *hd, size_t hdlen, bool is_eos)"
        type: CURLcode
      - name: "(*connection_check)(struct Curl_easy *data,\n                                   struct
          connectdata *conn,\n                                   unsigned int checks_to_perform)"
        type: unsigned int
      - name: (*attach)(struct Curl_easy *data, struct connectdata *conn)
        type: void
      - name: "(*follow)(struct Curl_easy *data, const char *newurl,\n                     followtype
          type)"
        type: CURLcode
      - name: defport
        type: int
      - name: protocol
        type: curl_prot_t
      - name: family
        type: curl_prot_t
      - name: flags
        type: unsigned int
      item_type: struct
      name: Curl_handler
      pos:
        line_end: 551
        line_start: 456
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: remote_ip[MAX_IPADR_LEN]
        type: char
      - name: local_ip[MAX_IPADR_LEN]
        type: char
      - name: remote_port
        type: int
      - name: local_port
        type: int
      item_type: struct
      name: ip_quadruple
      pos:
        line_end: 596
        line_start: 591
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: host
        type: struct hostname
      - name: port
        type: int
      - name: proxytype
        type: unsigned char
      - name: '*user'
        type: char
      - name: '*passwd'
        type: char
      item_type: struct
      name: proxy_info
      pos:
        line_end: 604
        line_start: 598
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: cpool_node
        type: struct Curl_llist_node
      - name: cshutdn_node
        type: struct Curl_llist_node
      - name: fclosesocket
        type: curl_closesocket_callback
      - name: '*closesocket_client'
        type: void
      - name: connection_id
        type: curl_off_t
      - name: '*destination'
        type: char
      - name: meta_hash
        type: struct Curl_hash
      - name: host
        type: struct hostname
      - name: '*hostname_resolve'
        type: char
      - name: '*secondaryhostname'
        type: char
      - name: conn_to_host
        type: struct hostname
      - name: '*user'
        type: char
      - name: '*passwd'
        type: char
      - name: '*options'
        type: char
      - name: '*sasl_authzid'
        type: char
      - name: '*oauth_bearer'
        type: char
      - name: created
        type: struct curltime
      - name: lastused
        type: struct curltime
      - name: sock[2]
        type: curl_socket_t
      - name: '*cfilter[2]'
        type: struct Curl_cfilter
      - name: '*recv[2]'
        type: Curl_recv
      - name: '*send[2]'
        type: Curl_send
      - name: recv_idx
        type: int
      - name: send_idx
        type: int
      - name: shutdown
        type: "struct {\n    struct curltime start[2]; /* when filter shutdown started
          */\n    timediff_t timeout_ms; /* 0 means no timeout */\n  }"
      - name: ssl_config
        type: struct ssl_primary_config
      - name: bits
        type: struct ConnectBits
      - name: '*handler'
        type: struct Curl_handler
      - name: '*given'
        type: struct Curl_handler
      - name: keepalive
        type: struct curltime
      - name: xfers_attached
        type: struct uint_spbset
      - name: '*attached_multi'
        type: struct Curl_multi
      - name: '*localdev'
        type: char
      - name: localportrange
        type: unsigned short
      - name: waitfor
        type: int
      - name: remote_port
        type: int
      - name: conn_to_port
        type: int
      - name: localport
        type: unsigned short
      - name: secondary_port
        type: unsigned short
      - name: transport_wanted
        type: unsigned char
      - name: ip_version
        type: unsigned char
      - name: httpversion_seen
        type: unsigned char
      - name: connect_only
        type: unsigned char
      - name: gssapi_delegation
        type: unsigned char
      item_type: struct
      name: connectdata
      pos:
        line_end: 746
        line_start: 615
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: httpcode
        type: int
      - name: httpproxycode
        type: int
      - name: httpversion
        type: int
      - name: filetime
        type: time_t
      - name: request_size
        type: curl_off_t
      - name: proxyauthavail
        type: unsigned long
      - name: httpauthavail
        type: unsigned long
      - name: proxyauthpicked
        type: unsigned long
      - name: httpauthpicked
        type: unsigned long
      - name: numconnects
        type: long
      - name: '*contenttype'
        type: char
      - name: '*wouldredirect'
        type: char
      - name: retry_after
        type: curl_off_t
      - name: header_size
        type: unsigned int
      - name: primary
        type: struct ip_quadruple
      - name: conn_remote_port
        type: int
      - name: '*conn_scheme'
        type: char
      - name: conn_protocol
        type: unsigned int
      - name: certs
        type: struct curl_certinfo
      - name: pxcode
        type: CURLproxycode
      item_type: struct
      name: PureInfo
      pos:
        line_end: 801
        line_start: 766
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: start
        type: struct curltime
      - name: start_size
        type: curl_off_t
      item_type: struct
      name: pgrs_measure
      pos:
        line_end: 806
        line_start: 803
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: total_size
        type: curl_off_t
      - name: cur_size
        type: curl_off_t
      - name: speed
        type: curl_off_t
      - name: limit
        type: struct pgrs_measure
      item_type: struct
      name: pgrs_dir
      pos:
        line_end: 813
        line_start: 808
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: lastshow
        type: time_t
      - name: ul
        type: struct pgrs_dir
      - name: dl
        type: struct pgrs_dir
      - name: current_speed
        type: curl_off_t
      - name: earlydata_sent
        type: curl_off_t
      - name: timespent
        type: timediff_t
      - name: t_postqueue
        type: timediff_t
      - name: t_nslookup
        type: timediff_t
      - name: t_connect
        type: timediff_t
      - name: t_appconnect
        type: timediff_t
      - name: t_pretransfer
        type: timediff_t
      - name: t_posttransfer
        type: timediff_t
      - name: t_starttransfer
        type: timediff_t
      - name: t_redirect
        type: timediff_t
      - name: start
        type: struct curltime
      - name: t_startsingle
        type: struct curltime
      - name: t_startop
        type: struct curltime
      - name: t_startqueue
        type: struct curltime
      - name: t_acceptdata
        type: struct curltime
      - name: speeder[ CURR_TIME ]
        type: curl_off_t
      - name: speeder_time[ CURR_TIME ]
        type: struct curltime
      - name: speeder_c
        type: unsigned char
      item_type: struct
      name: Progress
      pos:
        line_end: 852
        line_start: 815
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: want
        type: unsigned long
      - name: picked
        type: unsigned long
      - name: avail
        type: unsigned long
      item_type: struct
      name: auth
      pos:
        line_end: 882
        line_start: 870
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: '*next'
        type: struct Curl_data_prio_node
      - name: '*data'
        type: struct Curl_easy
      item_type: struct
      name: Curl_data_prio_node
      pos:
        line_end: 888
        line_start: 885
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: weight
        type: int
      item_type: struct
      name: Curl_data_priority
      pos:
        line_end: 905
        line_start: 895
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: list
        type: struct Curl_llist_node
      - name: time
        type: struct curltime
      - name: eid
        type: expire_id
      item_type: struct
      name: time_node
      pos:
        line_end: 943
        line_start: 939
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: '*scheme'
        type: char
      - name: '*hostname'
        type: char
      - name: '*port'
        type: char
      - name: '*user'
        type: char
      - name: '*password'
        type: char
      - name: '*options'
        type: char
      - name: '*path'
        type: char
      - name: '*query'
        type: char
      item_type: struct
      name: urlpieces
      pos:
        line_end: 955
        line_start: 946
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: keeps_speed
        type: struct curltime
      - name: lastconnect_id
        type: curl_off_t
      - name: recent_conn_id
        type: curl_off_t
      - name: headerb
        type: struct dynbuf
      - name: '*hstslist'
        type: struct curl_slist
      - name: current_speed
        type: curl_off_t
      - name: '*first_host'
        type: char
      - name: first_remote_port
        type: int
      - name: first_remote_protocol
        type: curl_prot_t
      - name: os_errno
        type: int
      - name: requests
        type: int
      - name: authhost
        type: struct auth
      - name: authproxy
        type: struct auth
      - name: '*dns[2]'
        type: struct Curl_dns_entry
      - name: expiretime
        type: struct curltime
      - name: timenode
        type: struct Curl_tree
      - name: timeoutlist
        type: struct Curl_llist
      - name: expires[EXPIRE_LAST]
        type: struct time_node
      - name: '*most_recent_ftp_entrypath'
        type: char
      - name: '*range'
        type: char
      - name: resume_from
        type: curl_off_t
      - name: infilesize
        type: curl_off_t
      - name: fread_func
        type: curl_read_callback
      - name: '*in'
        type: void
      - name: '*uh'
        type: CURLU
      - name: up
        type: struct urlpieces
      - name: '*url'
        type: char
      - name: '*referer'
        type: char
      - name: '*resolve'
        type: struct curl_slist
      - name: aptr
        type: "struct dynamically_allocated_data {\n    char *uagent;\n    char *accept_encoding;\n
          \   char *userpwd;\n    char *rangeline;\n    char *ref;\n    char *host;\n#ifndef
          CURL_DISABLE_COOKIES\n    char *cookiehost;\n#endif\n#ifndef CURL_DISABLE_RTSP\n
          \   char *rtsp_transport;\n#endif\n\n    /* transfer credentials */\n    char
          *user;\n    char *passwd;\n#ifndef CURL_DISABLE_PROXY\n    char *proxyuserpwd;\n
          \   char *proxyuser;\n    char *proxypasswd;\n#endif\n  }"
      - name: followlocation
        type: unsigned short
      - name: retrycount
        type: unsigned char
      - name: httpreq
        type: unsigned char
      - name: creds_from
        type: unsigned int
      item_type: struct
      name: UrlState
      pos:
        line_end: 1152
        line_start: 962
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: '*uagent'
        type: char
      - name: '*accept_encoding'
        type: char
      - name: '*userpwd'
        type: char
      - name: '*rangeline'
        type: char
      - name: '*ref'
        type: char
      - name: '*host'
        type: char
      - name: '*user'
        type: char
      - name: '*passwd'
        type: char
      item_type: struct
      name: dynamically_allocated_data
      pos:
        line_end: 1098
        line_start: 1076
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: '*err'
        type: FILE
      - name: '*debugdata'
        type: void
      - name: '*errorbuffer'
        type: char
      - name: '*out'
        type: void
      - name: '*in_set'
        type: void
      - name: '*writeheader'
        type: void
      - name: httpauth
        type: unsigned long
      - name: proxyauth
        type: unsigned long
      - name: '*postfields'
        type: void
      - name: seek_func
        type: curl_seek_callback
      - name: postfieldsize
        type: curl_off_t
      - name: fwrite_func
        type: curl_write_callback
      - name: fwrite_header
        type: curl_write_callback
      - name: fwrite_rtp
        type: curl_write_callback
      - name: fread_func_set
        type: curl_read_callback
      - name: fprogress
        type: curl_progress_callback
      - name: fxferinfo
        type: curl_xferinfo_callback
      - name: fdebug
        type: curl_debug_callback
      - name: ioctl_func
        type: curl_ioctl_callback
      - name: fsockopt
        type: curl_sockopt_callback
      - name: '*sockopt_client'
        type: void
      - name: fopensocket
        type: curl_opensocket_callback
      - name: '*opensocket_client'
        type: void
      - name: fclosesocket
        type: curl_closesocket_callback
      - name: '*closesocket_client'
        type: void
      - name: fprereq
        type: curl_prereq_callback
      - name: '*prereq_userp'
        type: void
      - name: '*seek_client'
        type: void
      - name: '*progress_client'
        type: void
      - name: '*ioctl_client'
        type: void
      - name: conn_max_idle_ms
        type: timediff_t
      - name: conn_max_age_ms
        type: timediff_t
      - name: filesize
        type: curl_off_t
      - name: low_speed_limit
        type: long
      - name: low_speed_time
        type: long
      - name: max_send_speed
        type: curl_off_t
      - name: max_recv_speed
        type: curl_off_t
      - name: set_resume_from
        type: curl_off_t
      - name: '*headers'
        type: struct curl_slist
      - name: '*httppost'
        type: struct curl_httppost
      - name: '*resolve'
        type: struct curl_slist
      - name: '*connect_to'
        type: struct curl_slist
      - name: timevalue
        type: time_t
      - name: ssl
        type: struct ssl_config_data
      - name: general_ssl
        type: struct ssl_general_config
      - name: dns_cache_timeout_ms
        type: timediff_t
      - name: buffer_size
        type: unsigned int
      - name: upload_buffer_size
        type: unsigned int
      - name: '*private_data'
        type: void
      - name: max_filesize
        type: curl_off_t
      - name: new_file_perms
        type: unsigned int
      - name: '*str[STRING_LAST]'
        type: char
      - name: '*blobs[BLOB_LAST]'
        type: struct curl_blob
      - name: allowed_protocols
        type: curl_prot_t
      - name: redir_protocols
        type: curl_prot_t
      - name: timeout
        type: timediff_t
      - name: connecttimeout
        type: timediff_t
      - name: happy_eyeballs_timeout
        type: timediff_t
      - name: server_response_timeout
        type: timediff_t
      - name: shutdowntimeout
        type: timediff_t
      - name: tcp_keepidle
        type: int
      - name: tcp_keepintvl
        type: int
      - name: tcp_keepcnt
        type: int
      - name: resolver_start
        type: curl_resolver_start_callback
      - name: '*resolver_start_client'
        type: void
      - name: upkeep_interval_ms
        type: long
      - name: '*uh'
        type: CURLU
      - name: maxconnects
        type: unsigned int
      - name: maxredirs
        type: short
      - name: expect_100_timeout
        type: unsigned short
      - name: use_port
        type: unsigned short
      - name: use_ssl
        type: unsigned char
      - name: keep_post
        type: char
      - name: timecondition
        type: unsigned char
      - name: method
        type: unsigned char
      - name: httpwant
        type: unsigned char
      - name: ipver
        type: unsigned char
      - name: upload_flags
        type: unsigned char
      - name: http_follow_mode
        type: unsigned char
      item_type: struct
      name: UserDefined
      pos:
        line_end: 1614
        line_start: 1313
        source_file: /src/curl/lib/urldata.h
    - fields:
      - name: magic
        type: unsigned int
      - name: id
        type: curl_off_t
      - name: mid
        type: unsigned int
      - name: master_mid
        type: unsigned int
      - name: '*sub_xfer_done'
        type: multi_sub_xfer_done_cb
      - name: '*conn'
        type: struct connectdata
      - name: mstate
        type: CURLMstate
      - name: result
        type: CURLcode
      - name: msg
        type: struct Curl_message
      - name: '*multi'
        type: struct Curl_multi
      - name: '*multi_easy'
        type: struct Curl_multi
      - name: '*share'
        type: struct Curl_share
      - name: meta_hash
        type: struct Curl_hash
      - name: req
        type: struct SingleRequest
      - name: set
        type: struct UserDefined
      - name: progress
        type: struct Progress
      - name: state
        type: struct UrlState
      - name: info
        type: struct PureInfo
      - name: tsi
        type: struct curl_tlssessioninfo
      item_type: struct
      name: Curl_easy
      pos:
        line_end: 1703
        line_start: 1638
        source_file: /src/curl/lib/urldata.h
    typedefs:
    - item_type: typedef
      name: curl_prot_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/curl/lib/urldata.h
      type: curl_off_t
    - item_type: typedef
      name: curl_prot_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/curl/lib/urldata.h
      type: unsigned int
    - item_type: typedef
      name: "(Curl_send)(struct Curl_easy *data,   /* transfer */\n                             int
        sockindex,            /* socketindex */\n                             const
        void *buf,          /* data to write */\n                             size_t
        len,               /* amount to send */\n                             bool
        eos,                 /* last chunk */\n                             size_t
        *pnwritten)"
      pos:
        line_end: 166
        line_start: 161
        source_file: /src/curl/lib/urldata.h
      type: CURLcode
    - item_type: typedef
      name: "(Curl_recv)(struct Curl_easy *data,   /* transfer */\n                             int
        sockindex,            /* socketindex */\n                             char
        *buf,                /* store data here */\n                             size_t
        len,               /* max amount to read */\n                             size_t
        *pnread)"
      pos:
        line_end: 173
        line_start: 169
        source_file: /src/curl/lib/urldata.h
      type: CURLcode
    - item_type: typedef
      name: "multi_sub_xfer_done_cb(struct Curl_easy *master_easy,\n                                    struct
        Curl_easy *sub_easy,\n                                    CURLcode result)"
      pos:
        line_end: 1626
        line_start: 1624
        source_file: /src/curl/lib/urldata.h
      type: void
    union: []
- function_names:
  - ISLOWHEXALHA
  - ISUPHEXALHA
  - ISLOWCNTRL
  - IS7F
  - ISLOWPRINT
  - ISPRINT
  - ISGRAPH
  - ISCNTRL
  - ISALPHA
  - ISXDIGIT
  - ISODIGIT
  - ISALNUM
  - ISUPPER
  - ISLOWER
  - ISDIGIT
  - ISBLANK
  - ISSPACE
  - ISURLPUNTCS
  - ISUNRESERVED
  - ISNEWLINE
  source_file: /src/curl/lib/curl_ctype.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VERIFYNODE
  - verifynode
  - VERIFYNODE
  - Curl_llist_init
  - Curl_llist_insert_next
  - Curl_llist_append
  - Curl_node_take_elem
  - Curl_node_uremove
  - Curl_node_remove
  - Curl_llist_destroy
  - Curl_llist_head
  - Curl_llist_tail
  - Curl_llist_count
  - Curl_node_elem
  - Curl_node_next
  - Curl_node_prev
  - Curl_node_llist
  source_file: /src/curl/lib/llist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LLISTINIT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/llist.c
      type_or_value: '0x100cc001 '
    - item_type: preproc_def
      name: NODEINIT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/llist.c
      type_or_value: '0x12344321 '
    - item_type: preproc_def
      name: NODEREM
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/llist.c
      type_or_value: '0x54321012 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_CONC_MACROS_
  - CURL_CONC_MACROS
  - CURL_PRINTF
  - CURL_PRINTF
  - select
  - select
  - lseek
  - fstat
  - lseek
  - fstat
  - lseek
  - CURL_UINT64_C
  - select
  - ioctl
  - FALLTHROUGH
  - FALLTHROUGH
  - raise
  - CURL_SETERRNO
  - strerror
  - CURL_SETERRNO
  - S_ISREG
  - S_ISDIR
  - CURLMAX
  - CURLMIN
  - STRCONST
  - CURL_ARRAYSIZE
  - Curl_safefree
  - ALLOC_SIZE
  - ALLOC_SIZE2
  - ALLOC_SIZE
  - ALLOC_SIZE2
  - sclose
  - fake_sclose
  - CURL_GETADDRINFO
  - CURL_FREEADDRINFO
  - CURL_SOCKET
  - CURL_SOCKETPAIR
  - CURL_ACCEPT
  - CURL_ACCEPT4
  - CURL_SEND
  - CURL_RECV
  - sclose
  - fake_sclose
  source_file: /src/curl/lib/curl_setup.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: availability
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: curl_pp_attribute_disabled
    - item_type: preproc_def
      name: availability
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: curl_pp_attribute_disabled
    - item_type: preproc_def
      name: TARGET_OS_OSX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: TARGET_OS_MAC
    - item_type: preproc_def
      name: USE_IPV6
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _POSIX_PTHREAD_SEMANTICS
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_ALTSVC
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_COOKIES
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_BASIC_AUTH
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_BEARER_AUTH
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_AWS
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_DOH
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_FORM_API
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_HEADERS_API
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_HSTS
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_HTTP_AUTH
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_T
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: CURL_FORMAT_CURL_OFF_TU
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"llu"'
    - item_type: preproc_def
      name: CURL_TEMP_PRINTF
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: CURL_PRINTF
    - item_type: preproc_def
      name: __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__
      pos:
        line_end: 379
        line_start: 377
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
    - item_type: preproc_def
      name: USE_RESOLVE_ON_IPS
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_MACOS_CALL_COPYPROXIES
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '1'
    - item_type: preproc_def
      name: struct_stat
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: struct _stati64
    - item_type: preproc_def
      name: LSEEK_ERROR
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: (__int64)-1
    - item_type: preproc_def
      name: struct_stat
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: struct _stat
    - item_type: preproc_def
      name: LSEEK_ERROR
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: (long)-1
    - item_type: preproc_def
      name: LSEEK_ERROR
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: (offset_t)-1
    - item_type: preproc_def
      name: struct_stat
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: struct stat
    - item_type: preproc_def
      name: LSEEK_ERROR
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: (off_t)-1
    - item_type: preproc_def
      name: SIZEOF_TIME_T
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_CURL_SOCKET_T
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_CURL_SOCKET_T
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '4'
    - item_type: preproc_def
      name: FMT_SOCKET_T
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"d"'
    - item_type: preproc_def
      name: FMT_SOCKET_T
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"zd"'
    - item_type: preproc_def
      name: FMT_SOCKET_T
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"qd"'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CURL_OFF_T_MAX
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0x7FFFFFFFFFFFFFFF'
    - item_type: preproc_def
      name: CURL_OFF_T_MIN
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: (-CURL_OFF_T_MAX - 1)
    - item_type: preproc_def
      name: CURL_UINT64_SUFFIX
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: CURL_SUFFIX_CURL_OFF_TU
    - item_type: preproc_def
      name: FMT_PRId64
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: CURL_FORMAT_CURL_OFF_T
    - item_type: preproc_def
      name: FMT_PRIu64
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: CURL_FORMAT_CURL_OFF_TU
    - item_type: preproc_def
      name: FMT_OFF_T
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: CURL_FORMAT_CURL_OFF_T
    - item_type: preproc_def
      name: FMT_OFF_TU
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: CURL_FORMAT_CURL_OFF_TU
    - item_type: preproc_def
      name: TIME_T_MAX
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: UINT_MAX
    - item_type: preproc_def
      name: TIME_T_MIN
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TIME_T_MAX
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: INT_MAX
    - item_type: preproc_def
      name: TIME_T_MIN
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: INT_MIN
    - item_type: preproc_def
      name: TIME_T_MAX
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0xFFFFFFFFFFFFFFFF'
    - item_type: preproc_def
      name: TIME_T_MIN
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TIME_T_MAX
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0x7FFFFFFFFFFFFFFF'
    - item_type: preproc_def
      name: TIME_T_MIN
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: (-TIME_T_MAX - 1)
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: 18446744073709551615U
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: 4294967295U
    - item_type: preproc_def
      name: SSIZE_MAX
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '9223372036854775807'
    - item_type: preproc_def
      name: SSIZE_MAX
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '2147483647'
    - item_type: preproc_def
      name: GETHOSTNAME_TYPE_ARG2
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: int
    - item_type: preproc_def
      name: GETHOSTNAME_TYPE_ARG2
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: size_t
    - item_type: preproc_def
      name: DIR_CHAR
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"\\"'
    - item_type: preproc_def
      name: DIR_CHAR
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"/"'
    - item_type: preproc_def
      name: WARN_UNUSED_RESULT
      pos:
        line_end: 781
        line_start: 780
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: WARN_UNUSED_RESULT
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: CURL_NORETURN
      pos:
        line_end: 793
        line_start: 792
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: CURL_NORETURN
      pos:
        line_end: 795
        line_start: 794
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: getenv
      pos:
        line_end: 821
        line_start: 820
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: 'curl_getenv  '
    - item_type: preproc_def
      name: errno
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EINTR
      pos:
        line_end: 826
        line_start: 825
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '4'
    - item_type: preproc_def
      name: EAGAIN
      pos:
        line_end: 827
        line_start: 826
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '11'
    - item_type: preproc_def
      name: ENOMEM
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '12'
    - item_type: preproc_def
      name: EACCES
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '13'
    - item_type: preproc_def
      name: EEXIST
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '17'
    - item_type: preproc_def
      name: EISDIR
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '21'
    - item_type: preproc_def
      name: EINVAL
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '22'
    - item_type: preproc_def
      name: ENOSPC
      pos:
        line_end: 833
        line_start: 832
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '28'
    - item_type: preproc_def
      name: STDIN_FILENO
      pos:
        line_end: 836
        line_start: 835
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Curl_nop_stmt
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: do { } while(0)
    - item_type: preproc_def
      name: SHUT_RD
      pos:
        line_end: 864
        line_start: 863
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: SHUT_WR
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SHUT_RDWR
      pos:
        line_end: 872
        line_start: 871
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: STDIN_FILENO
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: fileno(stdin)
    - item_type: preproc_def
      name: STDOUT_FILENO
      pos:
        line_end: 890
        line_start: 889
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: fileno(stdout)
    - item_type: preproc_def
      name: STDERR_FILENO
      pos:
        line_end: 893
        line_start: 892
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: fileno(stderr)
    - item_type: preproc_def
      name: CURL_O_BINARY
      pos:
        line_end: 899
        line_start: 898
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: O_BINARY
    - item_type: preproc_def
      name: CURL_O_BINARY
      pos:
        line_end: 901
        line_start: 900
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FOPEN_READTEXT
      pos:
        line_end: 908
        line_start: 907
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"rt"'
    - item_type: preproc_def
      name: FOPEN_WRITETEXT
      pos:
        line_end: 909
        line_start: 908
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"wt"'
    - item_type: preproc_def
      name: FOPEN_APPENDTEXT
      pos:
        line_end: 910
        line_start: 909
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"at"'
    - item_type: preproc_def
      name: FOPEN_READTEXT
      pos:
        line_end: 918
        line_start: 917
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"rt"'
    - item_type: preproc_def
      name: FOPEN_WRITETEXT
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"w"'
    - item_type: preproc_def
      name: FOPEN_APPENDTEXT
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"a"'
    - item_type: preproc_def
      name: FOPEN_READTEXT
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"r"'
    - item_type: preproc_def
      name: FOPEN_WRITETEXT
      pos:
        line_end: 923
        line_start: 922
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"w"'
    - item_type: preproc_def
      name: FOPEN_APPENDTEXT
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '"a"'
    - item_type: preproc_def
      name: CURL_SA_FAMILY_T
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: ADDRESS_FAMILY
    - item_type: preproc_def
      name: CURL_SA_FAMILY_T
      pos:
        line_end: 932
        line_start: 931
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: sa_family_t
    - item_type: preproc_def
      name: CURL_SA_FAMILY_T
      pos:
        line_end: 934
        line_start: 933
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: unsigned char
    - item_type: preproc_def
      name: CURL_SA_FAMILY_T
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: STRERROR_LEN
      pos:
        line_end: 955
        line_start: 954
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '256'
    - item_type: preproc_def
      name: ALLOC_FUNC
      pos:
        line_end: 990
        line_start: 989
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __attribute__((__malloc__))
    - item_type: preproc_def
      name: ALLOC_FUNC
      pos:
        line_end: 999
        line_start: 998
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __attribute__((__malloc__))
    - item_type: preproc_def
      name: ALLOC_FUNC
      pos:
        line_end: 1003
        line_start: 1002
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __declspec(restrict)
    - item_type: preproc_def
      name: CURL_GETADDRINFO
      pos:
        line_end: 1102
        line_start: 1101
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: getaddrinfo
    - item_type: preproc_def
      name: CURL_FREEADDRINFO
      pos:
        line_end: 1103
        line_start: 1102
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: freeaddrinfo
    - item_type: preproc_def
      name: CURL_SOCKET
      pos:
        line_end: 1104
        line_start: 1103
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: socket
    - item_type: preproc_def
      name: CURL_SOCKETPAIR
      pos:
        line_end: 1106
        line_start: 1105
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: socketpair
    - item_type: preproc_def
      name: CURL_ACCEPT
      pos:
        line_end: 1108
        line_start: 1107
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: accept
    - item_type: preproc_def
      name: CURL_ACCEPT4
      pos:
        line_end: 1110
        line_start: 1109
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: accept4
    - item_type: preproc_def
      name: CURL_SEND
      pos:
        line_end: 1112
        line_start: 1111
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: send
    - item_type: preproc_def
      name: CURL_RECV
      pos:
        line_end: 1113
        line_start: 1112
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: recv
    - item_type: preproc_def
      name: UNITTEST
      pos:
        line_end: 1128
        line_start: 1127
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: static
    - item_type: preproc_def
      name: UNIX_PATH_MAX
      pos:
        line_end: 1162
        line_start: 1161
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: '108'
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1187
        line_start: 1186
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: 'inline '
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1191
        line_start: 1190
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: 'inline '
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1194
        line_start: 1193
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: 'inline '
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1197
        line_start: 1196
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __inline__
    - item_type: preproc_def
      name: CURL_INLINE
      pos:
        line_end: 1199
        line_start: 1198
        source_file: /src/curl/lib/curl_setup.h
      type_or_value: __inline
    structs:
    - fields:
      - name: sun_family
        type: CURL_SA_FAMILY_T
      - name: sun_path[UNIX_PATH_MAX]
        type: char
      item_type: struct
      name: sockaddr_un
      pos:
        line_end: 1166
        line_start: 1163
        source_file: /src/curl/lib/curl_setup.h
    typedefs:
    - item_type: typedef
      name: curl_uint64_t
      pos:
        line_end: 585
        line_start: 585
        source_file: /src/curl/lib/curl_setup.h
      type: unsigned CURL_TYPEOF_CURL_OFF_T
    - item_type: typedef
      name: curl_int64_t
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/curl/lib/curl_setup.h
      type: CURL_TYPEOF_CURL_OFF_T
    - item_type: typedef
      name: '*(*curl_malloc_callback)(size_t size)'
      pos:
        line_end: 963
        line_start: 963
        source_file: /src/curl/lib/curl_setup.h
      type: void
    - item_type: typedef
      name: (*curl_free_callback)(void *ptr)
      pos:
        line_end: 964
        line_start: 964
        source_file: /src/curl/lib/curl_setup.h
      type: void
    - item_type: typedef
      name: '*(*curl_realloc_callback)(void *ptr, size_t size)'
      pos:
        line_end: 965
        line_start: 965
        source_file: /src/curl/lib/curl_setup.h
      type: void
    - item_type: typedef
      name: '*(*curl_strdup_callback)(const char *str)'
      pos:
        line_end: 966
        line_start: 966
        source_file: /src/curl/lib/curl_setup.h
      type: char
    - item_type: typedef
      name: '*(*curl_calloc_callback)(size_t nmemb, size_t size)'
      pos:
        line_end: 967
        line_start: 967
        source_file: /src/curl/lib/curl_setup.h
      type: void
    union: []
- function_names:
  - Curl_freeaddrinfo
  - Curl_getaddrinfo_ex
  - Curl_he2ai
  - Curl_ip2addr
  - Curl_str2addr
  - Curl_unix2addr
  - curl_dbg_freeaddrinfo
  - curl_dbg_getaddrinfo
  - Curl_addrinfo_set_port
  source_file: /src/curl/lib/curl_addrinfo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: vqualifier
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/curl_addrinfo.c
      type_or_value: volatile
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_TRC_M_is_verbose
  - CURL_TRC_DNS_is_verbose
  - CURL_TRC_TIMER_is_verbose
  - infof
  - CURL_TRC_M
  - CURL_TRC_CF
  - CURL_TRC_WRITE
  - CURL_TRC_READ
  - CURL_TRC_DNS
  - CURL_TRC_TIMER
  - CURL_TRC_FTP
  - CURL_TRC_SMTP
  - CURL_TRC_SSLS
  - CURL_TRC_WS
  - Curl_trc_is_verbose
  - Curl_trc_cf_is_verbose
  - Curl_trc_ft_is_verbose
  - CURL_MSTATE_NAME
  - CURL_TRC_EASY_TIMERS
  - Curl_trc_is_verbose
  - Curl_trc_cf_is_verbose
  - Curl_trc_ft_is_verbose
  - CURL_MSTATE_NAME
  - CURL_TRC_EASY_TIMERS
  source_file: /src/curl/lib/curl_trc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: failf
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_failf
    - item_type: preproc_def
      name: CURL_LOG_LVL_NONE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_LOG_LVL_INFO
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: infof
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_infof
    - item_type: preproc_def
      name: CURL_TRC_M
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_multi
    - item_type: preproc_def
      name: CURL_TRC_CF
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_cf_infof
    - item_type: preproc_def
      name: CURL_TRC_WRITE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_write
    - item_type: preproc_def
      name: CURL_TRC_READ
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_read
    - item_type: preproc_def
      name: CURL_TRC_DNS
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_dns
    - item_type: preproc_def
      name: CURL_TRC_TIMER
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_timer
    - item_type: preproc_def
      name: CURL_TRC_FTP
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_ftp
    - item_type: preproc_def
      name: CURL_TRC_SMTP
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_smtp
    - item_type: preproc_def
      name: CURL_TRC_SSLS
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_ssls
    - item_type: preproc_def
      name: CURL_TRC_WS
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/curl/lib/curl_trc.h
      type_or_value: Curl_trc_ws
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: log_level
        type: int
      item_type: struct
      name: curl_trc_feat
      pos:
        line_end: 102
        line_start: 99
        source_file: /src/curl/lib/curl_trc.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/cf-h1-proxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_headersep
  source_file: /src/curl/lib/transfer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/config-os400.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '"OS/400"'
    - item_type: preproc_def
      name: HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ALARM
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPEERNAME
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETSOCKNAME
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG_LONG
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_LONG
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '8'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/curl/lib/config-os400.h
      type_or_value: char *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/curl/lib/config-os400.h
      type_or_value: char *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/curl/lib/config-os400.h
      type_or_value: int
    - item_type: preproc_def
      name: CURL_CA_BUNDLE
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/curl/lib/config-os400.h
      type_or_value: '"/QIBM/UserData/ICSS/Cert/Server/DEFAULT.KDB"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_rand
  - Curl_rand
  source_file: /src/curl/lib/rand.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GetEnv
  - curl_getenv
  source_file: /src/curl/lib/getenv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/strerror.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_win32_init
  - CURL_TEXT
  - CURL_TEXT
  - Curl_win32_cleanup
  - curl_load_library
  source_file: /src/curl/lib/system_win32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOAD_WITH_ALTERED_SEARCH_PATH
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/curl/lib/system_win32.c
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: LOAD_LIBRARY_SEARCH_SYSTEM32
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/curl/lib/system_win32.c
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: LOADLIBARYEX
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/curl/lib/system_win32.c
      type_or_value: L"LoadLibraryExW"
    - item_type: preproc_def
      name: LOADLIBARYEX
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/curl/lib/system_win32.c
      type_or_value: '"LoadLibraryExW"'
    - item_type: preproc_def
      name: LOADLIBARYEX
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/curl/lib/system_win32.c
      type_or_value: '"LoadLibraryExA"'
    structs: []
    typedefs:
    - item_type: typedef
      name: (APIENTRY *LOADLIBRARYEX_FN)(LPCTSTR, HANDLE, DWORD)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/curl/lib/system_win32.c
      type: HMODULE
    union: []
- function_names:
  - Curl_uint_tbl_init
  - uint_tbl_clear_rows
  - Curl_uint_tbl_resize
  - Curl_uint_tbl_destroy
  - Curl_uint_tbl_clear
  - Curl_uint_tbl_capacity
  - Curl_uint_tbl_count
  - Curl_uint_tbl_get
  - Curl_uint_tbl_add
  - Curl_uint_tbl_remove
  - Curl_uint_tbl_contains
  - uint_tbl_next_at
  - Curl_uint_tbl_first
  - Curl_uint_tbl_next
  source_file: /src/curl/lib/uint-table.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINT_TBL_MAGIC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/uint-table.c
      type_or_value: '0x62757473'
    structs: []
    typedefs: []
    union: []
- function_names:
  - lookup
  - curl_easy_option_by_name
  - curl_easy_option_by_id
  - curl_easy_option_next
  - curl_easy_option_by_name
  - curl_easy_option_by_id
  - curl_easy_option_next
  source_file: /src/curl/lib/easygetopt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_checkheaders
  - data_pending
  - Curl_meets_timecondition
  - xfer_recv_shutdown
  - xfer_recv_shutdown_started
  - Curl_xfer_send_shutdown
  - xfer_recv_resp
  - sendrecv_dl
  - sendrecv_ul
  - Curl_sendrecv
  - Curl_init_CONNECT
  - Curl_pretransfer
  - Curl_retry_request
  - xfer_setup
  - Curl_xfer_setup_nop
  - Curl_xfer_setup_sendrecv
  - Curl_xfer_setup_send
  - Curl_xfer_setup_recv
  - Curl_xfer_set_shutdown
  - Curl_xfer_write_resp
  - Curl_xfer_write_is_paused
  - Curl_xfer_write_resp_hd
  - Curl_xfer_write_done
  - Curl_xfer_needs_flush
  - Curl_xfer_flush
  - Curl_xfer_send
  - Curl_xfer_recv
  - Curl_xfer_send_close
  - Curl_xfer_is_blocked
  - Curl_xfer_send_is_paused
  - Curl_xfer_recv_is_paused
  - Curl_xfer_pause_send
  - Curl_xfer_pause_recv
  - Curl_xfer_is_too_fast
  source_file: /src/curl/lib/transfer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONN_MAX_RETRIES
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/curl/lib/transfer.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - entry_new
  - entry_append
  - entry_free
  - Curl_dynhds_init
  - Curl_dynhds_free
  - Curl_dynhds_reset
  - Curl_dynhds_count
  - Curl_dynhds_set_opts
  - Curl_dynhds_getn
  - Curl_dynhds_get
  - Curl_dynhds_cget
  - Curl_dynhds_add
  - Curl_dynhds_cadd
  - Curl_dynhds_h1_add_line
  - Curl_dynhds_h1_cadd_line
  - Curl_dynhds_contains
  - Curl_dynhds_ccontains
  - Curl_dynhds_count_name
  - Curl_dynhds_ccount_name
  - Curl_dynhds_set
  - Curl_dynhds_remove
  - Curl_dynhds_cremove
  - Curl_dynhds_h1_dprint
  - Curl_dynhds_to_nva
  source_file: /src/curl/lib/dynhds.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/uint-hash.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**table'
        type: struct uint_hash_entry
      - name: '*dtor'
        type: Curl_uint_hash_dtor
      - name: slots
        type: unsigned int
      - name: size
        type: unsigned int
      item_type: struct
      name: uint_hash
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/curl/lib/uint-hash.h
    typedefs:
    - item_type: typedef
      name: Curl_uint_hash_dtor(unsigned int id, void *value)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/curl/lib/uint-hash.h
      type: void
    - item_type: typedef
      name: "Curl_uint_hash_visit_cb(unsigned int id, void *value,\n                                     void
        *user_data)"
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/uint-hash.h
      type: bool
    union: []
- function_names:
  - OUTCHAR
  - dollarstring
  - is_arg_used
  - mark_arg_used
  - parsefmt
  - out_double
  - out_number
  - out_string
  - out_pointer
  - formatf
  - addbyter
  - curl_mvsnprintf
  - curl_msnprintf
  - alloc_addbyter
  - curlx_dyn_vprintf
  - curl_mvaprintf
  - curl_maprintf
  - storebuffer
  - curl_msprintf
  - fputc_wrapper
  - curl_mprintf
  - curl_mfprintf
  - curl_mvsprintf
  - curl_mvprintf
  - curl_mvfprintf
  source_file: /src/curl/lib/mprintf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LONG_LONG_TYPE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/mprintf.c
      type_or_value: long long
    - item_type: preproc_def
      name: LONG_LONG_TYPE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/mprintf.c
      type_or_value: __int64
    - item_type: preproc_def
      name: mp_intmax_t
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/mprintf.c
      type_or_value: LONG_LONG_TYPE
    - item_type: preproc_def
      name: mp_uintmax_t
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/mprintf.c
      type_or_value: unsigned LONG_LONG_TYPE
    - item_type: preproc_def
      name: mp_intmax_t
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/mprintf.c
      type_or_value: long
    - item_type: preproc_def
      name: mp_uintmax_t
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/mprintf.c
      type_or_value: unsigned long
    - item_type: preproc_def
      name: BUFFSIZE
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '326 '
    - item_type: preproc_def
      name: MAX_PARAMETERS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: MAX_SEGMENTS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: PFMT_OK
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PFMT_DOLLAR
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: PFMT_DOLLARWIDTH
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: PFMT_DOLLARPREC
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: PFMT_MANYARGS
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: PFMT_PREC
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: PFMT_PRECMIX
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '6 '
    - item_type: preproc_def
      name: PFMT_WIDTH
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '7 '
    - item_type: preproc_def
      name: PFMT_INPUTGAP
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: PFMT_WIDTHARG
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '9 '
    - item_type: preproc_def
      name: PFMT_PRECARG
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: PFMT_MANYSEGS
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/curl/lib/mprintf.c
      type_or_value: '11 '
    structs:
    - fields:
      - name: type
        type: FormatType
      - name: val
        type: "union {\n    const char *str;\n    void *ptr;\n    mp_intmax_t nums;
          /* signed */\n    mp_uintmax_t numu; /* unsigned */\n    double dnum;\n
          \ }"
      item_type: struct
      name: va_input
      pos:
        line_end: 138
        line_start: 129
        source_file: /src/curl/lib/mprintf.c
    - fields:
      - name: width
        type: int
      - name: precision
        type: int
      - name: flags
        type: unsigned int
      - name: input
        type: unsigned int
      - name: '*start'
        type: char
      - name: outlen
        type: size_t
      item_type: struct
      name: outsegment
      pos:
        line_end: 150
        line_start: 143
        source_file: /src/curl/lib/mprintf.c
    - fields:
      - name: '*buffer'
        type: char
      - name: length
        type: size_t
      - name: max
        type: size_t
      item_type: struct
      name: nsprintf
      pos:
        line_end: 156
        line_start: 152
        source_file: /src/curl/lib/mprintf.c
    - fields:
      - name: '*b'
        type: struct dynbuf
      - name: merr
        type: char
      item_type: struct
      name: asprintf
      pos:
        line_end: 161
        line_start: 158
        source_file: /src/curl/lib/mprintf.c
    - fields:
      - name: width
        type: int
      - name: prec
        type: int
      - name: flags
        type: unsigned int
      item_type: struct
      name: mproperty
      pos:
        line_end: 625
        line_start: 621
        source_file: /src/curl/lib/mprintf.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/pop3.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setopt_set_timeout_sec
  - setopt_set_timeout_ms
  - Curl_setstropt
  - Curl_setblobopt
  - setstropt_userpwd
  - setstropt_interface
  - C_SSLVERSION_VALUE
  - C_SSLVERSION_MAX_VALUE
  - protocol2num
  - httpauth
  - setopt_HTTP_VERSION
  - Curl_setopt_SSLVERSION
  - setopt_RTSP_REQUEST
  - set_ssl_options
  - setopt_bool
  - value_range
  - setopt_long
  - setopt_slist
  - setopt_pointers
  - cookielist
  - cookiefile
  - setopt_cptr
  - setopt_func
  - setopt_offt
  - setopt_blob
  - Curl_vsetopt
  - curl_easy_setopt
  source_file: /src/curl/lib/setopt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HMAC_SHA256
  - sha256_to_hex
  - find_date_hdr
  - trim_headers
  - compare_header_names
  - merge_duplicate_headers
  - make_headers
  - parse_content_sha_hdr
  - calc_payload_hash
  - calc_s3_payload_hash
  - compare_func
  - canon_path
  - canon_query
  - Curl_output_aws_sigv4
  - pair_array_free
  - dyn_array_free
  - split_to_dyn_array
  - is_reserved_char
  - uri_encode_path
  - encode_query_component
  - http_aws_decode_encode
  - should_urlencode
  source_file: /src/curl/lib/http_aws_sigv4.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIMESTAMP_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: '17'
    - item_type: preproc_def
      name: SHA256_HEX_LENGTH
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: (2 * CURL_SHA256_DIGEST_LENGTH + 1)
    - item_type: preproc_def
      name: MAX_QUERY_COMPONENTS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_SIGV4_LEN
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: '64'
    - item_type: preproc_def
      name: DATE_HDR_KEY_LEN
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: (MAX_SIGV4_LEN + sizeof("X--Date"))
    - item_type: preproc_def
      name: DATE_FULL_HDR_LEN
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: (DATE_HDR_KEY_LEN + TIMESTAMP_SIZE + 1)
    - item_type: preproc_def
      name: CONTENT_SHA256_KEY_LEN
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: (MAX_SIGV4_LEN + sizeof("X--Content-Sha256"))
    - item_type: preproc_def
      name: CONTENT_SHA256_HDR_LEN
      pos:
        line_end: 407
        line_start: 405
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: "(CONTENT_SHA256_KEY_LEN + 2 + \\\n                                SHA256_HEX_LENGTH)"
    - item_type: preproc_def
      name: S3_UNSIGNED_PAYLOAD
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: '"UNSIGNED-PAYLOAD"'
    - item_type: preproc_def
      name: SPLIT_BY
      pos:
        line_end: 1017
        line_start: 1016
        source_file: /src/curl/lib/http_aws_sigv4.c
      type_or_value: '''&'''
    structs:
    - fields:
      - name: key
        type: struct dynbuf
      - name: value
        type: struct dynbuf
      item_type: struct
      name: pair
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/curl/lib/http_aws_sigv4.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/http.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_HTTP_V1x
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/http.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: CURL_HTTP_V2x
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/http.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: CURL_HTTP_V3x
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/http.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: CURLAUTH_PICKNONE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/curl/lib/http.h
      type_or_value: '(1<<30) '
    - item_type: preproc_def
      name: MAX_INITIAL_POST_SIZE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/curl/lib/http.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: EXPECT_100_THRESHOLD
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/curl/lib/http.h
      type_or_value: (1024*1024)
    - item_type: preproc_def
      name: MAX_HTTP_RESP_HEADER_SIZE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/curl/lib/http.h
      type_or_value: (300*1024)
    - item_type: preproc_def
      name: MAX_HTTP_RESP_HEADER_COUNT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/curl/lib/http.h
      type_or_value: '5000'
    - item_type: preproc_def
      name: HTTP_PSEUDO_METHOD
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/curl/lib/http.h
      type_or_value: '":method"'
    - item_type: preproc_def
      name: HTTP_PSEUDO_SCHEME
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/curl/lib/http.h
      type_or_value: '":scheme"'
    - item_type: preproc_def
      name: HTTP_PSEUDO_AUTHORITY
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/curl/lib/http.h
      type_or_value: '":authority"'
    - item_type: preproc_def
      name: HTTP_PSEUDO_PATH
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/curl/lib/http.h
      type_or_value: '":path"'
    - item_type: preproc_def
      name: HTTP_PSEUDO_STATUS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/curl/lib/http.h
      type_or_value: '":status"'
    structs:
    - fields:
      - name: rcvd_min
        type: unsigned char
      - name: wanted
        type: http_majors
      - name: allowed
        type: http_majors
      item_type: struct
      name: http_negotiation
      pos:
        line_end: 80
        line_start: 72
        source_file: /src/curl/lib/http.h
    - fields:
      - name: headers
        type: struct dynhds
      - name: trailers
        type: struct dynhds
      - name: '*scheme'
        type: char
      - name: '*authority'
        type: char
      - name: '*path'
        type: char
      - name: method[1]
        type: char
      item_type: struct
      name: httpreq
      pos:
        line_end: 226
        line_start: 219
        source_file: /src/curl/lib/http.h
    - fields:
      - name: status
        type: int
      - name: '*description'
        type: char
      - name: headers
        type: struct dynhds
      - name: trailers
        type: struct dynhds
      - name: '*prev'
        type: struct http_resp
      item_type: struct
      name: http_resp
      pos:
        line_end: 276
        line_start: 270
        source_file: /src/curl/lib/http.h
    typedefs:
    - item_type: typedef
      name: http_majors
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/curl/lib/http.h
      type: unsigned char
    union: []
- function_names:
  - Curl_doh
  - Curl_doh_is_resolved
  source_file: /src/curl/lib/doh.h
  types:
    enum:
    - enumerators:
      - name: DOH_SLOT_IPV4
        value: '0'
      - name: DOH_SLOT_IPV6
        value: '1'
      - name: DOH_SLOT_COUNT
      - name: DOH_SLOT_HTTPS_RR
        value: '2'
      item_type: enum
      name: doh_slot_num
      pos:
        line_end: 80
        line_start: 61
        source_file: /src/curl/lib/doh.h
    preproc_defs:
    - item_type: preproc_def
      name: CURL_EZM_DOH_PROBE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/doh.h
      type_or_value: '"ezm:doh-p"'
    - item_type: preproc_def
      name: DOH_MAX_DNSREQ_SIZE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/doh.h
      type_or_value: (256 + 16)
    - item_type: preproc_def
      name: DOH_MAX_ADDR
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl/lib/doh.h
      type_or_value: '24'
    - item_type: preproc_def
      name: DOH_MAX_CNAME
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl/lib/doh.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DOH_MAX_HTTPS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/curl/lib/doh.h
      type_or_value: '4'
    - item_type: preproc_def
      name: COMMA_CHAR
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/curl/lib/doh.h
      type_or_value: ''','''
    - item_type: preproc_def
      name: BACKSLASH_CHAR
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/curl/lib/doh.h
      type_or_value: '''\\'''
    structs:
    - fields:
      - name: req_body[DOH_MAX_DNSREQ_SIZE]
        type: unsigned char
      - name: '*req_hds'
        type: struct curl_slist
      - name: resp_body
        type: struct dynbuf
      - name: req_body_len
        type: size_t
      - name: dnstype
        type: DNStype
      item_type: struct
      name: doh_request
      pos:
        line_end: 95
        line_start: 89
        source_file: /src/curl/lib/doh.h
    - fields:
      - name: probe_mid
        type: unsigned int
      - name: body
        type: struct dynbuf
      - name: dnstype
        type: DNStype
      - name: result
        type: CURLcode
      item_type: struct
      name: doh_response
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/curl/lib/doh.h
    - fields:
      - name: probe_resp[DOH_SLOT_COUNT]
        type: struct doh_response
      - name: pending
        type: unsigned int
      - name: port
        type: int
      - name: '*host'
        type: char
      item_type: struct
      name: doh_probes
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/curl/lib/doh.h
    - fields:
      - name: type
        type: int
      - name: ip
        type: "union {\n    unsigned char v4[4]; /* network byte order */\n    unsigned
          char v6[16];\n  }"
      item_type: struct
      name: dohaddr
      pos:
        line_end: 137
        line_start: 131
        source_file: /src/curl/lib/doh.h
    - fields:
      - name: len
        type: uint16_t
      - name: '*val'
        type: unsigned char
      item_type: struct
      name: dohhttps_rr
      pos:
        line_end: 151
        line_start: 148
        source_file: /src/curl/lib/doh.h
    - fields:
      - name: cname[DOH_MAX_CNAME]
        type: struct dynbuf
      - name: addr[DOH_MAX_ADDR]
        type: struct dohaddr
      - name: numaddr
        type: int
      - name: ttl
        type: unsigned int
      - name: numcname
        type: int
      item_type: struct
      name: dohentry
      pos:
        line_end: 164
        line_start: 154
        source_file: /src/curl/lib/doh.h
    typedefs: []
    union: []
- function_names:
  - global_init_lock
  - global_init_unlock
  - global_init
  - curl_global_init
  - curl_global_init_mem
  - curl_global_cleanup
  - curl_global_trace
  - curl_global_sslset
  - curl_easy_init
  - events_timer
  - poll2cselect
  - socketcb2poll
  - events_socket
  - events_setup
  - populate_fds
  - poll_fds
  - wait_or_timeout
  - easy_events
  - easy_events
  - easy_transfer
  - easy_perform
  - curl_easy_perform
  - curl_easy_perform_ev
  - curl_easy_cleanup
  - curl_easy_getinfo
  - dupset
  - dupeasy_meta_freeentry
  - curl_easy_duphandle
  - curl_easy_reset
  - curl_easy_pause
  - easy_connection
  - curl_easy_recv
  - Curl_connect_only_attach
  - Curl_senddata
  - curl_easy_send
  - curl_easy_upkeep
  - curl_easy_ssls_import
  - curl_easy_ssls_export
  - Curl_meta_set
  - Curl_meta_remove
  - Curl_meta_get
  - Curl_meta_reset
  source_file: /src/curl/lib/easy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: system_strdup
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/curl/lib/easy.c
      type_or_value: _strdup
    - item_type: preproc_def
      name: system_strdup
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/lib/easy.c
      type_or_value: Curl_strdup
    - item_type: preproc_def
      name: system_strdup
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/curl/lib/easy.c
      type_or_value: strdup
    - item_type: preproc_def
      name: DEBUG_EV_POLL
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/curl/lib/easy.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*next'
        type: struct socketmonitor
      - name: socket
        type: struct pollfd
      item_type: struct
      name: socketmonitor
      pos:
        line_end: 384
        line_start: 381
        source_file: /src/curl/lib/easy.c
    - fields:
      - name: ms
        type: long
      - name: msbump
        type: bool
      - name: num_sockets
        type: int
      - name: '*list'
        type: struct socketmonitor
      - name: running_handles
        type: int
      item_type: struct
      name: events
      pos:
        line_end: 392
        line_start: 386
        source_file: /src/curl/lib/easy.c
    typedefs: []
    union: []
- function_names:
  - Curl_memrchr
  source_file: /src/curl/lib/curl_memrchr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_input_ntlm
  - Curl_output_ntlm
  source_file: /src/curl/lib/http_ntlm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strdup
  - malloc
  - calloc
  - realloc
  - free
  - Curl_tcsdup
  - Curl_tcsdup
  source_file: /src/curl/lib/memdebug.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/imap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IMAP_TYPE_CLEARTEXT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/imap.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: IMAP_TYPE_SASL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/imap.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: IMAP_TYPE_NONE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/imap.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IMAP_TYPE_ANY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/imap.h
      type_or_value: (IMAP_TYPE_CLEARTEXT|IMAP_TYPE_SASL)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/config-riscos.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: '"ARM-RISC OS"'
    - item_type: preproc_def
      name: HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HAVE_RECV
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: void *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: size_t
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: ssize_t
    - item_type: preproc_def
      name: HAVE_SEND
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_QUAL_ARG2
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: const
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: void *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/curl/lib/config-riscos.h
      type_or_value: ssize_t
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/rename.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/parsedate.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/hash.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct Curl_hash_element
      - name: '*ptr'
        type: void
      - name: dtor
        type: Curl_hash_elem_dtor
      - name: key_len
        type: size_t
      - name: key[1]
        type: char
      item_type: struct
      name: Curl_hash_element
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/curl/lib/hash.h
    - fields:
      - name: '**table'
        type: struct Curl_hash_element
      - name: hash_func
        type: hash_function
      - name: comp_func
        type: comp_function
      - name: dtor
        type: Curl_hash_dtor
      - name: slots
        type: size_t
      - name: size
        type: size_t
      item_type: struct
      name: Curl_hash
      pos:
        line_end: 71
        line_start: 57
        source_file: /src/curl/lib/hash.h
    - fields:
      - name: '*hash'
        type: struct Curl_hash
      - name: slot_index
        type: size_t
      - name: '*current'
        type: struct Curl_hash_element
      item_type: struct
      name: Curl_hash_iterator
      pos:
        line_end: 80
        line_start: 73
        source_file: /src/curl/lib/hash.h
    typedefs:
    - item_type: typedef
      name: "(*hash_function) (void *key,\n                                 size_t
        key_length,\n                                 size_t slots_num)"
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/curl/lib/hash.h
      type: size_t
    - item_type: typedef
      name: "(*comp_function) (void *key1,\n                                 size_t
        key1_len,\n                                 void *key2,\n                                 size_t
        key2_len)"
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/curl/lib/hash.h
      type: size_t
    - item_type: typedef
      name: (*Curl_hash_dtor)(void *)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/curl/lib/hash.h
      type: void
    - item_type: typedef
      name: (*Curl_hash_elem_dtor)(void *key, size_t key_len, void *p)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/curl/lib/hash.h
      type: void
    union: []
- function_names:
  - doh_strerror
  - doh_req_encode
  - doh_probe_write_cb
  - doh_print_buf
  - doh_probe_done
  - doh_probe_dtor
  - ERROR_CHECK_SETOPT
  - doh_probe_run
  - Curl_doh
  - doh_skipqname
  - doh_get16bit
  - doh_get32bit
  - doh_store_a
  - doh_store_aaaa
  - doh_store_https
  - doh_store_cname
  - doh_rdata
  - de_init
  - doh_resp_decode
  - doh_show
  - doh2ai
  - doh_type2name
  - de_cleanup
  - doh_decode_rdata_name
  - doh_resp_decode_httpsrr
  - doh_print_httpsrr
  - Curl_doh_is_resolved
  - Curl_doh_close
  - Curl_doh_cleanup
  source_file: /src/curl/lib/doh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_CLASS_IN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/doh.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LOCAL_PB_HEXMAX
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/curl/lib/doh.c
      type_or_value: '400'
    structs: []
    typedefs: []
    union: []
- function_names:
  - checkday
  - checkmonth
  - checktz
  - skip
  - time2epoch
  - oneortwodigit
  - match_time
  - parsedate
  - parsedate
  - curl_getdate
  - Curl_getdate_capped
  - Curl_gmtime
  source_file: /src/curl/lib/parsedate.c
  types:
    enum:
    - enumerators:
      - name: DATE_MDAY
      - name: DATE_YEAR
      - name: DATE_TIME
      item_type: enum
      name: assume
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/curl/lib/parsedate.c
    preproc_defs:
    - item_type: preproc_def
      name: PARSEDATE_OK
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/lib/parsedate.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PARSEDATE_FAIL
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/lib/parsedate.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: PARSEDATE_LATER
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/curl/lib/parsedate.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PARSEDATE_SOONER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/curl/lib/parsedate.c
      type_or_value: '2'
    - item_type: preproc_def
      name: tDAYZONE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl/lib/parsedate.c
      type_or_value: '-60       '
    - item_type: preproc_def
      name: NAME_LEN
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/curl/lib/parsedate.c
      type_or_value: '12'
    structs:
    - fields:
      - name: name[5]
        type: char
      - name: offset
        type: int
      item_type: struct
      name: tzinfo
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/curl/lib/parsedate.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_printf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MERR_OK
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/curl/lib/curl_printf.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MERR_MEM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/lib/curl_printf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MERR_TOO_LARGE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/lib/curl_printf.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smtp_endofresp
  - smtp_get_message
  - smtp_state
  - smtp_perform_ehlo
  - smtp_perform_helo
  - smtp_perform_starttls
  - smtp_perform_upgrade_tls
  - smtp_perform_auth
  - smtp_continue_auth
  - smtp_cancel_auth
  - smtp_perform_authentication
  - smtp_perform_command
  - smtp_perform_mail
  - smtp_perform_rcpt_to
  - smtp_perform_quit
  - smtp_state_servergreet_resp
  - smtp_state_starttls_resp
  - smtp_state_ehlo_resp
  - smtp_state_helo_resp
  - smtp_state_auth_resp
  - smtp_state_command_resp
  - smtp_state_mail_resp
  - smtp_state_rcpt_resp
  - smtp_state_data_resp
  - smtp_state_postdata_resp
  - smtp_pp_statemachine
  - smtp_multi_statemach
  - smtp_block_statemach
  - smtp_pollset
  - smtp_connect
  - smtp_done
  - smtp_perform
  - smtp_do
  - smtp_disconnect
  - smtp_dophase_done
  - smtp_doing
  - smtp_regular_transfer
  - smtp_easy_dtor
  - smtp_conn_dtor
  - smtp_setup_connection
  - smtp_parse_url_options
  - smtp_parse_url_path
  - smtp_parse_custom_request
  - smtp_parse_address
  - cr_eob_init
  - cr_eob_close
  - cr_eob_read
  - cr_eob_total_length
  - cr_eob_add
  source_file: /src/curl/lib/smtp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_SMTP_EASY
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/lib/smtp.c
      type_or_value: '"meta:proto:smtp:easy"'
    - item_type: preproc_def
      name: CURL_META_SMTP_CONN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/lib/smtp.c
      type_or_value: '"meta:proto:smtp:conn"'
    - item_type: preproc_def
      name: SMTP_EOB
      pos:
        line_end: 1953
        line_start: 1952
        source_file: /src/curl/lib/smtp.c
      type_or_value: '"\r\n.\r\n"'
    - item_type: preproc_def
      name: SMTP_EOB_FIND_LEN
      pos:
        line_end: 1954
        line_start: 1953
        source_file: /src/curl/lib/smtp.c
      type_or_value: '3'
    structs:
    - fields:
      - name: pp
        type: struct pingpong
      - name: sasl
        type: struct SASL
      - name: state
        type: smtpstate
      - name: '*domain'
        type: char
      item_type: struct
      name: smtp_conn
      pos:
        line_end: 128
        line_start: 116
        source_file: /src/curl/lib/smtp.c
    - fields:
      - name: transfer
        type: curl_pp_transfer
      - name: '*custom'
        type: char
      - name: '*rcpt'
        type: struct curl_slist
      - name: rcpt_last_error
        type: int
      - name: eob
        type: size_t
      item_type: struct
      name: SMTP
      pos:
        line_end: 144
        line_start: 134
        source_file: /src/curl/lib/smtp.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: buf
        type: struct bufq
      - name: n_eob
        type: size_t
      - name: eob
        type: size_t
      item_type: struct
      name: cr_eob_ctx
      pos:
        line_end: 1930
        line_start: 1922
        source_file: /src/curl/lib/smtp.c
    typedefs: []
    union: []
- function_names:
  - ws_frame_name_of_op
  - ws_frame_firstbyte2flags
  - ws_frame_flags2firstbyte
  - ws_dec_info
  - ws_dec_next_frame
  - ws_dec_reset
  - ws_dec_init
  - ws_dec_read_head
  - ws_dec_pass_payload
  - ws_dec_pass
  - update_meta
  - ws_cw_init
  - ws_cw_close
  - ws_enc_add_cntrl
  - ws_payload_remain
  - ws_cw_dec_next
  - ws_cw_write
  - ws_enc_info
  - ws_enc_reset
  - ws_enc_init
  - ws_enc_add_frame
  - ws_enc_write_head
  - ws_enc_write_payload
  - ws_enc_add_pending
  - ws_enc_send
  - cr_ws_init
  - cr_ws_close
  - cr_ws_read
  - Curl_ws_request
  - ws_conn_dtor
  - Curl_ws_accept
  - ws_client_collect
  - nw_in_recv
  - curl_ws_recv
  - ws_flush
  - ws_send_raw_blocking
  - ws_send_raw
  - curl_ws_send
  - ws_setup_conn
  - curl_ws_meta
  - curl_ws_start_frame
  - curl_ws_recv
  - curl_ws_send
  - curl_ws_meta
  - curl_ws_start_frame
  source_file: /src/curl/lib/ws.c
  types:
    enum:
    - enumerators:
      - name: WS_DEC_INIT
      - name: WS_DEC_HEAD
      - name: WS_DEC_PAYLOAD
      item_type: enum
      name: ws_dec_state
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/curl/lib/ws.c
    preproc_defs:
    - item_type: preproc_def
      name: WSBIT_FIN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/ws.c
      type_or_value: (0x80)
    - item_type: preproc_def
      name: WSBIT_RSV1
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/ws.c
      type_or_value: (0x40)
    - item_type: preproc_def
      name: WSBIT_RSV2
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/lib/ws.c
      type_or_value: (0x20)
    - item_type: preproc_def
      name: WSBIT_RSV3
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/ws.c
      type_or_value: (0x10)
    - item_type: preproc_def
      name: WSBIT_RSV_MASK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/ws.c
      type_or_value: (WSBIT_RSV1 | WSBIT_RSV2 | WSBIT_RSV3)
    - item_type: preproc_def
      name: WSBIT_OPCODE_CONT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/ws.c
      type_or_value: (0x0)
    - item_type: preproc_def
      name: WSBIT_OPCODE_TEXT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/lib/ws.c
      type_or_value: (0x1)
    - item_type: preproc_def
      name: WSBIT_OPCODE_BIN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/ws.c
      type_or_value: (0x2)
    - item_type: preproc_def
      name: WSBIT_OPCODE_CLOSE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/lib/ws.c
      type_or_value: (0x8)
    - item_type: preproc_def
      name: WSBIT_OPCODE_PING
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/ws.c
      type_or_value: (0x9)
    - item_type: preproc_def
      name: WSBIT_OPCODE_PONG
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/ws.c
      type_or_value: (0xa)
    - item_type: preproc_def
      name: WSBIT_OPCODE_MASK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/ws.c
      type_or_value: (0xf)
    - item_type: preproc_def
      name: WSBIT_MASK
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/ws.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: WS_CHUNK_SIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/ws.c
      type_or_value: '65535'
    - item_type: preproc_def
      name: WS_CHUNK_COUNT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/ws.c
      type_or_value: '2'
    - item_type: preproc_def
      name: WS_MAX_CNTRL_LEN
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl/lib/ws.c
      type_or_value: '125'
    structs:
    - fields:
      - name: frame_age
        type: int
      - name: frame_flags
        type: int
      - name: payload_offset
        type: curl_off_t
      - name: payload_len
        type: curl_off_t
      - name: head[10]
        type: unsigned char
      - name: head_len
        type: int
      - name: state
        type: enum ws_dec_state
      - name: cont_flags
        type: int
      item_type: struct
      name: ws_decoder
      pos:
        line_end: 96
        line_start: 87
        source_file: /src/curl/lib/ws.c
    - fields:
      - name: payload_len
        type: curl_off_t
      - name: payload_remain
        type: curl_off_t
      - name: xori
        type: unsigned int
      - name: mask[4]
        type: unsigned char
      - name: firstbyte
        type: unsigned char
      item_type: struct
      name: ws_encoder
      pos:
        line_end: 107
        line_start: 100
        source_file: /src/curl/lib/ws.c
    - fields:
      - name: type
        type: unsigned int
      - name: payload_len
        type: size_t
      - name: payload[WS_MAX_CNTRL_LEN]
        type: unsigned char
      item_type: struct
      name: ws_cntrl_frame
      pos:
        line_end: 116
        line_start: 112
        source_file: /src/curl/lib/ws.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: dec
        type: struct ws_decoder
      - name: enc
        type: struct ws_encoder
      - name: recvbuf
        type: struct bufq
      - name: sendbuf
        type: struct bufq
      - name: recvframe
        type: struct curl_ws_frame
      - name: pending
        type: struct ws_cntrl_frame
      - name: sendbuf_payload
        type: size_t
      item_type: struct
      name: websocket
      pos:
        line_end: 129
        line_start: 120
        source_file: /src/curl/lib/ws.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: buf
        type: struct bufq
      item_type: struct
      name: ws_cw_ctx
      pos:
        line_end: 587
        line_start: 584
        source_file: /src/curl/lib/ws.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: '*ws'
        type: struct websocket
      - name: '*next_writer'
        type: struct Curl_cwriter
      - name: cw_type
        type: int
      item_type: struct
      name: ws_cw_dec_ctx
      pos:
        line_end: 610
        line_start: 605
        source_file: /src/curl/lib/ws.c
    - fields:
      - name: super
        type: struct Curl_creader
      item_type: struct
      name: cr_ws_ctx
      pos:
        line_end: 1121
        line_start: 1117
        source_file: /src/curl/lib/ws.c
    - fields:
      - name: '*name'
        type: char
      - name: '*val'
        type: char
      item_type: struct
      name: wsfield
      pos:
        line_end: 1240
        line_start: 1237
        source_file: /src/curl/lib/ws.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: '*ws'
        type: struct websocket
      - name: '*buffer'
        type: unsigned char
      - name: buflen
        type: size_t
      - name: bufidx
        type: size_t
      - name: frame_age
        type: int
      - name: frame_flags
        type: int
      - name: payload_offset
        type: curl_off_t
      - name: payload_len
        type: curl_off_t
      - name: written
        type: bool
      item_type: struct
      name: ws_collect
      pos:
        line_end: 1462
        line_start: 1451
        source_file: /src/curl/lib/ws.c
    typedefs:
    - item_type: typedef
      name: "ws_write_payload(const unsigned char *buf, size_t buflen,\n                                  int
        frame_age, int frame_flags,\n                                  curl_off_t
        payload_offset,\n                                  curl_off_t payload_len,\n
        \                                 void *userp,\n                                  size_t
        *pnwritten)"
      pos:
        line_end: 332
        line_start: 327
        source_file: /src/curl/lib/ws.c
      type: CURLcode
    union: []
- function_names: []
  source_file: /src/curl/lib/slist.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_ipv6_v6only
  - tcpnodelay
  - nosigpipe
  - nosigpipe
  - KEEPALIVE_FACTOR
  - tcpkeepalive
  - sock_assign_addr
  - socket_open
  - Curl_socket_open
  - socket_close
  - Curl_socket_close
  - Curl_sndbuf_init
  - Curl_parse_interface
  - bindlocal
  - verifyconnect
  - socket_connect_result
  - cf_socket_ctx_init
  - cf_socket_close
  - cf_socket_shutdown
  - cf_socket_destroy
  - set_local_ip
  - set_remote_ip
  - cf_socket_open
  - do_connect
  - cf_tcp_connect
  - cf_socket_adjust_pollset
  - win_update_sndbuf_size
  - cf_socket_send
  - cf_socket_recv
  - cf_socket_update_data
  - cf_socket_active
  - cf_socket_cntrl
  - cf_socket_conn_is_alive
  - cf_socket_query
  - Curl_cf_tcp_create
  - cf_udp_setup_quic
  - cf_udp_connect
  - Curl_cf_udp_create
  - Curl_cf_unix_create
  - cf_tcp_accept_timeleft
  - cf_tcp_set_accepted_remote_ip
  - cf_tcp_accept_connect
  - Curl_conn_tcp_listen_set
  - Curl_conn_is_tcp_listen
  - cf_is_socket
  - Curl_cf_socket_peek
  source_file: /src/curl/lib/cf-socket.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIO_KEEPALIVE_VALS
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/curl/lib/cf-socket.c
      type_or_value: _WSAIOW(IOC_VENDOR,4)
    - item_type: preproc_def
      name: SIO_IDEAL_SEND_BACKLOG_QUERY
      pos:
        line_end: 1421
        line_start: 1420
        source_file: /src/curl/lib/cf-socket.c
      type_or_value: '0x4004747B'
    structs:
    - fields:
      - name: onoff
        type: u_long
      - name: keepalivetime
        type: u_long
      - name: keepaliveinterval
        type: u_long
      item_type: struct
      name: tcp_keepalive
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/curl/lib/cf-socket.c
    - fields:
      - name: transport
        type: int
      - name: addr
        type: struct Curl_sockaddr_ex
      - name: sock
        type: curl_socket_t
      - name: ip
        type: struct ip_quadruple
      - name: started_at
        type: struct curltime
      - name: connected_at
        type: struct curltime
      - name: first_byte_at
        type: struct curltime
      - name: error
        type: int
      item_type: struct
      name: cf_socket_ctx
      pos:
        line_end: 946
        line_start: 922
        source_file: /src/curl/lib/cf-socket.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/urlapi-int.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_protocol_family
  - Curl_freeset
  - up_free
  - Curl_close
  - Curl_init_userdefined
  - easy_meta_freeentry
  - Curl_open
  - Curl_conn_free
  - xfer_may_multiplex
  - proxy_info_matches
  - socks_proxy_info_matches
  - proxy_info_matches
  - socks_proxy_info_matches
  - conn_maxage
  - Curl_conn_seems_dead
  - Curl_conn_upkeep
  - ssh_config_matches
  - url_match_connect_config
  - url_match_fully_connected
  - url_match_multi
  - url_match_multiplex_needs
  - url_match_multiplex_limits
  - url_match_ssl_use
  - url_match_proxy_use
  - url_match_proxy_use
  - url_match_http_multiplex
  - url_match_http_version
  - url_match_http_multiplex
  - url_match_http_version
  - url_match_proto_config
  - url_match_auth
  - url_match_destination
  - url_match_ssl_config
  - url_match_auth_ntlm
  - url_match_auth_ntlm
  - url_match_conn
  - url_match_result
  - ConnectionExists
  - allocate_conn
  - Curl_get_scheme_handler
  - Curl_getn_scheme_handler
  - findprotocol
  - Curl_uc_to_curlcode
  - zonefrom_url
  - if
  - zonefrom_url
  - parseurlandfillconn
  - setup_range
  - setup_connection_internals
  - detect_proxy
  - parse_proxy_auth
  - create_conn_helper_init_proxy
  - Curl_parse_login_details
  - parse_remote_port
  - str_has_ctrl
  - override_login
  - set_login
  - parse_connect_to_host_port
  - parse_connect_to_string
  - parse_connect_to_slist
  - resolve_unix
  - resolve_server
  - url_move_hostname
  - reuse_conn
  - conn_meta_freeentry
  - create_conn
  - Curl_setup_conn
  - Curl_connect
  - Curl_init_do
  - priority_remove_child
  - Curl_data_priority_add_child
  - data_priority_cleanup
  - Curl_data_priority_clear_state
  - Curl_conn_meta_set
  - Curl_conn_meta_remove
  - Curl_conn_meta_get
  - Curl_1st_err
  - Curl_1st_fatal
  source_file: /src/curl/lib/url.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNIX_SOCKET_PREFIX
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/curl/lib/url.c
      type_or_value: '"localhost"'
    - item_type: preproc_def
      name: MAX_URL_LEN
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/curl/lib/url.c
      type_or_value: '0xffff'
    structs:
    - fields:
      - name: '*found'
        type: struct connectdata
      - name: '*data'
        type: struct Curl_easy
      - name: '*needle'
        type: struct connectdata
      item_type: struct
      name: url_conn_match
      pos:
        line_end: 800
        line_start: 787
        source_file: /src/curl/lib/url.c
    typedefs: []
    union: []
- function_names:
  - Curl_cf_def_close
  - Curl_cf_def_shutdown
  - Curl_cf_def_adjust_pollset
  - Curl_cf_def_data_pending
  - Curl_cf_def_send
  - Curl_cf_def_recv
  - Curl_cf_def_conn_is_alive
  - Curl_cf_def_conn_keep_alive
  - Curl_cf_def_query
  - Curl_conn_cf_discard_chain
  - Curl_conn_cf_discard_all
  - Curl_conn_close
  - Curl_conn_shutdown
  - Curl_cf_recv
  - Curl_cf_send
  - cf_bufq_reader
  - Curl_cf_recv_bufq
  - cf_bufq_writer
  - Curl_cf_send_bufq
  - Curl_cf_create
  - Curl_conn_cf_add
  - Curl_conn_cf_insert_after
  - Curl_conn_cf_discard
  - Curl_conn_cf_connect
  - Curl_conn_cf_close
  - Curl_conn_cf_send
  - Curl_conn_cf_recv
  - cf_verboseconnect
  - Curl_conn_connect
  - Curl_conn_is_setup
  - Curl_conn_is_connected
  - Curl_conn_is_ip_connected
  - cf_is_ssl
  - Curl_conn_is_ssl
  - Curl_conn_get_ssl_info
  - Curl_conn_get_ip_info
  - Curl_conn_is_multiplex
  - Curl_conn_get_transport
  - Curl_conn_get_alpn_negotiated
  - Curl_conn_http_version
  - Curl_conn_data_pending
  - Curl_conn_cf_needs_flush
  - Curl_conn_needs_flush
  - Curl_conn_cf_adjust_pollset
  - Curl_conn_adjust_pollset
  - Curl_conn_cf_poll
  - Curl_conn_get_current_host
  - Curl_cf_def_cntrl
  - Curl_conn_cf_cntrl
  - Curl_conn_cf_get_socket
  - Curl_conn_cf_get_transport
  - Curl_conn_cf_get_alpn_negotiated
  - cf_get_remote_addr
  - Curl_conn_cf_get_ip_info
  - Curl_conn_get_first_socket
  - Curl_conn_get_remote_addr
  - Curl_conn_forget_socket
  - cf_cntrl_all
  - Curl_conn_ev_data_setup
  - Curl_conn_flush
  - Curl_conn_ev_data_done_send
  - Curl_conn_ev_data_done
  - Curl_conn_ev_data_pause
  - cf_cntrl_update_info
  - conn_report_connect_stats
  - Curl_conn_is_alive
  - Curl_conn_keep_alive
  - Curl_conn_get_max_concurrent
  - Curl_conn_get_stream_error
  - Curl_conn_sockindex
  - Curl_conn_recv
  - Curl_conn_send
  source_file: /src/curl/lib/cfilters.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CF_CONN_NUM_POLLS_ON_STACK
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/curl/lib/cfilters.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: '*cf'
        type: struct Curl_cfilter
      item_type: struct
      name: cf_io_ctx
      pos:
        line_end: 270
        line_start: 267
        source_file: /src/curl/lib/cfilters.c
    typedefs: []
    union: []
- function_names:
  - Curl_client_write
  - cl_reset_writer
  - cl_reset_reader
  - Curl_client_cleanup
  - Curl_client_reset
  - Curl_client_start
  - Curl_creader_will_rewind
  - Curl_creader_set_rewind
  - Curl_cwriter_write
  - Curl_cwriter_def_init
  - Curl_cwriter_def_write
  - Curl_cwriter_def_close
  - get_max_body_write_len
  - cw_download_write
  - cw_raw_write
  - Curl_cwriter_create
  - Curl_cwriter_free
  - Curl_cwriter_count
  - do_init_writer_stack
  - Curl_cwriter_add
  - Curl_cwriter_get_by_name
  - Curl_cwriter_get_by_type
  - Curl_cwriter_is_content_decoding
  - Curl_cwriter_is_paused
  - Curl_cwriter_unpause
  - Curl_creader_read
  - Curl_creader_clear_eos
  - Curl_creader_def_init
  - Curl_creader_def_close
  - Curl_creader_def_read
  - Curl_creader_def_needs_rewind
  - Curl_creader_def_total_length
  - Curl_creader_def_resume_from
  - Curl_creader_def_cntrl
  - Curl_creader_def_is_paused
  - Curl_creader_def_done
  - cr_in_init
  - cr_in_read
  - cr_in_needs_rewind
  - cr_in_total_length
  - cr_in_resume_from
  - cr_in_rewind
  - cr_in_cntrl
  - cr_in_is_paused
  - Curl_creader_create
  - Curl_creader_free
  - cr_lc_init
  - cr_lc_close
  - cr_lc_read
  - cr_lc_total_length
  - cr_lc_add
  - do_init_reader_stack
  - Curl_creader_set_fread
  - Curl_creader_add
  - Curl_creader_set
  - Curl_client_read
  - Curl_creader_needs_rewind
  - cr_null_read
  - cr_null_total_length
  - Curl_creader_set_null
  - cr_buf_read
  - cr_buf_needs_rewind
  - cr_buf_cntrl
  - cr_buf_total_length
  - cr_buf_resume_from
  - Curl_creader_set_buf
  - Curl_creader_total_length
  - Curl_creader_client_length
  - Curl_creader_resume_from
  - Curl_creader_unpause
  - Curl_creader_is_paused
  - Curl_creader_done
  - Curl_creader_get_by_type
  source_file: /src/curl/lib/sendf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      item_type: struct
      name: cw_download_ctx
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/curl/lib/sendf.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: read_cb
        type: curl_read_callback
      - name: '*cb_user_data'
        type: void
      - name: total_len
        type: curl_off_t
      - name: read_len
        type: curl_off_t
      - name: error_result
        type: CURLcode
      item_type: struct
      name: cr_in_ctx
      pos:
        line_end: 645
        line_start: 634
        source_file: /src/curl/lib/sendf.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: buf
        type: struct bufq
      item_type: struct
      name: cr_lc_ctx
      pos:
        line_end: 986
        line_start: 980
        source_file: /src/curl/lib/sendf.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: '*buf'
        type: char
      - name: blen
        type: size_t
      - name: index
        type: size_t
      item_type: struct
      name: cr_buf_ctx
      pos:
        line_end: 1296
        line_start: 1291
        source_file: /src/curl/lib/sendf.c
    typedefs: []
    union: []
- function_names:
  - check_gss_err
  - Curl_SOCKS5_gssapi_negotiate
  source_file: /src/curl/lib/socks_gssapi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_GSS_LEN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/socks_gssapi.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/config-plan9.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUILDING_LIBCURL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_CA_BUNDLE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '"/sys/lib/tls/ca.pem"'
    - item_type: preproc_def
      name: CURL_CA_PATH
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '"/sys/lib/tls"'
    - item_type: preproc_def
      name: CURL_STATICLIB
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_IPV6
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_LDAP
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NEED_REENTRANT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '"plan9"'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_TIME_T
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HAVE_RECV
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: void *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: HAVE_SELECT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SEND
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: void *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: int
    - item_type: preproc_def
      name: HAVE_ALARM
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ARPA_INET_H
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BASENAME
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BOOL_T
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FCNTL
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FCNTL_H
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FREEADDRINFO
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FTRUNCATE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETADDRINFO
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETEUID
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETHOSTNAME
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPPID
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPWUID
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETTIMEOFDAY
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GMTIME_R
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INET_NTOP
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INET_PTON
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LIBGEN_H
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LIBZ
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LOCALE_H
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LONGLONG
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETDB_H
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETINET_IN_H
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETINET_TCP_H
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PWD_H
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_SELECT_H
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_OPENSSL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PIPE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POLL
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POLL_H
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_PTHREAD_H
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SETLOCALE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGACTION
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGNAL
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGSETJMP
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKET
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDBOOL_H
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRCASECMP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRDUP
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRUCT_TIMEVAL
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_IOCTL_H
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_PARAM_H
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_RESOURCE_H
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_UN_H
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_TERMIOS_H
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME_H
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_POSIX_STRERROR_R
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRERROR_R
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MANUAL
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/curl/lib/config-plan9.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_parsenetrc
  source_file: /src/curl/lib/netrc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: filebuf
        type: struct dynbuf
      - name: '*filename'
        type: char
      item_type: struct
      name: store_netrc
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/curl/lib/netrc.h
    typedefs: []
    union: []
- function_names:
  - uint_hash_hash
  - Curl_uint_hash_init
  - uint_hash_mk_entry
  - uint_hash_entry_clear
  - uint_hash_entry_destroy
  - uint_hash_entry_unlink
  - uint_hash_elem_link
  - CURL_UINT_HASH_SLOT
  - CURL_UINT_HASH_SLOT_ADDR
  - Curl_uint_hash_set
  - Curl_uint_hash_remove
  - Curl_uint_hash_get
  - uint_hash_clear
  - Curl_uint_hash_clear
  - Curl_uint_hash_destroy
  - Curl_uint_hash_count
  - Curl_uint_hash_visit
  source_file: /src/curl/lib/uint-hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINTHASHINIT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/uint-hash.c
      type_or_value: '0x7117e779'
    structs:
    - fields:
      - name: '*next'
        type: struct uint_hash_entry
      - name: '*value'
        type: void
      - name: id
        type: unsigned int
      item_type: struct
      name: uint_hash_entry
      pos:
        line_end: 49
        line_start: 45
        source_file: /src/curl/lib/uint-hash.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/sendf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLIENTWRITE_BODY
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/sendf.h
      type_or_value: '(1<<0) '
    - item_type: preproc_def
      name: CLIENTWRITE_INFO
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/sendf.h
      type_or_value: '(1<<1) '
    - item_type: preproc_def
      name: CLIENTWRITE_HEADER
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/sendf.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: CLIENTWRITE_STATUS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/sendf.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: CLIENTWRITE_CONNECT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/sendf.h
      type_or_value: '(1<<4) '
    - item_type: preproc_def
      name: CLIENTWRITE_1XX
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/sendf.h
      type_or_value: '(1<<5) '
    - item_type: preproc_def
      name: CLIENTWRITE_TRAILER
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/sendf.h
      type_or_value: '(1<<6) '
    - item_type: preproc_def
      name: CLIENTWRITE_EOS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/sendf.h
      type_or_value: '(1<<7) '
    - item_type: preproc_def
      name: CLIENTWRITE_0LEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/sendf.h
      type_or_value: '(1<<8) '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*alias'
        type: char
      - name: "(*do_init)(struct Curl_easy *data,\n                      struct Curl_cwriter
          *writer)"
        type: CURLcode
      - name: "(*do_write)(struct Curl_easy *data,\n                       struct
          Curl_cwriter *writer, int type,\n                       const char *buf,
          size_t nbytes)"
        type: CURLcode
      - name: "(*do_close)(struct Curl_easy *data,\n                   struct Curl_cwriter
          *writer)"
        type: void
      - name: cwriter_size
        type: size_t
      item_type: struct
      name: Curl_cwtype
      pos:
        line_end: 118
        line_start: 107
        source_file: /src/curl/lib/sendf.h
    - fields:
      - name: '*cwt'
        type: struct Curl_cwtype
      - name: '*next'
        type: struct Curl_cwriter
      - name: '*ctx'
        type: void
      - name: phase
        type: Curl_cwriter_phase
      item_type: struct
      name: Curl_cwriter
      pos:
        line_end: 131
        line_start: 126
        source_file: /src/curl/lib/sendf.h
    - fields:
      - name: '*name'
        type: char
      - name: (*do_init)(struct Curl_easy *data, struct Curl_creader *reader)
        type: CURLcode
      - name: "(*do_read)(struct Curl_easy *data, struct Curl_creader *reader,\n                      char
          *buf, size_t blen, size_t *nread, bool *eos)"
        type: CURLcode
      - name: (*do_close)(struct Curl_easy *data, struct Curl_creader *reader)
        type: void
      - name: (*needs_rewind)(struct Curl_easy *data, struct Curl_creader *reader)
        type: bool
      - name: "(*total_length)(struct Curl_easy *data,\n                             struct
          Curl_creader *reader)"
        type: curl_off_t
      - name: "(*resume_from)(struct Curl_easy *data,\n                          struct
          Curl_creader *reader, curl_off_t offset)"
        type: CURLcode
      - name: "(*cntrl)(struct Curl_easy *data, struct Curl_creader *reader,\n                    Curl_creader_cntrl
          opcode)"
        type: CURLcode
      - name: (*is_paused)(struct Curl_easy *data, struct Curl_creader *reader)
        type: bool
      - name: "(*done)(struct Curl_easy *data,\n               struct Curl_creader
          *reader, int premature)"
        type: void
      - name: creader_size
        type: size_t
      item_type: struct
      name: Curl_crtype
      pos:
        line_end: 229
        line_start: 212
        source_file: /src/curl/lib/sendf.h
    - fields:
      - name: '*crt'
        type: struct Curl_crtype
      - name: '*next'
        type: struct Curl_creader
      - name: '*ctx'
        type: void
      - name: phase
        type: Curl_creader_phase
      item_type: struct
      name: Curl_creader
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/curl/lib/sendf.h
    typedefs: []
    union: []
- function_names:
  - tftp_set_timeouts
  - setpacketevent
  - setpacketblock
  - getrpacketevent
  - getrpacketblock
  - tftp_strnlen
  - tftp_option_get
  - tftp_parse_option_ack
  - tftp_option_add
  - tftp_connect_for_tx
  - tftp_connect_for_rx
  - tftp_send_first
  - CURL_SENDTO_ARG5
  - CURL_SENDTO_ARG5
  - NEXT_BLOCKNUM
  - tftp_rx
  - tftp_tx
  - tftp_translate_code
  - tftp_state_machine
  - tftp_conn_dtor
  - tftp_connect
  - tftp_done
  - tftp_pollset
  - tftp_receive_packet
  - tftp_state_timeout
  - tftp_multi_statemach
  - tftp_doing
  - tftp_perform
  - tftp_do
  - tftp_setup_connection
  source_file: /src/curl/lib/tftp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TFTP_BLKSIZE_DEFAULT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/tftp.c
      type_or_value: '512'
    - item_type: preproc_def
      name: TFTP_OPTION_BLKSIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/tftp.c
      type_or_value: '"blksize"'
    - item_type: preproc_def
      name: TFTP_OPTION_TSIZE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/tftp.c
      type_or_value: '"tsize"'
    - item_type: preproc_def
      name: TFTP_OPTION_INTERVAL
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/tftp.c
      type_or_value: '"timeout"'
    - item_type: preproc_def
      name: CURL_META_TFTP_CONN
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/curl/lib/tftp.c
      type_or_value: '"meta:proto:tftp:conn"'
    structs:
    - fields:
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: tftp_packet
      pos:
        line_end: 121
        line_start: 119
        source_file: /src/curl/lib/tftp.c
    - fields:
      - name: local_addr
        type: struct Curl_sockaddr_storage
      - name: remote_addr
        type: struct Curl_sockaddr_storage
      - name: rpacket
        type: struct tftp_packet
      - name: spacket
        type: struct tftp_packet
      - name: state
        type: tftp_state_t
      - name: mode
        type: tftp_mode_t
      - name: error
        type: tftp_error_t
      - name: event
        type: tftp_event_t
      - name: '*data'
        type: struct Curl_easy
      - name: sockfd
        type: curl_socket_t
      - name: retries
        type: int
      - name: retry_time
        type: int
      - name: retry_max
        type: int
      - name: rx_time
        type: time_t
      - name: remote_addrlen
        type: curl_socklen_t
      - name: rbytes
        type: int
      - name: sbytes
        type: size_t
      - name: blksize
        type: unsigned int
      - name: requested_blksize
        type: unsigned int
      - name: block
        type: unsigned short
      item_type: struct
      name: tftp_conn
      pos:
        line_end: 148
        line_start: 126
        source_file: /src/curl/lib/tftp.c
    typedefs: []
    union: []
- function_names:
  - IS_HTTPS_PROXY
  source_file: /src/curl/lib/http_proxy.h
  types:
    enum:
    - enumerators:
      - name: HEADER_SERVER
      - name: HEADER_PROXY
      - name: HEADER_CONNECT
      item_type: enum
      name: Curl_proxy_use
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/curl/lib/http_proxy.h
    preproc_defs:
    - item_type: preproc_def
      name: PROXY_TIMEOUT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/http_proxy.h
      type_or_value: (3600*1000)
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_raw_toupper
  - Curl_raw_tolower
  - Curl_strntoupper
  - Curl_strntolower
  - Curl_safecmp
  - Curl_timestrcmp
  source_file: /src/curl/lib/strcase.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - chunk_is_empty
  - chunk_is_full
  - chunk_len
  - chunk_reset
  - chunk_append
  - chunk_read
  - chunk_slurpn
  - chunk_peek
  - chunk_peek_at
  - chunk_skip
  - chunk_list_free
  - Curl_bufcp_init
  - bufcp_take
  - bufcp_put
  - Curl_bufcp_free
  - bufq_init
  - Curl_bufq_init2
  - Curl_bufq_init
  - Curl_bufq_initp
  - Curl_bufq_free
  - Curl_bufq_reset
  - Curl_bufq_len
  - Curl_bufq_is_empty
  - Curl_bufq_is_full
  - get_spare
  - prune_head
  - get_non_full_tail
  - Curl_bufq_write
  - Curl_bufq_cwrite
  - Curl_bufq_read
  - Curl_bufq_cread
  - Curl_bufq_peek
  - Curl_bufq_peek_at
  - Curl_bufq_skip
  - Curl_bufq_pass
  - Curl_bufq_write_pass
  - Curl_bufq_sipn
  - bufq_slurpn
  - Curl_bufq_slurp
  source_file: /src/curl/lib/bufq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mnfty_chunk_create
  - mnfty_chunk_destroy
  - mnfty_chunk_reset
  - mntfy_chunk_append
  - mntfy_non_full_tail
  - mntfy_chunk_dispatch_all
  - Curl_mntfy_init
  - Curl_mntfy_resize
  - Curl_mntfy_cleanup
  - Curl_mntfy_enable
  - Curl_mntfy_disable
  - Curl_mntfy_add
  - Curl_mntfy_dispatch_all
  source_file: /src/curl/lib/multi_ntfy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_MNTFY_CHUNK_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/multi_ntfy.c
      type_or_value: '128'
    structs:
    - fields:
      - name: mid
        type: unsigned int
      - name: type
        type: unsigned int
      item_type: struct
      name: mntfy_entry
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/curl/lib/multi_ntfy.c
    - fields:
      - name: '*next'
        type: struct mntfy_chunk
      - name: r_offset
        type: size_t
      - name: w_offset
        type: size_t
      - name: entries[CURL_MNTFY_CHUNK_SIZE]
        type: struct mntfy_entry
      item_type: struct
      name: mntfy_chunk
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/curl/lib/multi_ntfy.c
    typedefs: []
    union: []
- function_names:
  - Curl_httpchunk_init
  - Curl_httpchunk_reset
  - Curl_httpchunk_free
  - Curl_httpchunk_is_done
  - httpchunk_readwrite
  - Curl_chunked_strerror
  - Curl_httpchunk_read
  - cw_chunked_init
  - cw_chunked_close
  - cw_chunked_write
  - cr_chunked_init
  - cr_chunked_close
  - add_last_chunk
  - add_chunk
  - cr_chunked_read
  - cr_chunked_total_length
  - Curl_httpchunk_add_reader
  source_file: /src/curl/lib/http_chunks.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_CHUNKED_MINLEN
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/curl/lib/http_chunks.c
      type_or_value: (1024)
    - item_type: preproc_def
      name: CURL_CHUNKED_MAXLEN
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/curl/lib/http_chunks.c
      type_or_value: (64 * 1024)
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: ch
        type: struct Curl_chunker
      item_type: struct
      name: chunked_writer
      pos:
        line_end: 399
        line_start: 396
        source_file: /src/curl/lib/http_chunks.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: chunkbuf
        type: struct bufq
      item_type: struct
      name: chunked_reader
      pos:
        line_end: 479
        line_start: 474
        source_file: /src/curl/lib/http_chunks.c
    typedefs: []
    union: []
- function_names:
  - tunnel_stream_init
  - tunnel_stream_clear
  - h2_tunnel_go_state
  - CF_CTX_CALL_DATA
  - cf_h2_proxy_ctx_clear
  - cf_h2_proxy_ctx_free
  - drain_tunnel
  - proxy_h2_nw_out_writer
  - proxy_h2_client_new
  - cf_h2_proxy_ctx_init
  - proxy_h2_should_close_session
  - proxy_h2_nw_out_flush
  - proxy_h2_process_pending_input
  - proxy_h2_progress_ingress
  - proxy_h2_progress_egress
  - on_session_send
  - proxy_h2_fr_print
  - proxy_h2_on_frame_send
  - proxy_h2_on_frame_recv
  - proxy_h2_on_header
  - tunnel_send_callback
  - tunnel_recv_callback
  - proxy_h2_on_stream_close
  - proxy_h2_submit
  - submit_CONNECT
  - inspect_response
  - H2_CONNECT
  - cf_h2_proxy_connect
  - cf_h2_proxy_close
  - cf_h2_proxy_destroy
  - cf_h2_proxy_shutdown
  - cf_h2_proxy_data_pending
  - cf_h2_proxy_adjust_pollset
  - h2_handle_tunnel_close
  - tunnel_recv
  - cf_h2_proxy_recv
  - cf_h2_proxy_send
  - cf_h2_proxy_flush
  - proxy_h2_connisalive
  - cf_h2_proxy_is_alive
  - cf_h2_proxy_query
  - cf_h2_proxy_cntrl
  - Curl_cf_h2_proxy_insert_after
  source_file: /src/curl/lib/cf-h2-proxy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROXY_H2_CHUNK_SIZE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/cf-h2-proxy.c
      type_or_value: (16*1024)
    - item_type: preproc_def
      name: PROXY_HTTP2_HUGE_WINDOW_SIZE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/cf-h2-proxy.c
      type_or_value: (100 * 1024 * 1024)
    - item_type: preproc_def
      name: H2_TUNNEL_WINDOW_SIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/cf-h2-proxy.c
      type_or_value: (10 * 1024 * 1024)
    - item_type: preproc_def
      name: PROXY_H2_NW_RECV_CHUNKS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/cf-h2-proxy.c
      type_or_value: (H2_TUNNEL_WINDOW_SIZE / PROXY_H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: PROXY_H2_NW_SEND_CHUNKS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/cf-h2-proxy.c
      type_or_value: '1'
    - item_type: preproc_def
      name: H2_TUNNEL_RECV_CHUNKS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/cf-h2-proxy.c
      type_or_value: (H2_TUNNEL_WINDOW_SIZE / PROXY_H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: H2_TUNNEL_SEND_CHUNKS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/cf-h2-proxy.c
      type_or_value: ((128 * 1024) / PROXY_H2_CHUNK_SIZE)
    structs:
    - fields:
      - name: '*resp'
        type: struct http_resp
      - name: recvbuf
        type: struct bufq
      - name: sendbuf
        type: struct bufq
      - name: '*authority'
        type: char
      - name: stream_id
        type: int32_t
      - name: error
        type: uint32_t
      - name: state
        type: h2_tunnel_state
      item_type: struct
      name: tunnel_stream
      pos:
        line_end: 81
        line_start: 70
        source_file: /src/curl/lib/cf-h2-proxy.c
    - fields:
      - name: '*h2'
        type: nghttp2_session
      - name: call_data
        type: struct cf_call_data
      - name: inbufq
        type: struct bufq
      - name: outbufq
        type: struct bufq
      - name: tunnel
        type: struct tunnel_stream
      - name: goaway_error
        type: int32_t
      - name: last_stream_id
        type: int32_t
      item_type: struct
      name: cf_h2_proxy_ctx
      pos:
        line_end: 188
        line_start: 173
        source_file: /src/curl/lib/cf-h2-proxy.c
    typedefs: []
    union: []
- function_names:
  - mev_in_callback
  - mev_sh_entry_hash
  - mev_sh_entry_compare
  - mev_sh_entry_dtor
  - mev_sh_entry_get
  - mev_sh_entry_add
  - mev_sh_entry_kill
  - mev_sh_entry_user_count
  - mev_sh_entry_xfer_known
  - mev_sh_entry_conn_known
  - mev_sh_entry_xfer_add
  - mev_sh_entry_conn_add
  - mev_sh_entry_xfer_remove
  - mev_sh_entry_conn_remove
  - mev_forget_socket
  - mev_sh_entry_update
  - mev_pollset_diff
  - mev_pollset_dtor
  - mev_add_new_conn_pollset
  - mev_add_new_xfer_pollset
  - mev_get_last_pollset
  - mev_assess
  - Curl_multi_ev_assess_xfer
  - Curl_multi_ev_assess_conn
  - Curl_multi_ev_assess_xfer_bset
  - Curl_multi_ev_assign
  - Curl_multi_ev_dirty_xfers
  - Curl_multi_ev_socket_done
  - Curl_multi_ev_xfer_done
  - Curl_multi_ev_conn_done
  - Curl_multi_ev_init
  - Curl_multi_ev_cleanup
  source_file: /src/curl/lib/multi_ev.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: xfers
        type: struct uint_spbset
      - name: '*conn'
        type: struct connectdata
      - name: '*user_data'
        type: void
      - name: action
        type: unsigned int
      - name: readers
        type: unsigned int
      - name: writers
        type: unsigned int
      item_type: struct
      name: mev_sh_entry
      pos:
        line_end: 66
        line_start: 56
        source_file: /src/curl/lib/multi_ev.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_ldap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_sspi_err
  - Curl_SOCKS5_gssapi_negotiate
  source_file: /src/curl/lib/socks_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/cf-haproxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - streamclose
  - connclose
  - connkeep
  - streamclose
  - connclose
  - connkeep
  source_file: /src/curl/lib/connect.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_CONNECT_TIMEOUT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/connect.h
      type_or_value: '300000 '
    - item_type: preproc_def
      name: DEFAULT_SHUTDOWN_TIMEOUT_MS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/connect.h
      type_or_value: (2 * 1000)
    - item_type: preproc_def
      name: CONNCTRL_KEEP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/lib/connect.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: CONNCTRL_CONNECTION
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/lib/connect.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CONNCTRL_STREAM
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/lib/connect.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ipv6_scope
  - Curl_if2ip
  - Curl_if2ip
  - Curl_if2ip
  source_file: /src/curl/lib/if2ip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_gssapi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GSSAUTH_P_NONE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/curl_gssapi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GSSAUTH_P_INTEGRITY
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/curl_gssapi.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GSSAUTH_P_PRIVACY
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/curl_gssapi.h
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_endian.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/progress.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cshutdn_run_conn_handler
  - cshutdn_run_once
  - Curl_cshutdn_run_once
  - Curl_cshutdn_terminate
  - cshutdn_destroy_oldest
  - Curl_cshutdn_close_oldest
  - cshutdn_wait
  - cshutdn_perform
  - cshutdn_terminate_all
  - Curl_cshutdn_init
  - Curl_cshutdn_destroy
  - Curl_cshutdn_count
  - Curl_cshutdn_dest_count
  - cshutdn_update_ev
  - Curl_cshutdn_add
  - cshutdn_multi_socket
  - Curl_cshutdn_perform
  - Curl_cshutdn_setfds
  - Curl_cshutdn_add_waitfds
  - Curl_cshutdn_add_pollfds
  source_file: /src/curl/lib/cshutdn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_POLLS_ON_STACK
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/curl/lib/cshutdn.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - filesize
  - VmsRealFileSize
  - VmsSpecialSize
  - filesize
  - vmsfopenread
  - Curl_basename
  - basename
  - mimesetstate
  - escape_string
  - match_header
  - search_header
  - strippath
  - cleanup_encoder_state
  - encoder_nop_read
  - encoder_nop_size
  - encoder_7bit_read
  - encoder_base64_read
  - encoder_base64_size
  - qp_lookahead_eol
  - encoder_qp_read
  - encoder_qp_size
  - mime_mem_read
  - mime_mem_seek
  - mime_mem_free
  - mime_open_file
  - mime_file_read
  - mime_file_seek
  - mime_file_free
  - readback_bytes
  - read_part_content
  - read_encoded_part_content
  - readback_part
  - mime_subparts_read
  - mime_part_rewind
  - mime_subparts_seek
  - cleanup_part_content
  - mime_subparts_free
  - mime_subparts_unbind
  - Curl_mime_cleanpart
  - curl_mime_free
  - Curl_mime_duppart
  - curl_mime_init
  - Curl_mime_initpart
  - curl_mime_addpart
  - curl_mime_name
  - curl_mime_filename
  - curl_mime_data
  - curl_mime_filedata
  - curl_mime_type
  - curl_mime_encoder
  - curl_mime_headers
  - curl_mime_data_cb
  - Curl_mime_set_subparts
  - curl_mime_subparts
  - Curl_mime_read
  - mime_rewind
  - slist_size
  - multipart_size
  - mime_size
  - Curl_mime_add_header
  - add_content_type
  - Curl_mime_contenttype
  - content_type_match
  - Curl_mime_prepare_headers
  - mime_unpause
  - cr_mime_init
  - cr_mime_close
  - cr_mime_read
  - cr_mime_needs_rewind
  - cr_mime_total_length
  - cr_mime_resume_from
  - cr_mime_cntrl
  - cr_mime_is_paused
  - Curl_creader_set_mime
  - curl_mime_init
  - curl_mime_free
  - curl_mime_addpart
  - curl_mime_name
  - curl_mime_filename
  - curl_mime_type
  - curl_mime_encoder
  - curl_mime_data
  - curl_mime_filedata
  - curl_mime_data_cb
  - curl_mime_subparts
  - curl_mime_headers
  - Curl_mime_add_header
  source_file: /src/curl/lib/mime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: R_OK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/mime.c
      type_or_value: '4'
    - item_type: preproc_def
      name: READ_ERROR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/mime.c
      type_or_value: ((size_t) -1)
    - item_type: preproc_def
      name: STOP_FILLING
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/mime.c
      type_or_value: ((size_t) -2)
    - item_type: preproc_def
      name: QP_OK
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/mime.c
      type_or_value: '1       '
    - item_type: preproc_def
      name: QP_SP
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl/lib/mime.c
      type_or_value: '2       '
    - item_type: preproc_def
      name: QP_CR
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/lib/mime.c
      type_or_value: '3       '
    - item_type: preproc_def
      name: QP_LF
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/mime.c
      type_or_value: '4       '
    - item_type: preproc_def
      name: fopen_read
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/curl/lib/mime.c
      type_or_value: curlx_fopen
    - item_type: preproc_def
      name: fopen_read
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/curl/lib/mime.c
      type_or_value: vmsfopenread
    structs:
    - fields:
      - name: '*extension'
        type: char
      - name: '*type'
        type: char
      item_type: struct
      name: ContentType
      pos:
        line_end: 1722
        line_start: 1719
        source_file: /src/curl/lib/mime.c
    - fields:
      - name: super
        type: struct Curl_creader
      - name: '*part'
        type: curl_mimepart
      - name: total_len
        type: curl_off_t
      - name: read_len
        type: curl_off_t
      - name: error_result
        type: CURLcode
      - name: tmpbuf
        type: struct bufq
      item_type: struct
      name: cr_mime_ctx
      pos:
        line_end: 1936
        line_start: 1927
        source_file: /src/curl/lib/mime.c
    typedefs: []
    union: []
- function_names:
  - strdup
  - malloc
  - calloc
  - realloc
  - free
  - Curl_tcsdup
  - Curl_tcsdup
  source_file: /src/curl/lib/curl_memory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DESKEY
  - DESKEY
  - DESKEY
  - DESKEYARG
  - extend_key_56_to_64
  - setup_des_key
  - setup_des_key
  - encrypt_des
  - encrypt_des
  - encrypt_des
  - Curl_ntlm_core_lm_resp
  - Curl_ntlm_core_mk_lm_hash
  - ascii_to_unicode_le
  - ascii_uppercase_to_unicode_le
  - Curl_ntlm_core_mk_nt_hash
  - time2filetime
  - Curl_ntlm_core_mk_ntlmv2_hash
  - Curl_ntlm_core_mk_ntlmv2_resp
  - Curl_ntlm_core_mk_lmv2_resp
  source_file: /src/curl/lib/curl_ntlm_core.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DES_set_key_unchecked
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/curl_ntlm_core.c
      type_or_value: (void)DES_set_key
    - item_type: preproc_def
      name: DES_key_schedule
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/curl_ntlm_core.c
      type_or_value: WOLFSSL_DES_key_schedule
    - item_type: preproc_def
      name: DES_cblock
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/lib/curl_ntlm_core.c
      type_or_value: WOLFSSL_DES_cblock
    - item_type: preproc_def
      name: DES_set_odd_parity
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/curl_ntlm_core.c
      type_or_value: wolfSSL_DES_set_odd_parity
    - item_type: preproc_def
      name: DES_set_key
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/curl_ntlm_core.c
      type_or_value: wolfSSL_DES_set_key
    - item_type: preproc_def
      name: DES_set_key_unchecked
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/curl_ntlm_core.c
      type_or_value: wolfSSL_DES_set_key_unchecked
    - item_type: preproc_def
      name: DES_ecb_encrypt
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/lib/curl_ntlm_core.c
      type_or_value: wolfSSL_DES_ecb_encrypt
    - item_type: preproc_def
      name: NTLMv2_BLOB_SIGNATURE
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/curl/lib/curl_ntlm_core.c
      type_or_value: '"\x01\x01\x00\x00"'
    - item_type: preproc_def
      name: NTLMv2_BLOB_LEN
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/curl/lib/curl_ntlm_core.c
      type_or_value: (44 -16 + ntlm->target_info_len + 4)
    structs:
    - fields:
      - name: hdr
        type: BLOBHEADER
      - name: len
        type: unsigned int
      - name: key[8]
        type: char
      item_type: struct
      name: blob
      pos:
        line_end: 235
        line_start: 231
        source_file: /src/curl/lib/curl_ntlm_core.c
    - fields:
      - name: dwLowDateTime
        type: unsigned int
      - name: dwHighDateTime
        type: unsigned int
      item_type: struct
      name: ms_filetime
      pos:
        line_end: 428
        line_start: 425
        source_file: /src/curl/lib/curl_ntlm_core.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/content_encoding.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_async_get_impl
  - Curl_async_is_resolved
  - Curl_async_await
  - Curl_async_global_init
  - Curl_async_global_cleanup
  - Curl_async_shutdown
  - Curl_async_destroy
  source_file: /src/curl/lib/asyn.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: channel
        type: ares_channel
      - name: num_pending
        type: int
      - name: '*temp_ai'
        type: struct Curl_addrinfo
      - name: ares_status
        type: int
      - name: result
        type: CURLcode
      item_type: struct
      name: async_ares_ctx
      pos:
        line_end: 153
        line_start: 140
        source_file: /src/curl/lib/asyn.h
    - fields:
      - name: thread_hnd
        type: curl_thread_t
      - name: '*hostname'
        type: char
      - name: mutx
        type: curl_mutex_t
      - name: '*res'
        type: struct Curl_addrinfo
      - name: start
        type: struct curltime
      - name: interval_end
        type: timediff_t
      - name: poll_interval
        type: unsigned int
      - name: port
        type: int
      - name: sock_error
        type: int
      - name: ref_count
        type: int
      item_type: struct
      name: async_thrdd_addr_ctx
      pos:
        line_end: 197
        line_start: 177
        source_file: /src/curl/lib/asyn.h
    - fields:
      - name: '*addr'
        type: struct async_thrdd_addr_ctx
      item_type: struct
      name: async_thrdd_ctx
      pos:
        line_end: 214
        line_start: 200
        source_file: /src/curl/lib/asyn.h
    - fields:
      - name: '*dns'
        type: struct Curl_dns_entry
      - name: '*hostname'
        type: char
      - name: port
        type: int
      - name: ip_version
        type: int
      item_type: struct
      name: Curl_async
      pos:
        line_end: 255
        line_start: 241
        source_file: /src/curl/lib/asyn.h
    typedefs: []
    union: []
- function_names:
  - PINGPONG_SETUP
  source_file: /src/curl/lib/pingpong.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nread_resp
        type: size_t
      - name: '*sendthis'
        type: char
      - name: sendleft
        type: size_t
      - name: sendsize
        type: size_t
      - name: response
        type: struct curltime
      - name: response_time
        type: timediff_t
      - name: sendbuf
        type: struct dynbuf
      - name: recvbuf
        type: struct dynbuf
      - name: overflow
        type: size_t
      - name: nfinal
        type: size_t
      - name: (*statemachine)(struct Curl_easy *data, struct connectdata *conn)
        type: CURLcode
      - name: "(*endofresp)(struct Curl_easy *data, struct connectdata *conn,\n                    const
          char *ptr, size_t len, int *code)"
        type: bool
      item_type: struct
      name: pingpong
      pos:
        line_end: 73
        line_start: 48
        source_file: /src/curl/lib/pingpong.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/http_digest.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_bufref_init
  - Curl_bufref_free
  - Curl_bufref_set
  - Curl_bufref_ptr
  - Curl_bufref_len
  - Curl_bufref_memdup
  source_file: /src/curl/lib/bufref.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIGNATURE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/bufref.c
      type_or_value: '0x5c48e9b2    '
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_alpnid2str
  - altsvc_free
  - altsvc_createid
  - altsvc_create
  - altsvc_add
  - altsvc_load
  - altsvc_out
  - Curl_altsvc_init
  - Curl_altsvc_load
  - Curl_altsvc_ctrl
  - Curl_altsvc_cleanup
  - Curl_altsvc_save
  - hostcompare
  - altsvc_flush
  - altsvc_debugtime
  - time
  - Curl_altsvc_parse
  - Curl_altsvc_lookup
  source_file: /src/curl/lib/altsvc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ALTSVC_LINE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/altsvc.c
      type_or_value: '4095'
    - item_type: preproc_def
      name: MAX_ALTSVC_DATELEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/altsvc.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_ALTSVC_HOSTLEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/altsvc.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: MAX_ALTSVC_ALPNLEN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/altsvc.c
      type_or_value: '10'
    - item_type: preproc_def
      name: H3VERSION
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/altsvc.c
      type_or_value: '"h3"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - trc_write
  - CURL_TRC_IDS
  - trc_print_ids
  - trc_end_buf
  - Curl_debug
  - Curl_failf
  - trc_infof
  - Curl_infof
  - Curl_trc_cf_infof
  - trc_timer_name
  - Curl_trc_timer
  - Curl_trc_easy_timers
  - Curl_trc_mstate_name
  - Curl_trc_multi
  - Curl_trc_read
  - Curl_trc_write
  - Curl_trc_dns
  - Curl_trc_ftp
  - Curl_trc_smtp
  - Curl_trc_ssls
  - Curl_trc_ws
  - trc_apply_level_by_name
  - trc_apply_level_by_category
  - trc_opt
  - Curl_trc_opt
  - Curl_trc_init
  - Curl_trc_init
  - Curl_infof
  - Curl_trc_cf_infof
  - Curl_trc_multi
  - Curl_trc_write
  - Curl_trc_dns
  - Curl_trc_timer
  - Curl_trc_read
  - Curl_trc_ftp
  - Curl_trc_smtp
  - Curl_trc_ws
  - Curl_trc_ssls
  source_file: /src/curl/lib/curl_trc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TRC_LINE_MAX
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/curl_trc.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: CURL_TRC_FMT_IDSC
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/curl_trc.c
      type_or_value: '"[x-%" CURL_FORMAT_CURL_OFF_T "] "'
    - item_type: preproc_def
      name: CURL_TRC_FMT_IDSD
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/curl_trc.c
      type_or_value: '"[%" CURL_FORMAT_CURL_OFF_T "-x] "'
    - item_type: preproc_def
      name: CURL_TRC_FMT_IDSDC
      pos:
        line_end: 88
        line_start: 86
        source_file: /src/curl/lib/curl_trc.c
      type_or_value: "\"[%\" CURL_FORMAT_CURL_OFF_T \"-%\" \\\n                            CURL_FORMAT_CURL_OFF_T
        \"] \""
    - item_type: preproc_def
      name: TRC_CT_NONE
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/curl/lib/curl_trc.c
      type_or_value: (0)
    - item_type: preproc_def
      name: TRC_CT_PROTOCOL
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/curl/lib/curl_trc.c
      type_or_value: (1<<(0))
    - item_type: preproc_def
      name: TRC_CT_NETWORK
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/curl/lib/curl_trc.c
      type_or_value: (1<<(1))
    - item_type: preproc_def
      name: TRC_CT_PROXY
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/curl/lib/curl_trc.c
      type_or_value: (1<<(2))
    - item_type: preproc_def
      name: TRC_CT_INTERNALS
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/curl/lib/curl_trc.c
      type_or_value: (1<<(3))
    structs:
    - fields:
      - name: '*feat'
        type: struct curl_trc_feat
      - name: category
        type: unsigned int
      item_type: struct
      name: trc_feat_def
      pos:
        line_end: 486
        line_start: 483
        source_file: /src/curl/lib/curl_trc.c
    - fields:
      - name: '*cft'
        type: struct Curl_cftype
      - name: category
        type: unsigned int
      item_type: struct
      name: trc_cft_def
      pos:
        line_end: 514
        line_start: 511
        source_file: /src/curl/lib/curl_trc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/formdata.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: namelength
        type: size_t
      - name: '*value'
        type: char
      - name: contentslength
        type: curl_off_t
      - name: '*contenttype'
        type: char
      - name: '*buffer'
        type: char
      - name: bufferlength
        type: size_t
      - name: '*showfilename'
        type: char
      - name: '*userp'
        type: char
      - name: '*contentheader'
        type: struct curl_slist
      - name: '*more'
        type: struct FormInfo
      - name: flags
        type: unsigned char
      item_type: struct
      name: FormInfo
      pos:
        line_end: 49
        line_start: 31
        source_file: /src/curl/lib/formdata.h
    typedefs: []
    union: []
- function_names:
  - curl_escape
  - curl_unescape
  - curl_easy_escape
  - Curl_urldecode
  - curl_easy_unescape
  - curl_free
  - Curl_hexencode
  - Curl_hexbyte
  source_file: /src/curl/lib/escape.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/setup-win32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOCKET
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: LWIP_POSIX_SOCKETS_IO_NAMES
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: size_t
    - item_type: preproc_def
      name: USE_WINSOCK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '2'
    - item_type: preproc_def
      name: _WIN32_WINNT_WINXP
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '0x0501   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WS03
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '0x0502   '
    - item_type: preproc_def
      name: _WIN32_WINNT_VISTA
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '0x0600   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WS08
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '0x0600   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WIN7
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '0x0601   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WIN8
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '0x0602   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WINBLUE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '0x0603   '
    - item_type: preproc_def
      name: _WIN32_WINNT_WIN10
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/curl/lib/setup-win32.h
      type_or_value: '0x0A00   '
    structs: []
    typedefs: []
    union: []
- function_names:
  - stub_gss_init_sec_context
  - stub_gss_delete_sec_context
  - Curl_gss_init_sec_context
  - Curl_gss_delete_sec_context
  - display_gss_error
  - Curl_gss_log_error
  source_file: /src/curl/lib/curl_gssapi.c
  types:
    enum:
    - enumerators:
      - name: STUB_GSS_OK
        value: '0'
      - name: STUB_GSS_INVALID_CTX
      - name: STUB_GSS_NO_MEMORY
      - name: STUB_GSS_INVALID_CREDS
      - name: STUB_GSS_INVALID_ARGS
      - name: STUB_GSS_SERVER_ERR
      - name: STUB_GSS_NO_MECH
      - name: STUB_GSS_LAST
      item_type: enum
      name: min_err_code
      pos:
        line_end: 63
        line_start: 54
        source_file: /src/curl/lib/curl_gssapi.c
    preproc_defs:
    - item_type: preproc_def
      name: CURL_ALIGN8
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/curl_gssapi.c
      type_or_value: __attribute__((aligned(8)))
    - item_type: preproc_def
      name: GSS_LOG_BUFFER_LEN
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/curl/lib/curl_gssapi.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: sent
        type: enum { STUB_GSS_NONE, STUB_GSS_KRB5, STUB_GSS_NTLM1, STUB_GSS_NTLM3
          }
      - name: have_krb5
        type: int
      - name: have_ntlm
        type: int
      - name: flags
        type: OM_uint32
      - name: creds[250]
        type: char
      item_type: struct
      name: stub_gss_ctx_id_t_desc
      pos:
        line_end: 77
        line_start: 71
        source_file: /src/curl/lib/curl_gssapi.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/cw-out.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_des.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_psl_destroy
  - now_seconds
  - Curl_psl_use
  - Curl_psl_release
  source_file: /src/curl/lib/psl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/request.h
  types:
    enum:
    - enumerators:
      - name: EXP100_SEND_DATA
      - name: EXP100_SENDING_REQUEST
      - name: EXP100_AWAITING_CONTINUE
      - name: EXP100_FAILED
      item_type: enum
      name: expect100
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/curl/lib/request.h
    - enumerators:
      - name: UPGR101_NONE
      - name: UPGR101_H2
      - name: UPGR101_WS
      - name: UPGR101_RECEIVED
      item_type: enum
      name: upgrade101
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/curl/lib/request.h
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: curl_off_t
      - name: maxdownload
        type: curl_off_t
      - name: bytecount
        type: curl_off_t
      - name: writebytecount
        type: curl_off_t
      - name: start
        type: struct curltime
      - name: headerbytecount
        type: unsigned int
      - name: allheadercount
        type: unsigned int
      - name: deductheadercount
        type: unsigned int
      - name: headerline
        type: int
      - name: offset
        type: curl_off_t
      - name: httpcode
        type: int
      - name: keepon
        type: int
      - name: httpversion_sent
        type: unsigned char
      - name: httpversion
        type: unsigned char
      - name: upgr101
        type: enum upgrade101
      - name: '*writer_stack'
        type: struct Curl_cwriter
      - name: '*reader_stack'
        type: struct Curl_creader
      - name: sendbuf
        type: struct bufq
      - name: sendbuf_hds_len
        type: size_t
      - name: timeofdoc
        type: time_t
      - name: '*location'
        type: char
      - name: '*newurl'
        type: char
      item_type: struct
      name: SingleRequest
      pos:
        line_end: 132
        line_start: 58
        source_file: /src/curl/lib/request.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/tftp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TFTP_BLKSIZE_MIN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/lib/tftp.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TFTP_BLKSIZE_MAX
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/lib/tftp.h
      type_or_value: '65464'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_h1_req_parse_init
  - Curl_h1_req_parse_free
  - trim_line
  - detect_line
  - next_line
  - start_req
  - Curl_h1_req_parse_read
  - Curl_h1_req_write_head
  source_file: /src/curl/lib/http1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H1_MAX_URL_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/http1.c
      type_or_value: (8*1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - smb_swap16
  - smb_swap32
  - smb_swap64
  - smb_swap16
  - smb_swap32
  - smb_swap64
  - conn_state
  - request_state
  - smb_easy_dtor
  - smb_conn_dtor
  - smb_setup_connection
  - smb_connect
  - smb_recv_message
  - smb_pop_message
  - smb_format_message
  - smb_send
  - smb_flush
  - smb_send_message
  - smb_send_negotiate
  - smb_send_setup
  - smb_send_tree_connect
  - smb_send_open
  - smb_send_close
  - smb_send_tree_disconnect
  - smb_send_read
  - smb_send_write
  - smb_send_and_recv
  - smb_connection_state
  - get_posix_time
  - smb_request_state
  - smb_pollset
  - smb_do
  - smb_parse_url_path
  source_file: /src/curl/lib/smb.c
  types:
    enum:
    - enumerators:
      - name: SMB_NOT_CONNECTED
        value: '0'
      - name: SMB_CONNECTING
      - name: SMB_CONNECTED
      - name: SMB_SETUP
      - name: SMB_NEGOTIATE
      item_type: enum
      name: smb_conn_state
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/curl/lib/smb.c
    - enumerators:
      - name: SMB_REQUESTING
      - name: SMB_DOWNLOAD
      - name: SMB_OPEN
      - name: SMB_TREE_CONNECT
      - name: SMB_UPLOAD
      - name: SMB_CLOSE
      - name: SMB_TREE_DISCONNECT
      - name: SMB_DONE
      item_type: enum
      name: smb_req_state
      pos:
        line_end: 89
        line_start: 80
        source_file: /src/curl/lib/smb.c
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_SMB_EASY
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/smb.c
      type_or_value: '"meta:proto:smb:easy"'
    - item_type: preproc_def
      name: CURL_META_SMB_CONN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/smb.c
      type_or_value: '"meta:proto:smb:conn"'
    - item_type: preproc_def
      name: PACK
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/lib/smb.c
      type_or_value: __attribute__((packed))
    - item_type: preproc_def
      name: SMB_COM_CLOSE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SMB_COM_READ_ANDX
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x2e'
    - item_type: preproc_def
      name: SMB_COM_WRITE_ANDX
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x2f'
    - item_type: preproc_def
      name: SMB_COM_TREE_DISCONNECT
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x71'
    - item_type: preproc_def
      name: SMB_COM_NEGOTIATE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x72'
    - item_type: preproc_def
      name: SMB_COM_SETUP_ANDX
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x73'
    - item_type: preproc_def
      name: SMB_COM_TREE_CONNECT_ANDX
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x75'
    - item_type: preproc_def
      name: SMB_COM_NT_CREATE_ANDX
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/curl/lib/smb.c
      type_or_value: '0xa2'
    - item_type: preproc_def
      name: SMB_COM_NO_ANDX_COMMAND
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/curl/lib/smb.c
      type_or_value: '0xff'
    - item_type: preproc_def
      name: SMB_WC_CLOSE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SMB_WC_READ_ANDX
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: SMB_WC_WRITE_ANDX
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: SMB_WC_SETUP_ANDX
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: SMB_WC_TREE_CONNECT_ANDX
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SMB_WC_NT_CREATE_ANDX
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x18'
    - item_type: preproc_def
      name: SMB_FLAGS_CANONICAL_PATHNAMES
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: SMB_FLAGS_CASELESS_PATHNAMES
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SMB_FLAGS2_IS_LONG_NAME
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: SMB_FLAGS2_KNOWS_LONG_NAME
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: SMB_CAP_LARGE_FILES
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SMB_GENERIC_WRITE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x40000000'
    - item_type: preproc_def
      name: SMB_GENERIC_READ
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: SMB_FILE_SHARE_ALL
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: SMB_FILE_OPEN
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SMB_FILE_OVERWRITE_IF
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: SMB_ERR_NOACCESS
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x00050001'
    - item_type: preproc_def
      name: MAX_PAYLOAD_SIZE
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/curl/lib/smb.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: MAX_MESSAGE_SIZE
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/curl/lib/smb.c
      type_or_value: (MAX_PAYLOAD_SIZE + 0x1000)
    - item_type: preproc_def
      name: CLIENTNAME
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/curl/lib/smb.c
      type_or_value: '"curl"'
    - item_type: preproc_def
      name: SERVICENAME
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/curl/lib/smb.c
      type_or_value: '"?????"'
    structs:
    - fields:
      - name: state
        type: enum smb_conn_state
      - name: '*user'
        type: char
      - name: '*domain'
        type: char
      - name: '*share'
        type: char
      - name: challenge[8]
        type: unsigned char
      - name: session_key
        type: unsigned int
      - name: uid
        type: unsigned short
      - name: '*recv_buf'
        type: char
      - name: '*send_buf'
        type: char
      - name: upload_size
        type: size_t
      - name: send_size
        type: size_t
      - name: sent
        type: size_t
      - name: got
        type: size_t
      item_type: struct
      name: smb_conn
      pos:
        line_end: 77
        line_start: 63
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: state
        type: enum smb_req_state
      - name: '*path'
        type: char
      - name: tid
        type: unsigned short
      - name: fid
        type: unsigned short
      - name: result
        type: CURLcode
      item_type: struct
      name: smb_request
      pos:
        line_end: 98
        line_start: 92
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: nbt_type
        type: unsigned char
      - name: nbt_flags
        type: unsigned char
      - name: nbt_length
        type: unsigned short
      - name: magic[4]
        type: unsigned char
      - name: command
        type: unsigned char
      - name: status
        type: unsigned int
      - name: flags
        type: unsigned char
      - name: flags2
        type: unsigned short
      - name: pid_high
        type: unsigned short
      - name: signature[8]
        type: unsigned char
      - name: pad
        type: unsigned short
      - name: tid
        type: unsigned short
      - name: pid
        type: unsigned short
      - name: uid
        type: unsigned short
      - name: mid
        type: unsigned short
      item_type: struct
      name: smb_header
      pos:
        line_end: 161
        line_start: 145
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: h
        type: struct smb_header
      - name: word_count
        type: unsigned char
      - name: dialect_index
        type: unsigned short
      - name: security_mode
        type: unsigned char
      - name: max_mpx_count
        type: unsigned short
      - name: max_number_vcs
        type: unsigned short
      - name: max_buffer_size
        type: unsigned int
      - name: max_raw_size
        type: unsigned int
      - name: session_key
        type: unsigned int
      - name: capabilities
        type: unsigned int
      - name: system_time_low
        type: unsigned int
      - name: system_time_high
        type: unsigned int
      - name: server_time_zone
        type: unsigned short
      - name: encryption_key_length
        type: unsigned char
      - name: byte_count
        type: unsigned short
      - name: bytes[1]
        type: char
      item_type: struct
      name: smb_negotiate_response
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: command
        type: unsigned char
      - name: pad
        type: unsigned char
      - name: offset
        type: unsigned short
      item_type: struct
      name: andx
      pos:
        line_end: 186
        line_start: 182
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: max_buffer_size
        type: unsigned short
      - name: max_mpx_count
        type: unsigned short
      - name: vc_number
        type: unsigned short
      - name: session_key
        type: unsigned int
      - name: lengths[2]
        type: unsigned short
      - name: pad
        type: unsigned int
      - name: capabilities
        type: unsigned int
      - name: byte_count
        type: unsigned short
      - name: bytes[1024]
        type: char
      item_type: struct
      name: smb_setup
      pos:
        line_end: 200
        line_start: 188
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: flags
        type: unsigned short
      - name: pw_len
        type: unsigned short
      - name: byte_count
        type: unsigned short
      - name: bytes[1024]
        type: char
      item_type: struct
      name: smb_tree_connect
      pos:
        line_end: 209
        line_start: 202
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: pad
        type: unsigned char
      - name: name_length
        type: unsigned short
      - name: flags
        type: unsigned int
      - name: root_fid
        type: unsigned int
      - name: access
        type: unsigned int
      - name: allocation_size
        type: curl_off_t
      - name: ext_file_attributes
        type: unsigned int
      - name: share_access
        type: unsigned int
      - name: create_disposition
        type: unsigned int
      - name: create_options
        type: unsigned int
      - name: impersonation_level
        type: unsigned int
      - name: security_flags
        type: unsigned char
      - name: byte_count
        type: unsigned short
      - name: bytes[1024]
        type: char
      item_type: struct
      name: smb_nt_create
      pos:
        line_end: 228
        line_start: 211
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: h
        type: struct smb_header
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: op_lock_level
        type: unsigned char
      - name: fid
        type: unsigned short
      - name: create_disposition
        type: unsigned int
      - name: create_time
        type: curl_off_t
      - name: last_access_time
        type: curl_off_t
      - name: last_write_time
        type: curl_off_t
      - name: last_change_time
        type: curl_off_t
      - name: ext_file_attributes
        type: unsigned int
      - name: allocation_size
        type: curl_off_t
      - name: end_of_file
        type: curl_off_t
      item_type: struct
      name: smb_nt_create_response
      pos:
        line_end: 245
        line_start: 230
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: fid
        type: unsigned short
      - name: offset
        type: unsigned int
      - name: max_bytes
        type: unsigned short
      - name: min_bytes
        type: unsigned short
      - name: timeout
        type: unsigned int
      - name: remaining
        type: unsigned short
      - name: offset_high
        type: unsigned int
      - name: byte_count
        type: unsigned short
      item_type: struct
      name: smb_read
      pos:
        line_end: 258
        line_start: 247
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: h
        type: struct smb_header
      - name: word_count
        type: unsigned char
      - name: andx
        type: struct andx
      - name: fid
        type: unsigned short
      - name: offset
        type: unsigned int
      - name: timeout
        type: unsigned int
      - name: write_mode
        type: unsigned short
      - name: remaining
        type: unsigned short
      - name: pad
        type: unsigned short
      - name: data_length
        type: unsigned short
      - name: data_offset
        type: unsigned short
      - name: offset_high
        type: unsigned int
      - name: byte_count
        type: unsigned short
      - name: pad2
        type: unsigned char
      item_type: struct
      name: smb_write
      pos:
        line_end: 275
        line_start: 260
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: fid
        type: unsigned short
      - name: last_mtime
        type: unsigned int
      - name: byte_count
        type: unsigned short
      item_type: struct
      name: smb_close
      pos:
        line_end: 282
        line_start: 277
        source_file: /src/curl/lib/smb.c
    - fields:
      - name: word_count
        type: unsigned char
      - name: byte_count
        type: unsigned short
      item_type: struct
      name: smb_tree_disconnect
      pos:
        line_end: 287
        line_start: 284
        source_file: /src/curl/lib/smb.c
    typedefs: []
    union: []
- function_names:
  - time2str
  - max6data
  - Curl_pgrsDone
  - Curl_pgrsResetTransferSizes
  - Curl_pgrsTimeWas
  - Curl_pgrsTime
  - Curl_pgrsStartNow
  - Curl_pgrsLimitWaitTime
  - Curl_pgrsSetDownloadCounter
  - Curl_ratelimit
  - Curl_pgrsSetUploadCounter
  - Curl_pgrsSetDownloadSize
  - Curl_pgrsSetUploadSize
  - Curl_pgrsEarlyData
  - trspeed
  - progress_calc
  - pgrs_est_percent
  - pgrs_estimates
  - progress_meter
  - progress_meter
  - pgrsupdate
  - Curl_pgrsUpdate
  - Curl_pgrsUpdate_nometer
  source_file: /src/curl/lib/progress.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIN_RATE_LIMIT_PERIOD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/progress.c
      type_or_value: '3000'
    structs:
    - fields:
      - name: secs
        type: curl_off_t
      - name: percent
        type: curl_off_t
      item_type: struct
      name: pgrs_estimate
      pos:
        line_end: 463
        line_start: 460
        source_file: /src/curl/lib/progress.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/escape.h
  types:
    enum:
    - enumerators:
      - name: REJECT_NADA
        value: '2'
      - name: REJECT_CTRL
      - name: REJECT_ZERO
      item_type: enum
      name: urlreject
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/curl/lib/escape.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_amiga_init
  - Curl_amiga_cleanup
  - Curl_ipv4_resolve_r
  - Curl_amiga_select
  - CURL_AMIGA_REQUEST
  - CURL_AMIGA_REQUEST
  - Curl_amiga_cleanup
  - Curl_amiga_init
  source_file: /src/curl/lib/amigaos.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_BSDSOCKET_GETHOSTBYNAME_R
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/amigaos.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: HAVE_BSDSOCKET_GETADDRINFO
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/amigaos.c
      type_or_value: '0x02'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SIGPIPE_VARIABLE
  - SIGPIPE_MEMBER
  - sigpipe_init
  - sigpipe_ignore
  - sigpipe_restore
  - sigpipe_apply
  - sigpipe_ignore
  - sigpipe_apply
  - sigpipe_init
  - sigpipe_restore
  - SIGPIPE_MEMBER
  source_file: /src/curl/lib/sigpipe.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: old_pipe_act
        type: struct sigaction
      item_type: struct
      name: sigpipe_ignore
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/curl/lib/sigpipe.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/config-win32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VS2012_MIN_TARGET
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '0x0501  '
    - item_type: preproc_def
      name: VS2012_DEF_TARGET
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '0x0501  '
    - item_type: preproc_def
      name: VS2012_MIN_TARGET
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '0x0600  '
    - item_type: preproc_def
      name: VS2012_DEF_TARGET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '0x0602  '
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/config-win32.h
      type_or_value: VS2012_DEF_TARGET
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/config-win32.h
      type_or_value: VS2012_DEF_TARGET
    - item_type: preproc_def
      name: VS2008_MIN_TARGET
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '0x0501  '
    - item_type: preproc_def
      name: VS2008_DEF_TARGET
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '0x0501  '
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/config-win32.h
      type_or_value: VS2008_DEF_TARGET
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/config-win32.h
      type_or_value: VS2008_DEF_TARGET
    - item_type: preproc_def
      name: HAVE_FCNTL_H
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: HAVE_IO_H
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: HAVE_LOCALE_H
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STDBOOL_H
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: HAVE_STDINT_H
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_PARAM_H
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_UTIME_H
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LIBGEN_H
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STDC_HEADERS
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BOOL_T
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: HAVE_CLOSESOCKET
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FTRUNCATE
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETPEERNAME
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETSOCKNAME
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETHOSTNAME
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETTIMEOFDAY
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_IOCTLSOCKET
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_IOCTLSOCKET_FIONBIO
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SELECT
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SETLOCALE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SETMODE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE__SETMODE
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKET
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRDUP
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_RECV
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/curl/lib/config-win32.h
      type_or_value: SOCKET
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/curl/lib/config-win32.h
      type_or_value: char *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: HAVE_SEND
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/curl/lib/config-win32.h
      type_or_value: SOCKET
    - item_type: preproc_def
      name: SEND_QUAL_ARG2
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/curl/lib/config-win32.h
      type_or_value: const
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/curl/lib/config-win32.h
      type_or_value: char *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: HAVE_SNPRINTF
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_BASENAME
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGNAL
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ssize_t
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/curl/lib/config-win32.h
      type_or_value: __int64
    - item_type: preproc_def
      name: ssize_t
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/curl/lib/config-win32.h
      type_or_value: int
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '8'
    - item_type: preproc_def
      name: HAVE_LONGLONG
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_TIME_T
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_TIME_T
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HAVE_FREEADDRINFO
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETADDRINFO
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETADDRINFO_THREADSAFE
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRUCT_SOCKADDR_STORAGE
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRUCT_TIMEVAL
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _FILE_OFFSET_BITS
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '64'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_OFF_T
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '4'
    - item_type: preproc_def
      name: USE_THREADS_WIN32
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LDAP_URL_PARSE
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LDAP_SSL
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_WIN32_LDAP
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '"arm-pc-win32ce"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '"i386-pc-win32ce"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '"i386-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '"x86_64-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '"ia64-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '"thumbv7a-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '"aarch64-pc-win32"'
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '"unknown-pc-win32"'
    - item_type: preproc_def
      name: CURL_DISABLE_FILE
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_TELNET
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_LDAP
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/curl/lib/config-win32.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - curl_thread_create_thunk
  - Curl_thread_create
  - Curl_thread_destroy
  - Curl_thread_join
  - Curl_thread_create
  - Curl_thread_destroy
  - Curl_thread_join
  source_file: /src/curl/lib/curl_threads.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*func)(void *)
        type: unsigned int
      - name: '*arg'
        type: void
      item_type: struct
      name: Curl_actual_call
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/curl/lib/curl_threads.c
    typedefs: []
    union: []
- function_names:
  - Curl_uint_spbset_init
  - Curl_uint_spbset_destroy
  - Curl_uint_spbset_count
  - Curl_uint_spbset_empty
  - Curl_uint_spbset_clear
  - uint_spbset_get_chunk
  - Curl_uint_spbset_add
  - Curl_uint_spbset_remove
  - Curl_uint_spbset_contains
  - Curl_uint_spbset_first
  - uint_spbset_chunk_first
  - uint_spbset_chunk_next
  - Curl_uint_spbset_next
  source_file: /src/curl/lib/uint-spbset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINT_SPBSET_MAGIC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/uint-spbset.c
      type_or_value: '0x70737362'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/cshutdn.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: list
        type: struct Curl_llist
      - name: '*multi'
        type: struct Curl_multi
      item_type: struct
      name: cshutdn
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/curl/lib/cshutdn.h
    typedefs: []
    union: []
- function_names:
  - http_auth_nego_reset
  - Curl_input_negotiate
  - Curl_output_negotiate
  source_file: /src/curl/lib/http_negotiate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_sspi_global_init
  - Curl_sspi_global_cleanup
  - Curl_create_sspi_identity
  - Curl_sspi_free_identity
  source_file: /src/curl/lib/curl_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_blockread_all
  - sxstate
  - sxstate
  - socksstate
  - socks_failed
  - socks_flush
  - socks_recv
  - socks4_req_add_hd
  - socks4_req_add_user
  - socks4_resolving
  - socks4_check_resp
  - socks4_connect
  - socks5_req0_init
  - socks5_check_resp0
  - socks5_auth_init
  - socks5_check_auth_resp
  - socks5_req1_init
  - socks5_resolving
  - socks5_recv_resp1
  - socks5_connect
  - socks_proxy_cf_free
  - socks_proxy_cf_connect
  - socks_cf_adjust_pollset
  - socks_proxy_cf_close
  - socks_proxy_cf_destroy
  - socks_cf_query
  - Curl_cf_socks_proxy_insert_after
  source_file: /src/curl/lib/socks.c
  types:
    enum:
    - enumerators:
      - name: SOCKS_ST_INIT
      - name: SOCKS4_ST_SEND
      - name: SOCKS4_ST_RESOLVING
      - name: SOCKS4_ST_RECV
      - name: SOCKS4_ST_START
      - name: SOCKS5_ST_START
      - name: SOCKS5_ST_REQ0_SEND
      - name: SOCKS5_ST_RESP0_RECV
      - name: SOCKS5_ST_GSSAPI_INIT
      - name: SOCKS5_ST_AUTH_INIT
      - name: SOCKS5_ST_REQ1_INIT
      - name: SOCKS5_ST_RESOLVING
      - name: SOCKS_ST_SUCCESS
      - name: SOCKS5_ST_AUTH_RECV
      - name: SOCKS5_ST_RESP1_RECV
      - name: SOCKS5_ST_AUTH_SEND
      - name: SOCKS_ST_FAILED
      - name: SOCKS5_ST_REQ1_SEND
      item_type: enum
      name: socks_state_t
      pos:
        line_end: 78
        line_start: 56
        source_file: /src/curl/lib/socks.c
    preproc_defs:
    - item_type: preproc_def
      name: SOCKS_CHUNK_SIZE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/curl/lib/socks.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: SOCKS_CHUNKS
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/lib/socks.c
      type_or_value: '1'
    structs:
    - fields:
      - name: state
        type: enum socks_state_t
      - name: iobuf
        type: struct bufq
      - name: '*hostname'
        type: char
      - name: remote_port
        type: int
      - name: '*proxy_user'
        type: char
      - name: '*proxy_password'
        type: char
      - name: presult
        type: CURLproxycode
      - name: version
        type: unsigned char
      item_type: struct
      name: socks_state
      pos:
        line_end: 119
        line_start: 107
        source_file: /src/curl/lib/socks.c
    typedefs: []
    union: []
- function_names:
  - SOCKET_READABLE
  - SOCKET_WRITABLE
  - VALID_SOCK
  - FDSET_SOCK
  - VERIFY_SOCK
  - VALID_SOCK
  - FDSET_SOCK
  - VERIFY_SOCK
  - Curl_pollset_add_in
  - Curl_pollset_add_out
  - Curl_pollset_add_inout
  - Curl_pollset_set_in_only
  - Curl_pollset_set_out_only
  source_file: /src/curl/lib/select.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLLIN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/select.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: POLLPRI
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/select.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: POLLOUT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/select.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: POLLERR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/select.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: POLLHUP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/select.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: POLLNVAL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/select.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: POLLRDNORM
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/select.h
      type_or_value: POLLIN
    - item_type: preproc_def
      name: POLLWRNORM
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/select.h
      type_or_value: POLLOUT
    - item_type: preproc_def
      name: POLLRDBAND
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/lib/select.h
      type_or_value: POLLPRI
    - item_type: preproc_def
      name: CURL_CSELECT_IN2
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/select.h
      type_or_value: (CURL_CSELECT_ERR << 1)
    - item_type: preproc_def
      name: EZ_POLLSET_DEF_COUNT
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/lib/select.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_EASY_POLLSET_MAGIC
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/curl/lib/select.h
      type_or_value: '0x7a657370'
    structs:
    - fields:
      - name: fd
        type: curl_socket_t
      - name: events
        type: short
      - name: revents
        type: short
      item_type: struct
      name: pollfd
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/curl/lib/select.h
    - fields:
      - name: '*sockets'
        type: curl_socket_t
      - name: '*actions'
        type: unsigned char
      - name: n
        type: unsigned int
      - name: count
        type: unsigned int
      - name: def_sockets[EZ_POLLSET_DEF_COUNT]
        type: curl_socket_t
      - name: def_actions[EZ_POLLSET_DEF_COUNT]
        type: unsigned char
      item_type: struct
      name: easy_pollset
      pos:
        line_end: 129
        line_start: 119
        source_file: /src/curl/lib/select.h
    - fields:
      - name: '*pfds'
        type: struct pollfd
      - name: n
        type: unsigned int
      - name: count
        type: unsigned int
      item_type: struct
      name: curl_pollfds
      pos:
        line_end: 201
        line_start: 196
        source_file: /src/curl/lib/select.h
    - fields:
      - name: '*wfds'
        type: struct curl_waitfd
      - name: n
        type: unsigned int
      - name: count
        type: unsigned int
      item_type: struct
      name: Curl_waitfds
      pos:
        line_end: 221
        line_start: 217
        source_file: /src/curl/lib/select.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/multiif.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/gopher.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/llist.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*_head'
        type: struct Curl_llist_node
      - name: '*_tail'
        type: struct Curl_llist_node
      - name: _dtor
        type: Curl_llist_dtor
      - name: _size
        type: size_t
      item_type: struct
      name: Curl_llist
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/curl/lib/llist.h
    - fields:
      - name: '*_list'
        type: struct Curl_llist
      - name: '*_ptr'
        type: void
      - name: '*_prev'
        type: struct Curl_llist_node
      - name: '*_next'
        type: struct Curl_llist_node
      item_type: struct
      name: Curl_llist_node
      pos:
        line_end: 52
        line_start: 44
        source_file: /src/curl/lib/llist.h
    typedefs:
    - item_type: typedef
      name: (*Curl_llist_dtor)(void *user, void *elem)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/curl/lib/llist.h
      type: void
    union: []
- function_names:
  - CURL_TELOPT
  - CURL_TELOPT
  - CURL_TELOPT_OK
  - CURL_TELCMD_OK
  - CURL_TELCMD
  - CURL_TELCMD
  source_file: /src/curl/lib/arpa_telnet.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_TELOPT_BINARY
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: CURL_TELOPT_ECHO
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: CURL_TELOPT_SGA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '3  '
    - item_type: preproc_def
      name: CURL_TELOPT_EXOPL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '255  '
    - item_type: preproc_def
      name: CURL_TELOPT_TTYPE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '24  '
    - item_type: preproc_def
      name: CURL_TELOPT_NAWS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '31  '
    - item_type: preproc_def
      name: CURL_TELOPT_XDISPLOC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '35 '
    - item_type: preproc_def
      name: CURL_TELOPT_NEW_ENVIRON
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '39  '
    - item_type: preproc_def
      name: CURL_NEW_ENV_VAR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_NEW_ENV_VALUE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TELOPT_MAXIMUM
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: CURL_TELOPT_NEW_ENVIRON
    - item_type: preproc_def
      name: CURL_NTELOPTS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '40'
    - item_type: preproc_def
      name: CURL_xEOF
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '236 '
    - item_type: preproc_def
      name: CURL_SE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '240 '
    - item_type: preproc_def
      name: CURL_NOP
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '241 '
    - item_type: preproc_def
      name: CURL_DM
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '242 '
    - item_type: preproc_def
      name: CURL_GA
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '249 '
    - item_type: preproc_def
      name: CURL_SB
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '250 '
    - item_type: preproc_def
      name: CURL_WILL
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '251 '
    - item_type: preproc_def
      name: CURL_WONT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '252 '
    - item_type: preproc_def
      name: CURL_DO
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '253 '
    - item_type: preproc_def
      name: CURL_DONT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '254 '
    - item_type: preproc_def
      name: CURL_IAC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '255 '
    - item_type: preproc_def
      name: CURL_TELCMD_MINIMUM
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: 'CURL_xEOF '
    - item_type: preproc_def
      name: CURL_TELCMD_MAXIMUM
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: 'CURL_IAC  '
    - item_type: preproc_def
      name: CURL_TELQUAL_IS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_TELQUAL_SEND
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_TELQUAL_INFO
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_TELQUAL_NAME
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/curl/lib/arpa_telnet.h
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - parsekeyword
  - charclass
  - setcharorrange
  - setcharset
  - loop
  - Curl_fnmatch
  - Curl_fnmatch
  source_file: /src/curl/lib/curl_fnmatch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLFNM_CHARSET_LEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (sizeof(char) * 256)
    - item_type: preproc_def
      name: CURLFNM_CHSET_SIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 15)
    - item_type: preproc_def
      name: CURLFNM_NEGATE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: CURLFNM_CHARSET_LEN
    - item_type: preproc_def
      name: CURLFNM_ALNUM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 1)
    - item_type: preproc_def
      name: CURLFNM_DIGIT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 2)
    - item_type: preproc_def
      name: CURLFNM_XDIGIT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 3)
    - item_type: preproc_def
      name: CURLFNM_ALPHA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 4)
    - item_type: preproc_def
      name: CURLFNM_PRINT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 5)
    - item_type: preproc_def
      name: CURLFNM_BLANK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 6)
    - item_type: preproc_def
      name: CURLFNM_LOWER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 7)
    - item_type: preproc_def
      name: CURLFNM_GRAPH
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 8)
    - item_type: preproc_def
      name: CURLFNM_SPACE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 9)
    - item_type: preproc_def
      name: CURLFNM_UPPER
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: (CURLFNM_CHARSET_LEN + 10)
    - item_type: preproc_def
      name: SETCHARSET_OK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SETCHARSET_FAIL
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/curl_fnmatch.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_headers_init
  - Curl_headers_push
  - Curl_headers_cleanup
  source_file: /src/curl/lib/headers.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: node
        type: struct Curl_llist_node
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: request
        type: int
      - name: type
        type: unsigned char
      - name: buffer[1]
        type: char
      item_type: struct
      name: Curl_header_store
      pos:
        line_end: 36
        line_start: 29
        source_file: /src/curl/lib/headers.h
    typedefs: []
    union: []
- function_names:
  - wakeup_create
  - wakeup_create
  - wakeup_create
  source_file: /src/curl/lib/socketpair.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: wakeup_write
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/socketpair.h
      type_or_value: write
    - item_type: preproc_def
      name: wakeup_read
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/socketpair.h
      type_or_value: read
    - item_type: preproc_def
      name: wakeup_close
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/socketpair.h
      type_or_value: close
    - item_type: preproc_def
      name: wakeup_write
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/socketpair.h
      type_or_value: write
    - item_type: preproc_def
      name: wakeup_read
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/socketpair.h
      type_or_value: read
    - item_type: preproc_def
      name: wakeup_close
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/socketpair.h
      type_or_value: close
    - item_type: preproc_def
      name: wakeup_write
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/socketpair.h
      type_or_value: swrite
    - item_type: preproc_def
      name: wakeup_read
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/socketpair.h
      type_or_value: sread
    - item_type: preproc_def
      name: wakeup_close
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/socketpair.h
      type_or_value: sclose
    - item_type: preproc_def
      name: SOCKETPAIR_FAMILY
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/socketpair.h
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: SOCKETPAIR_FAMILY
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/socketpair.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: SOCKETPAIR_TYPE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/socketpair.h
      type_or_value: (SOCK_STREAM | SOCK_CLOEXEC)
    - item_type: preproc_def
      name: SOCKETPAIR_TYPE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/lib/socketpair.h
      type_or_value: SOCK_STREAM
    structs: []
    typedefs: []
    union: []
- function_names:
  - curl_share_init
  - curl_share_setopt
  - curl_share_cleanup
  - Curl_share_lock
  - Curl_share_unlock
  source_file: /src/curl/lib/share.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cf_hc_baller_reset
  - cf_hc_baller_is_active
  - cf_hc_baller_has_started
  - cf_hc_baller_reply_ms
  - cf_hc_baller_data_pending
  - cf_hc_baller_needs_flush
  - cf_hc_baller_cntrl
  - cf_hc_baller_assign
  - cf_hc_baller_init
  - cf_hc_baller_connect
  - cf_hc_reset
  - baller_connected
  - time_to_start_next
  - cf_hc_connect
  - cf_hc_shutdown
  - cf_hc_adjust_pollset
  - cf_hc_data_pending
  - cf_get_max_baller_time
  - cf_hc_query
  - cf_hc_cntrl
  - cf_hc_close
  - cf_hc_destroy
  - cf_hc_create
  - cf_http_connect_add
  - cf_https_alpns_contain
  - Curl_cf_https_setup
  source_file: /src/curl/lib/cf-https-connect.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*cf'
        type: struct Curl_cfilter
      - name: result
        type: CURLcode
      - name: started
        type: struct curltime
      - name: reply_ms
        type: int
      - name: transport
        type: unsigned char
      - name: alpn_id
        type: enum alpnid
      item_type: struct
      name: cf_hc_baller
      pos:
        line_end: 60
        line_start: 51
        source_file: /src/curl/lib/cf-https-connect.c
    - fields:
      - name: state
        type: cf_hc_state
      - name: started
        type: struct curltime
      - name: result
        type: CURLcode
      - name: ballers[2]
        type: struct cf_hc_baller
      - name: baller_count
        type: size_t
      - name: soft_eyeballs_timeout_ms
        type: timediff_t
      - name: hard_eyeballs_timeout_ms
        type: timediff_t
      item_type: struct
      name: cf_hc_ctx
      pos:
        line_end: 122
        line_start: 114
        source_file: /src/curl/lib/cf-https-connect.c
    typedefs: []
    union: []
- function_names:
  - curl_easy_strerror
  - curl_multi_strerror
  - curl_share_strerror
  - curl_url_strerror
  - Curl_sspi_strerror
  - SEC2TXT
  source_file: /src/curl/lib/strerror.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ipv6works
  - Curl_resolv_check
  source_file: /src/curl/lib/hostip.h
  types:
    enum:
    - enumerators:
      - name: ALPN_none
        value: '0'
      - name: ALPN_h1
        value: CURLALTSVC_H1
      - name: ALPN_h2
        value: CURLALTSVC_H2
      - name: ALPN_h3
        value: CURLALTSVC_H3
      item_type: enum
      name: alpnid
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/curl/lib/hostip.h
    preproc_defs:
    - item_type: preproc_def
      name: CURL_HOSTENT_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/hostip.h
      type_or_value: '9000'
    - item_type: preproc_def
      name: CURL_TIMEOUT_RESOLVE
      pos:
        line_end: 48
        line_start: 46
        source_file: /src/curl/lib/hostip.h
      type_or_value: '300 '
    structs:
    - fields:
      - name: '*addr'
        type: struct Curl_addrinfo
      - name: timestamp
        type: struct curltime
      - name: refcount
        type: size_t
      - name: hostport
        type: int
      - name: hostname[1]
        type: char
      item_type: struct
      name: Curl_dns_entry
      pos:
        line_end: 75
        line_start: 62
        source_file: /src/curl/lib/hostip.h
    - fields:
      - name: entries
        type: struct Curl_hash
      item_type: struct
      name: Curl_dnscache
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/curl/lib/hostip.h
    typedefs: []
    union: []
- function_names:
  - Curl_hash_print
  - Curl_hash_init
  - hash_elem_create
  - hash_elem_clear_ptr
  - hash_elem_destroy
  - hash_elem_unlink
  - hash_elem_link
  - CURL_HASH_SLOT
  - CURL_HASH_SLOT_ADDR
  - Curl_hash_add2
  - Curl_hash_add
  - Curl_hash_delete
  - Curl_hash_pick
  - Curl_hash_destroy
  - Curl_hash_clean
  - Curl_hash_count
  - Curl_hash_clean_with_criterium
  - Curl_hash_str
  - curlx_str_key_compare
  - Curl_hash_start_iterate
  - Curl_hash_next_element
  source_file: /src/curl/lib/hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASHINIT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/hash.c
      type_or_value: '0x7017e781'
    - item_type: preproc_def
      name: ITERINIT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/hash.c
      type_or_value: '0x5FEDCBA9'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/cf-h2-proxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/functypes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/functypes.h
      type_or_value: SOCKET
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/functypes.h
      type_or_value: char *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/functypes.h
      type_or_value: SOCKET
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/functypes.h
      type_or_value: char *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/functypes.h
      type_or_value: long
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/functypes.h
      type_or_value: char *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/functypes.h
      type_or_value: long
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/functypes.h
      type_or_value: long
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/functypes.h
      type_or_value: long
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/lib/functypes.h
      type_or_value: char *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/functypes.h
      type_or_value: void *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/functypes.h
      type_or_value: size_t
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/lib/functypes.h
      type_or_value: ssize_t
    - item_type: preproc_def
      name: SEND_QUAL_ARG2
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/functypes.h
      type_or_value: const
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/lib/functypes.h
      type_or_value: void *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/lib/functypes.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/lib/functypes.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl/lib/functypes.h
      type_or_value: ssize_t
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/altsvc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*host'
        type: char
      - name: port
        type: unsigned short
      - name: alpnid
        type: enum alpnid
      item_type: struct
      name: althost
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/curl/lib/altsvc.h
    - fields:
      - name: src
        type: struct althost
      - name: dst
        type: struct althost
      - name: expires
        type: time_t
      - name: node
        type: struct Curl_llist_node
      - name: prio
        type: unsigned int
      item_type: struct
      name: altsvc
      pos:
        line_end: 44
        line_start: 37
        source_file: /src/curl/lib/altsvc.h
    - fields:
      - name: '*filename'
        type: char
      - name: list
        type: struct Curl_llist
      - name: flags
        type: long
      item_type: struct
      name: altsvcinfo
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/curl/lib/altsvc.h
    typedefs: []
    union: []
- function_names:
  - Curl_SOCKS4
  - Curl_SOCKS5
  - Curl_SOCKS_getsock
  source_file: /src/curl/lib/socks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_win32_init
  source_file: /src/curl/lib/system_win32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: int(WINAPI *IF_NAMETOINDEX_FN)(const char *)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/curl/lib/system_win32.h
      type: unsigned
    union: []
- function_names:
  - populate_settings
  - populate_binsettings
  - CF_CTX_CALL_DATA
  - cf_h2_ctx_init
  - cf_h2_ctx_free
  - cf_h2_ctx_close
  - H2_STREAM_CTX
  - h2_stream_ctx_create
  - free_push_headers
  - h2_stream_ctx_free
  - h2_stream_hash_free
  - cf_h2_get_desired_local_win
  - cf_h2_update_local_win
  - cf_h2_update_local_win
  - http2_data_setup
  - http2_data_done
  - h2_client_new
  - cf_h2_ctx_open
  - should_close_session
  - h2_process_pending_input
  - http2_connisalive
  - http2_send_ping
  - Curl_http2_ver
  - nw_out_flush
  - send_callback
  - curl_pushheader_bynum
  - curl_pushheader_byname
  - h2_duphandle
  - set_transfer_url
  - discard_newhandle
  - push_promise
  - h2_xfer_write_resp_hd
  - h2_xfer_write_resp
  - on_stream_frame
  - fr_print
  - on_frame_send
  - on_frame_recv
  - cf_h2_on_invalid_frame_recv
  - on_data_chunk_recv
  - on_stream_close
  - on_begin_headers
  - cf_h2_header_error
  - on_header
  - req_body_read_callback
  - error_callback
  - Curl_http2_request_upgrade
  - http2_handle_stream_close
  - sweight_wanted
  - sweight_in_effect
  - h2_pri_spec
  - h2_progress_egress
  - stream_recv
  - h2_progress_ingress
  - cf_h2_recv
  - cf_h2_body_send
  - h2_submit
  - cf_h2_send
  - cf_h2_flush
  - cf_h2_adjust_pollset
  - cf_h2_connect
  - cf_h2_close
  - cf_h2_destroy
  - cf_h2_shutdown
  - http2_data_pause
  - cf_h2_cntrl
  - cf_h2_data_pending
  - cf_h2_is_alive
  - cf_h2_keep_alive
  - cf_h2_query
  - http2_cfilter_add
  - http2_cfilter_insert_after
  - Curl_http2_may_switch
  - Curl_http2_switch
  - Curl_http2_switch_at
  - Curl_http2_upgrade
  - Curl_h2_http_1_1_error
  - Curl_nghttp2_malloc
  - Curl_nghttp2_free
  - Curl_nghttp2_calloc
  - Curl_nghttp2_realloc
  - curl_pushheader_bynum
  - curl_pushheader_byname
  source_file: /src/curl/lib/http2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NGHTTP2_HAS_SET_LOCAL_WINDOW_SIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/http2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: H2_CHUNK_SIZE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/http2.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: H2_CONN_WINDOW_SIZE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/http2.c
      type_or_value: (10 * 1024 * 1024)
    - item_type: preproc_def
      name: H2_NW_RECV_CHUNKS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/http2.c
      type_or_value: (H2_CONN_WINDOW_SIZE / H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: H2_NW_SEND_CHUNKS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/http2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: H2_STREAM_WINDOW_SIZE_MAX
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/http2.c
      type_or_value: (10 * 1024 * 1024)
    - item_type: preproc_def
      name: H2_STREAM_WINDOW_SIZE_INITIAL
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/lib/http2.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: H2_STREAM_WINDOW_SIZE_INITIAL
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/lib/http2.c
      type_or_value: H2_STREAM_WINDOW_SIZE_MAX
    - item_type: preproc_def
      name: H2_STREAM_SEND_CHUNKS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/lib/http2.c
      type_or_value: ((64 * 1024) / H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: H2_STREAM_POOL_SPARES
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/lib/http2.c
      type_or_value: (H2_CONN_WINDOW_SIZE / H2_CHUNK_SIZE)
    - item_type: preproc_def
      name: HTTP2_HUGE_WINDOW_SIZE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/http2.c
      type_or_value: (100 * H2_STREAM_WINDOW_SIZE_MAX)
    - item_type: preproc_def
      name: H2_SETTINGS_IV_LEN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/lib/http2.c
      type_or_value: '3'
    - item_type: preproc_def
      name: H2_BINSETTINGS_LEN
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/http2.c
      type_or_value: '80'
    - item_type: preproc_def
      name: MAX_ACC
      pos:
        line_end: 2297
        line_start: 2296
        source_file: /src/curl/lib/http2.c
      type_or_value: '60000  '
    structs:
    - fields:
      - name: '*h2'
        type: nghttp2_session
      - name: call_data
        type: struct cf_call_data
      - name: inbufq
        type: struct bufq
      - name: outbufq
        type: struct bufq
      - name: stream_bufcp
        type: struct bufc_pool
      - name: scratch
        type: struct dynbuf
      - name: streams
        type: struct uint_hash
      - name: drain_total
        type: size_t
      - name: max_concurrent_streams
        type: uint32_t
      - name: goaway_error
        type: uint32_t
      - name: remote_max_sid
        type: int32_t
      - name: local_max_sid
        type: int32_t
      item_type: struct
      name: cf_h2_ctx
      pos:
        line_end: 153
        line_start: 127
        source_file: /src/curl/lib/http2.c
    - fields:
      - name: sendbuf
        type: struct bufq
      - name: h1
        type: struct h1_req_parser
      - name: resp_trailers
        type: struct dynhds
      - name: resp_hds_len
        type: size_t
      - name: nrcvd_data
        type: curl_off_t
      - name: '**push_headers'
        type: char
      - name: push_headers_used
        type: size_t
      - name: push_headers_alloc
        type: size_t
      - name: status_code
        type: int
      - name: error
        type: uint32_t
      - name: xfer_result
        type: CURLcode
      - name: local_window_size
        type: int32_t
      - name: id
        type: int32_t
      item_type: struct
      name: h2_stream_ctx
      pos:
        line_end: 239
        line_start: 215
        source_file: /src/curl/lib/http2.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: '*stream'
        type: struct h2_stream_ctx
      - name: '*frame'
        type: nghttp2_push_promise
      item_type: struct
      name: curl_pushheaders
      pos:
        line_end: 810
        line_start: 806
        source_file: /src/curl/lib/http2.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/easyif.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_sndbuf_init
  source_file: /src/curl/lib/cf-socket.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: curl_sa_addr
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/cf-socket.h
      type_or_value: addr.sa
    - item_type: preproc_def
      name: curl_sa_addrbuf
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/cf-socket.h
      type_or_value: addr.buf
    structs:
    - fields:
      - name: family
        type: int
      - name: socktype
        type: int
      - name: protocol
        type: int
      - name: addrlen
        type: unsigned int
      - name: addr
        type: "union {\n    struct sockaddr sa;\n    struct Curl_sockaddr_storage
          buf;\n  }"
      item_type: struct
      name: Curl_sockaddr_ex
      pos:
        line_end: 53
        line_start: 44
        source_file: /src/curl/lib/cf-socket.h
    typedefs: []
    union: []
- function_names:
  - setsockopt
  - SET_RCVTIMEO
  - SET_RCVTIMEO
  - SET_RCVTIMEO
  - rtmp_conn_dtor
  - rtmp_setup_connection
  - rtmp_connect
  - rtmp_do
  - rtmp_done
  - rtmp_disconnect
  - rtmp_recv
  - rtmp_send
  - Curl_rtmp_version
  source_file: /src/curl/lib/curl_rtmp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEF_BUFTIME
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/curl_rtmp.c
      type_or_value: '(2*60*60*1000)    '
    - item_type: preproc_def
      name: CURL_META_RTMP_CONN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/curl_rtmp.c
      type_or_value: '"meta:proto:rtmp:conn"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gopher_connect
  - gopher_connecting
  - gopher_do
  source_file: /src/curl/lib/gopher.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - unescape_word
  - sendf
  - dict_do
  source_file: /src/curl/lib/dict.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DICT_MATCH
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/lib/dict.c
      type_or_value: '"/MATCH:"'
    - item_type: preproc_def
      name: DICT_MATCH2
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/dict.c
      type_or_value: '"/M:"'
    - item_type: preproc_def
      name: DICT_MATCH3
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/dict.c
      type_or_value: '"/FIND:"'
    - item_type: preproc_def
      name: DICT_DEFINE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/dict.c
      type_or_value: '"/DEFINE:"'
    - item_type: preproc_def
      name: DICT_DEFINE2
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/dict.c
      type_or_value: '"/D:"'
    - item_type: preproc_def
      name: DICT_DEFINE3
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/dict.c
      type_or_value: '"/LOOKUP:"'
    - item_type: preproc_def
      name: DYN_DICT_WORD
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl/lib/dict.c
      type_or_value: '10000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_win32_random
  - weak_random
  - randit
  - Curl_rand_bytes
  - Curl_rand_hex
  - Curl_rand_alnum
  source_file: /src/curl/lib/rand.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BCRYPT_USE_SYSTEM_PREFERRED_RNG
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/rand.c
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: STATUS_SUCCESS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/rand.c
      type_or_value: ((NTSTATUS)0x00000000L)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/splay.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*smaller'
        type: struct Curl_tree
      - name: '*larger'
        type: struct Curl_tree
      - name: '*samen'
        type: struct Curl_tree
      - name: '*samep'
        type: struct Curl_tree
      - name: key
        type: struct curltime
      - name: '*ptr'
        type: void
      item_type: struct
      name: Curl_tree
      pos:
        line_end: 36
        line_start: 29
        source_file: /src/curl/lib/splay.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/speedcheck.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_initinfo
  - getinfo_char
  - DOUBLE_SECS
  - getinfo_offt
  - getinfo_double
  - getinfo_slist
  - getinfo_socket
  - Curl_getinfo
  source_file: /src/curl/lib/getinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*to_ulong'
        type: unsigned long
      - name: '*to_long'
        type: long
      item_type: union
      name: lptr
      pos:
        line_end: 204
        line_start: 201
        source_file: /src/curl/lib/getinfo.c
    - fields:
      - name: '*to_certinfo'
        type: struct curl_certinfo
      - name: '*to_slist'
        type: struct curl_slist
      item_type: union
      name: ptr
      pos:
        line_end: 561
        line_start: 558
        source_file: /src/curl/lib/getinfo.c
- function_names: []
  source_file: /src/curl/lib/conncache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CPOOL_LIMIT_OK
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl/lib/conncache.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CPOOL_LIMIT_DEST
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/conncache.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CPOOL_LIMIT_TOTAL
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/lib/conncache.h
      type_or_value: '2'
    structs:
    - fields:
      - name: dest2bundle
        type: struct Curl_hash
      - name: num_conn
        type: size_t
      - name: next_connection_id
        type: curl_off_t
      - name: next_easy_id
        type: curl_off_t
      - name: last_cleanup
        type: struct curltime
      - name: '*idata'
        type: struct Curl_easy
      - name: '*share'
        type: struct Curl_share
      item_type: struct
      name: cpool
      pos:
        line_end: 61
        line_start: 50
        source_file: /src/curl/lib/conncache.h
    typedefs:
    - item_type: typedef
      name: "Curl_cpool_conn_match_cb(struct connectdata *conn,\n                                      void
        *userdata)"
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/conncache.h
      type: bool
    - item_type: typedef
      name: Curl_cpool_done_match_cb(bool result, void *userdata)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/curl/lib/conncache.h
      type: bool
    - item_type: typedef
      name: "Curl_cpool_conn_do_cb(struct connectdata *conn,\n                                   struct
        Curl_easy *data,\n                                   void *cbdata)"
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/curl/lib/conncache.h
      type: void
    union: []
- function_names:
  - hd_name_eq
  - dynhds_add_custom
  - Curl_http_proxy_get_destination
  - Curl_http_proxy_create_CONNECT
  - http_proxy_cf_connect
  - Curl_cf_http_proxy_query
  - http_proxy_cf_destroy
  - http_proxy_cf_close
  - Curl_cf_http_proxy_insert_after
  source_file: /src/curl/lib/http_proxy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: httpversion
        type: int
      item_type: struct
      name: cf_proxy_ctx
      pos:
        line_end: 218
        line_start: 215
        source_file: /src/curl/lib/http_proxy.c
    typedefs: []
    union: []
- function_names:
  - imap_matchresp
  - imap_endofresp
  - imap_get_message
  - imap_state
  - imap_perform_capability
  - imap_perform_starttls
  - imap_perform_upgrade_tls
  - imap_perform_login
  - imap_perform_authenticate
  - imap_continue_authenticate
  - imap_cancel_authenticate
  - imap_perform_authentication
  - imap_perform_list
  - imap_perform_select
  - imap_perform_fetch
  - imap_perform_append
  - imap_perform_search
  - imap_perform_logout
  - imap_state_servergreet_resp
  - imap_state_capability_resp
  - imap_state_starttls_resp
  - imap_state_auth_resp
  - imap_state_login_resp
  - imap_state_listsearch_resp
  - imap_state_select_resp
  - imap_state_fetch_resp
  - imap_state_fetch_final_resp
  - imap_state_append_resp
  - imap_state_append_final_resp
  - imap_pp_statemachine
  - imap_multi_statemach
  - imap_block_statemach
  - imap_pollset
  - imap_connect
  - imap_done
  - imap_perform
  - imap_do
  - imap_disconnect
  - imap_dophase_done
  - imap_doing
  - imap_regular_transfer
  - imap_easy_reset
  - imap_easy_dtor
  - imap_conn_dtor
  - imap_setup_connection
  - imap_sendf
  - imap_atom
  - imap_is_bchar
  - imap_parse_url_options
  - imap_parse_url_path
  - imap_parse_custom_request
  source_file: /src/curl/lib/imap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_IMAP_EASY
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/imap.c
      type_or_value: '"meta:proto:imap:easy"'
    - item_type: preproc_def
      name: CURL_META_IMAP_CONN
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/lib/imap.c
      type_or_value: '"meta:proto:imap:conn"'
    - item_type: preproc_def
      name: IMAP_RESP_OK
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/curl/lib/imap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IMAP_RESP_NOT_OK
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/curl/lib/imap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IMAP_RESP_PREAUTH
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/curl/lib/imap.c
      type_or_value: '3'
    structs:
    - fields:
      - name: pp
        type: struct pingpong
      - name: sasl
        type: struct SASL
      - name: dyn
        type: struct dynbuf
      - name: '*mailbox'
        type: char
      - name: '*mailbox_uidvalidity'
        type: char
      - name: state
        type: imapstate
      - name: resptag[5]
        type: char
      - name: preftype
        type: unsigned char
      - name: cmdid
        type: unsigned char
      item_type: struct
      name: imap_conn
      pos:
        line_end: 127
        line_start: 112
        source_file: /src/curl/lib/imap.c
    - fields:
      - name: transfer
        type: curl_pp_transfer
      - name: '*mailbox'
        type: char
      - name: '*uidvalidity'
        type: char
      - name: '*uid'
        type: char
      - name: '*mindex'
        type: char
      - name: '*section'
        type: char
      - name: '*partial'
        type: char
      - name: '*query'
        type: char
      - name: '*custom'
        type: char
      - name: '*custom_params'
        type: char
      item_type: struct
      name: IMAP
      pos:
        line_end: 144
        line_start: 133
        source_file: /src/curl/lib/imap.c
    - fields:
      - name: bit
        type: int
      - name: '*flag'
        type: char
      item_type: struct
      name: ulbits
      pos:
        line_end: 268
        line_start: 265
        source_file: /src/curl/lib/imap.c
    typedefs: []
    union: []
- function_names:
  - memrchr
  source_file: /src/curl/lib/curl_memrchr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/httpsrr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_MAXLEN_host_name
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/httpsrr.h
      type_or_value: '253'
    - item_type: preproc_def
      name: MAX_HTTPSRR_ALPNS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/httpsrr.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_MANDATORY
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/httpsrr.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_ALPN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/httpsrr.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_NO_DEF_ALPN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/httpsrr.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_PORT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/httpsrr.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_IPV4
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/httpsrr.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_ECH
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/httpsrr.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: HTTPS_RR_CODE_IPV6
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/httpsrr.h
      type_or_value: '0x06'
    structs:
    - fields:
      - name: '*target'
        type: char
      - name: '*ipv4hints'
        type: unsigned char
      - name: ipv4hints_len
        type: size_t
      - name: '*echconfiglist'
        type: unsigned char
      - name: echconfiglist_len
        type: size_t
      - name: '*ipv6hints'
        type: unsigned char
      - name: ipv6hints_len
        type: size_t
      - name: alpns[MAX_HTTPSRR_ALPNS]
        type: unsigned char
      - name: port
        type: int
      - name: priority
        type: uint16_t
      item_type: struct
      name: Curl_https_rrinfo
      pos:
        line_end: 56
        line_start: 39
        source_file: /src/curl/lib/httpsrr.h
    typedefs: []
    union: []
- function_names:
  - slist_get_last
  - Curl_slist_append_nodup
  - curl_slist_append
  - Curl_slist_duplicate
  - curl_slist_free_all
  source_file: /src/curl/lib/slist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_SEP
  - IS_SEP
  - IS_SEP
  - dirslash
  - Curl_fopen
  source_file: /src/curl/lib/curl_fopen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATHSEP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/curl_fopen.c
      type_or_value: '"\\"'
    - item_type: preproc_def
      name: PATHSEP
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/curl_fopen.c
      type_or_value: '"\\"'
    - item_type: preproc_def
      name: PATHSEP
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/curl_fopen.c
      type_or_value: '"/"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_sasl_decode_mech
  - Curl_sasl_parse_url_auth_option
  - Curl_sasl_init
  - sasl_state
  - get_server_message
  - build_message
  - Curl_sasl_can_authenticate
  - sasl_choose_external
  - sasl_choose_krb5
  - sasl_choose_gsasl
  - sasl_choose_digest
  - sasl_choose_ntlm
  - sasl_choose_oauth
  - sasl_choose_oauth2
  - sasl_choose_plain
  - sasl_choose_login
  - Curl_sasl_start
  - Curl_sasl_continue
  - sasl_unchosen
  - Curl_sasl_is_blocked
  source_file: /src/curl/lib/curl_sasl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SASL_KERBEROS5
      pos:
        line_end: 890
        line_start: 889
        source_file: /src/curl/lib/curl_sasl.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: CURL_SASL_KERBEROS5
      pos:
        line_end: 892
        line_start: 891
        source_file: /src/curl/lib/curl_sasl.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: CURL_SASL_GASL
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/curl/lib/curl_sasl.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: CURL_SASL_GASL
      pos:
        line_end: 897
        line_start: 896
        source_file: /src/curl/lib/curl_sasl.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: CURL_SASL_DIGEST
      pos:
        line_end: 900
        line_start: 899
        source_file: /src/curl/lib/curl_sasl.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: CURL_SASL_DIGEST
      pos:
        line_end: 902
        line_start: 901
        source_file: /src/curl/lib/curl_sasl.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: CURL_SASL_NTLM
      pos:
        line_end: 905
        line_start: 904
        source_file: /src/curl/lib/curl_sasl.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: CURL_SASL_NTLM
      pos:
        line_end: 907
        line_start: 906
        source_file: /src/curl/lib/curl_sasl.c
      type_or_value: 'FALSE'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: len
        type: size_t
      - name: bit
        type: unsigned short
      item_type: struct
      name: "mechtable[] = {\n  { \"LOGIN\",        5,  SASL_MECH_LOGIN },\n  { \"PLAIN\",
        \       5,  SASL_MECH_PLAIN },\n  { \"CRAM-MD5\",     8,  SASL_MECH_CRAM_MD5
        },\n  { \"DIGEST-MD5\",   10, SASL_MECH_DIGEST_MD5 },\n  { \"GSSAPI\",       6,
        \ SASL_MECH_GSSAPI },\n  { \"EXTERNAL\",     8,  SASL_MECH_EXTERNAL },\n  {
        \"NTLM\",         4,  SASL_MECH_NTLM },\n  { \"XOAUTH2\",      7,  SASL_MECH_XOAUTH2
        },\n  { \"OAUTHBEARER\",  11, SASL_MECH_OAUTHBEARER },\n  { \"SCRAM-SHA-1\",
        \ 11, SASL_MECH_SCRAM_SHA_1 },\n  { \"SCRAM-SHA-256\",13, SASL_MECH_SCRAM_SHA_256
        },\n  { ZERO_NULL,      0,  0 }\n}"
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/curl/lib/curl_sasl.c
    - fields:
      - name: '*sasl'
        type: struct SASL
      - name: '*conn'
        type: struct connectdata
      - name: '*user'
        type: char
      - name: enabledmechs
        type: unsigned short
      - name: '*mech'
        type: char
      - name: state1
        type: saslstate
      - name: state2
        type: saslstate
      - name: resp
        type: struct bufref
      - name: result
        type: CURLcode
      item_type: struct
      name: sasl_ctx
      pos:
        line_end: 308
        line_start: 298
        source_file: /src/curl/lib/curl_sasl.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/fileinfo.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: info
        type: struct curl_fileinfo
      - name: list
        type: struct Curl_llist_node
      - name: buf
        type: struct dynbuf
      item_type: struct
      name: fileinfo
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/curl/lib/fileinfo.h
    typedefs: []
    union: []
- function_names:
  - MD4_Init
  - MD4_Update
  - MD4_Final
  - MD4_Init
  - MD4_Update
  - MD4_Final
  - MD4_Init
  - MD4_Update
  - MD4_Final
  - MD4_Init
  - MD4_Update
  - MD4_Final
  - MD4_F
  - MD4_G
  - MD4_H
  - MD4_STEP
  - MD4_SET
  - MD4_GET
  - MD4_SET
  - MD4_GET
  - my_md4_body
  - MD4_Init
  - MD4_Update
  - MD4_Final
  - Curl_md4it
  source_file: /src/curl/lib/md4.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD4_CTX
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/md4.c
      type_or_value: WOLFSSL_MD4_CTX
    - item_type: preproc_def
      name: MD4_Init
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/lib/md4.c
      type_or_value: wolfSSL_MD4_Init
    - item_type: preproc_def
      name: MD4_Update
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/lib/md4.c
      type_or_value: wolfSSL_MD4_Update
    - item_type: preproc_def
      name: MD4_Final
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/md4.c
      type_or_value: wolfSSL_MD4_Final
    structs:
    - fields:
      - name: hCryptProv
        type: HCRYPTPROV
      - name: hHash
        type: HCRYPTHASH
      item_type: struct
      name: md4_ctx
      pos:
        line_end: 123
        line_start: 120
        source_file: /src/curl/lib/md4.c
    - fields:
      - name: '*data'
        type: void
      - name: size
        type: unsigned long
      item_type: struct
      name: md4_ctx
      pos:
        line_end: 194
        line_start: 191
        source_file: /src/curl/lib/md4.c
    - fields:
      - name: lo
        type: MD4_u32plus
      - name: a
        type: MD4_u32plus
      - name: buffer[64]
        type: unsigned char
      - name: block[16]
        type: MD4_u32plus
      item_type: struct
      name: md4_ctx
      pos:
        line_end: 258
        line_start: 253
        source_file: /src/curl/lib/md4.c
    typedefs:
    - item_type: typedef
      name: MD4_CTX
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/curl/lib/md4.c
      type: CC_MD4_CTX
    - item_type: typedef
      name: MD4_CTX
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/curl/lib/md4.c
      type: md4_ctx
    - item_type: typedef
      name: MD4_CTX
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/curl/lib/md4.c
      type: md4_ctx
    - item_type: typedef
      name: MD4_CTX
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/curl/lib/md4.c
      type: md4_ctx
    - item_type: typedef
      name: MD4_u32plus
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/curl/lib/md4.c
      type: unsigned int
    - item_type: typedef
      name: MD4_CTX
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/curl/lib/md4.c
      type: md4_ctx
    union: []
- function_names:
  - Curl_rtsp_parseheader
  source_file: /src/curl/lib/rtsp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/mqtt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_sspi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECURITY_WIN32
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SP_NAME_DIGEST
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '"WDigest"'
    - item_type: preproc_def
      name: SP_NAME_NTLM
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '"NTLM"'
    - item_type: preproc_def
      name: SP_NAME_NEGOTIATE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '"Negotiate"'
    - item_type: preproc_def
      name: SP_NAME_KERBEROS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '"Kerberos"'
    - item_type: preproc_def
      name: ISC_REQ_USE_HTTP_STYLE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '0x01000000'
    - item_type: preproc_def
      name: ISC_RET_REPLAY_DETECT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: ISC_RET_SEQUENCE_DETECT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: ISC_RET_CONFIDENTIALITY
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: ISC_RET_ALLOCATED_MEMORY
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: ISC_RET_STREAM
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '0x00008000'
    - item_type: preproc_def
      name: SEC_E_INSUFFICIENT_MEMORY
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090300L)
    - item_type: preproc_def
      name: SEC_E_INVALID_HANDLE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090301L)
    - item_type: preproc_def
      name: SEC_E_UNSUPPORTED_FUNCTION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090302L)
    - item_type: preproc_def
      name: SEC_E_TARGET_UNKNOWN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090303L)
    - item_type: preproc_def
      name: SEC_E_INTERNAL_ERROR
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090304L)
    - item_type: preproc_def
      name: SEC_E_SECPKG_NOT_FOUND
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090305L)
    - item_type: preproc_def
      name: SEC_E_NOT_OWNER
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090306L)
    - item_type: preproc_def
      name: SEC_E_CANNOT_INSTALL
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090307L)
    - item_type: preproc_def
      name: SEC_E_INVALID_TOKEN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090308L)
    - item_type: preproc_def
      name: SEC_E_CANNOT_PACK
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090309L)
    - item_type: preproc_def
      name: SEC_E_QOP_NOT_SUPPORTED
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030AL)
    - item_type: preproc_def
      name: SEC_E_NO_IMPERSONATION
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030BL)
    - item_type: preproc_def
      name: SEC_E_LOGON_DENIED
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030CL)
    - item_type: preproc_def
      name: SEC_E_UNKNOWN_CREDENTIALS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030DL)
    - item_type: preproc_def
      name: SEC_E_NO_CREDENTIALS
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030EL)
    - item_type: preproc_def
      name: SEC_E_MESSAGE_ALTERED
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009030FL)
    - item_type: preproc_def
      name: SEC_E_OUT_OF_SEQUENCE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090310L)
    - item_type: preproc_def
      name: SEC_E_NO_AUTHENTICATING_AUTHORITY
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090311L)
    - item_type: preproc_def
      name: SEC_E_BAD_PKGID
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090316L)
    - item_type: preproc_def
      name: SEC_E_CONTEXT_EXPIRED
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090317L)
    - item_type: preproc_def
      name: SEC_E_INCOMPLETE_MESSAGE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090318L)
    - item_type: preproc_def
      name: SEC_E_INCOMPLETE_CREDENTIALS
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090320L)
    - item_type: preproc_def
      name: SEC_E_BUFFER_TOO_SMALL
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090321L)
    - item_type: preproc_def
      name: SEC_E_WRONG_PRINCIPAL
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090322L)
    - item_type: preproc_def
      name: SEC_E_TIME_SKEW
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090324L)
    - item_type: preproc_def
      name: SEC_E_UNTRUSTED_ROOT
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090325L)
    - item_type: preproc_def
      name: SEC_E_ILLEGAL_MESSAGE
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090326L)
    - item_type: preproc_def
      name: SEC_E_CERT_UNKNOWN
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090327L)
    - item_type: preproc_def
      name: SEC_E_CERT_EXPIRED
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090328L)
    - item_type: preproc_def
      name: SEC_E_ENCRYPT_FAILURE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090329L)
    - item_type: preproc_def
      name: SEC_E_DECRYPT_FAILURE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090330L)
    - item_type: preproc_def
      name: SEC_E_ALGORITHM_MISMATCH
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090331L)
    - item_type: preproc_def
      name: SEC_E_SECURITY_QOS_FAILED
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090332L)
    - item_type: preproc_def
      name: SEC_E_UNFINISHED_CONTEXT_DELETED
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090333L)
    - item_type: preproc_def
      name: SEC_E_NO_TGT_REPLY
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090334L)
    - item_type: preproc_def
      name: SEC_E_NO_IP_ADDRESSES
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090335L)
    - item_type: preproc_def
      name: SEC_E_WRONG_CREDENTIAL_HANDLE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090336L)
    - item_type: preproc_def
      name: SEC_E_CRYPTO_SYSTEM_INVALID
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090337L)
    - item_type: preproc_def
      name: SEC_E_MAX_REFERRALS_EXCEEDED
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090338L)
    - item_type: preproc_def
      name: SEC_E_MUST_BE_KDC
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090339L)
    - item_type: preproc_def
      name: SEC_E_STRONG_CRYPTO_NOT_SUPPORTED
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033AL)
    - item_type: preproc_def
      name: SEC_E_TOO_MANY_PRINCIPALS
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033BL)
    - item_type: preproc_def
      name: SEC_E_NO_PA_DATA
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033CL)
    - item_type: preproc_def
      name: SEC_E_PKINIT_NAME_MISMATCH
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033DL)
    - item_type: preproc_def
      name: SEC_E_SMARTCARD_LOGON_REQUIRED
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033EL)
    - item_type: preproc_def
      name: SEC_E_SHUTDOWN_IN_PROGRESS
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009033FL)
    - item_type: preproc_def
      name: SEC_E_KDC_INVALID_REQUEST
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090340L)
    - item_type: preproc_def
      name: SEC_E_KDC_UNABLE_TO_REFER
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090341L)
    - item_type: preproc_def
      name: SEC_E_KDC_UNKNOWN_ETYPE
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090342L)
    - item_type: preproc_def
      name: SEC_E_UNSUPPORTED_PREAUTH
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090343L)
    - item_type: preproc_def
      name: SEC_E_DELEGATION_REQUIRED
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090345L)
    - item_type: preproc_def
      name: SEC_E_BAD_BINDINGS
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090346L)
    - item_type: preproc_def
      name: SEC_E_MULTIPLE_ACCOUNTS
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090347L)
    - item_type: preproc_def
      name: SEC_E_NO_KERB_KEY
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090348L)
    - item_type: preproc_def
      name: SEC_E_CERT_WRONG_USAGE
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090349L)
    - item_type: preproc_def
      name: SEC_E_DOWNGRADE_DETECTED
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090350L)
    - item_type: preproc_def
      name: SEC_E_SMARTCARD_CERT_REVOKED
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090351L)
    - item_type: preproc_def
      name: SEC_E_ISSUING_CA_UNTRUSTED
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090352L)
    - item_type: preproc_def
      name: SEC_E_REVOCATION_OFFLINE_C
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090353L)
    - item_type: preproc_def
      name: SEC_E_PKINIT_CLIENT_FAILURE
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090354L)
    - item_type: preproc_def
      name: SEC_E_SMARTCARD_CERT_EXPIRED
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090355L)
    - item_type: preproc_def
      name: SEC_E_NO_S4U_PROT_SUPPORT
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090356L)
    - item_type: preproc_def
      name: SEC_E_CROSSREALM_DELEGATION_FAILURE
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090357L)
    - item_type: preproc_def
      name: SEC_E_REVOCATION_OFFLINE_KDC
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090358L)
    - item_type: preproc_def
      name: SEC_E_ISSUING_CA_UNTRUSTED_KDC
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80090359L)
    - item_type: preproc_def
      name: SEC_E_KDC_CERT_EXPIRED
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035AL)
    - item_type: preproc_def
      name: SEC_E_KDC_CERT_REVOKED
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035BL)
    - item_type: preproc_def
      name: SEC_E_INVALID_PARAMETER
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035DL)
    - item_type: preproc_def
      name: SEC_E_DELEGATION_POLICY
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035EL)
    - item_type: preproc_def
      name: SEC_E_POLICY_NLTM_ONLY
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x8009035FL)
    - item_type: preproc_def
      name: SEC_I_CONTINUE_NEEDED
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090312L)
    - item_type: preproc_def
      name: SEC_I_COMPLETE_NEEDED
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090313L)
    - item_type: preproc_def
      name: SEC_I_COMPLETE_AND_CONTINUE
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090314L)
    - item_type: preproc_def
      name: SEC_I_LOCAL_LOGON
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090315L)
    - item_type: preproc_def
      name: SEC_I_CONTEXT_EXPIRED
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090317L)
    - item_type: preproc_def
      name: SEC_I_INCOMPLETE_CREDENTIALS
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090320L)
    - item_type: preproc_def
      name: SEC_I_RENEGOTIATE
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090321L)
    - item_type: preproc_def
      name: SEC_I_NO_LSA_CONTEXT
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x00090323L)
    - item_type: preproc_def
      name: SEC_I_SIGNATURE_NEEDED
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x0009035CL)
    - item_type: preproc_def
      name: CRYPT_E_NOT_IN_REVOCATION_DATABASE
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: ((HRESULT)0x80092014L)
    - item_type: preproc_def
      name: KERB_WRAP_NO_ENCRYPT
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/curl/lib/curl_sspi.h
      type_or_value: '0x80000001'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_input_digest
  - Curl_output_digest
  - Curl_http_auth_cleanup_digest
  source_file: /src/curl/lib/http_digest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_psl_use
  source_file: /src/curl/lib/psl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PSL_TTL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/psl.h
      type_or_value: '(72 * 3600)     '
    structs:
    - fields:
      - name: '*psl'
        type: psl_ctx_t
      - name: expires
        type: time_t
      item_type: struct
      name: PslCache
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/curl/lib/psl.h
    typedefs: []
    union: []
- function_names:
  - mqtt_easy_dtor
  - mqtt_conn_dtor
  - mqtt_setup_conn
  - mqtt_send
  - mqtt_pollset
  - mqtt_encode_len
  - add_passwd
  - add_user
  - add_client_id
  - init_connpack
  - mqtt_connect
  - mqtt_disconnect
  - mqtt_recv_atleast
  - mqtt_recv_consume
  - mqtt_verify_connack
  - mqtt_get_topic
  - mqtt_subscribe
  - mqtt_verify_suback
  - mqtt_publish
  - mqtt_decode_len
  - mqstate
  - mqtt_read_publish
  - mqtt_do
  - mqtt_done
  - mqtt_ping
  - mqtt_doing
  source_file: /src/curl/lib/mqtt.c
  types:
    enum:
    - enumerators:
      - name: MQTT_FIRST
      - name: MQTT_CONNACK
      - name: MQTT_SUBACK
      - name: MQTT_REMAINING_LENGTH
      - name: MQTT_SUBACK_COMING
      - name: MQTT_PUBWAIT
      - name: MQTT_PUB_REMAIN
      - name: MQTT_NOSTATE
      item_type: enum
      name: mqttstate
      pos:
        line_end: 77
        line_start: 67
        source_file: /src/curl/lib/mqtt.c
    preproc_defs:
    - item_type: preproc_def
      name: MQTT_MSG_CONNECT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: MQTT_MSG_PUBLISH
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '0x30'
    - item_type: preproc_def
      name: MQTT_MSG_SUBSCRIBE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '0x82'
    - item_type: preproc_def
      name: MQTT_MSG_SUBACK
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '0x90'
    - item_type: preproc_def
      name: MQTT_MSG_DISCONNECT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '0xe0'
    - item_type: preproc_def
      name: MQTT_MSG_PINGRESP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '0xD0'
    - item_type: preproc_def
      name: MQTT_CONNACK_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MQTT_SUBACK_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MQTT_CLIENTID_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: CURL_META_MQTT_EASY
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '"meta:proto:mqtt:easy"'
    - item_type: preproc_def
      name: CURL_META_MQTT_CONN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/lib/mqtt.c
      type_or_value: '"meta:proto:mqtt:conn"'
    structs:
    - fields:
      - name: state
        type: enum mqttstate
      - name: nextstate
        type: enum mqttstate
      - name: packetid
        type: unsigned int
      item_type: struct
      name: mqtt_conn
      pos:
        line_end: 84
        line_start: 79
        source_file: /src/curl/lib/mqtt.c
    - fields:
      - name: sendbuf
        type: struct dynbuf
      - name: recvbuf
        type: struct dynbuf
      - name: npacket
        type: size_t
      - name: remaining_length
        type: size_t
      - name: pkt_hd[4]
        type: unsigned char
      - name: lastTime
        type: struct curltime
      - name: firstbyte
        type: unsigned char
      item_type: struct
      name: MQTT
      pos:
        line_end: 97
        line_start: 87
        source_file: /src/curl/lib/mqtt.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_mem_undef.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isatty
  - puts
  source_file: /src/curl/lib/setup-os400.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NI_MAXHOST
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: '1025'
    - item_type: preproc_def
      name: NI_MAXSERV
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: '32'
    - item_type: preproc_def
      name: getaddrinfo
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_getaddrinfo_a
    - item_type: preproc_def
      name: getnameinfo
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_getnameinfo_a
    - item_type: preproc_def
      name: gss_import_name
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_gss_import_name_a
    - item_type: preproc_def
      name: gss_display_status
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_gss_display_status_a
    - item_type: preproc_def
      name: gss_init_sec_context
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_gss_init_sec_context_a
    - item_type: preproc_def
      name: gss_delete_sec_context
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_gss_delete_sec_context_a
    - item_type: preproc_def
      name: BerValue
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: struct berval
    - item_type: preproc_def
      name: ldap_url_parse
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: ldap_url_parse_utf8
    - item_type: preproc_def
      name: ldap_init
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_init_a
    - item_type: preproc_def
      name: ldap_simple_bind_s
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_simple_bind_s_a
    - item_type: preproc_def
      name: ldap_search_s
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_search_s_a
    - item_type: preproc_def
      name: ldap_get_values_len
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_get_values_len_a
    - item_type: preproc_def
      name: ldap_err2string
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_err2string_a
    - item_type: preproc_def
      name: ldap_get_dn
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_get_dn_a
    - item_type: preproc_def
      name: ldap_first_attribute
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_first_attribute_a
    - item_type: preproc_def
      name: ldap_next_attribute
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_ldap_next_attribute_a
    - item_type: preproc_def
      name: connect
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_connect
    - item_type: preproc_def
      name: bind
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_bind
    - item_type: preproc_def
      name: sendto
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_sendto
    - item_type: preproc_def
      name: recvfrom
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_recvfrom
    - item_type: preproc_def
      name: getpeername
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_getpeername
    - item_type: preproc_def
      name: getsockname
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_getsockname
    - item_type: preproc_def
      name: zlibVersion
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_zlibVersion
    - item_type: preproc_def
      name: inflateInit_
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_inflateInit_
    - item_type: preproc_def
      name: inflateInit2_
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_inflateInit2_
    - item_type: preproc_def
      name: inflate
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_inflate
    - item_type: preproc_def
      name: inflateEnd
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/curl/lib/setup-os400.h
      type_or_value: Curl_os400_inflateEnd
    structs: []
    typedefs:
    - item_type: typedef
      name: u_int32_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/curl/lib/setup-os400.h
      type: unsigned long
    union: []
- function_names:
  - Curl_amiga_init
  - Curl_amiga_cleanup
  source_file: /src/curl/lib/amigaos.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_fopen.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - oldap_state
  - oldap_map_error
  - oldap_url_parse
  - oldap_parse_login_options
  - oldap_setup_connection
  - oldap_get_message
  - oldap_perform_auth
  - oldap_continue_auth
  - oldap_cancel_auth
  - oldap_perform_bind
  - oldap_perform_mechs
  - oldap_perform_sasl
  - ssl_installed
  - oldap_ssl_connect
  - oldap_perform_starttls
  - oldap_easy_dtor
  - oldap_conn_dtor
  - oldap_connect
  - oldap_state_mechs_resp
  - oldap_state_sasl_resp
  - oldap_state_bind_resp
  - oldap_connecting
  - oldap_disconnect
  - oldap_do
  - oldap_done
  - client_write
  - oldap_recv
  - ldapsb_tls_setup
  - ldapsb_tls_remove
  - ldapsb_tls_close
  - ldapsb_tls_ctrl
  - ldapsb_tls_read
  - ldapsb_tls_write
  source_file: /src/curl/lib/openldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_LDAP_EASY
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/curl/lib/openldap.c
      type_or_value: '"meta:proto:ldap:easy"'
    - item_type: preproc_def
      name: CURL_META_LDAP_CONN
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/curl/lib/openldap.c
      type_or_value: '"meta:proto:ldap:conn"'
    structs:
    - fields:
      - name: sasl
        type: struct SASL
      - name: '*ld'
        type: LDAP
      - name: '*recv'
        type: Curl_recv
      - name: '*send'
        type: Curl_send
      - name: '*servercred'
        type: struct berval
      - name: state
        type: ldapstate
      - name: proto
        type: int
      - name: msgid
        type: int
      item_type: struct
      name: ldapconninfo
      pos:
        line_end: 198
        line_start: 189
        source_file: /src/curl/lib/openldap.c
    - fields:
      - name: msgid
        type: int
      - name: nument
        type: int
      item_type: struct
      name: ldapreqinfo
      pos:
        line_end: 203
        line_start: 200
        source_file: /src/curl/lib/openldap.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/smtp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AddHttpPost
  - AddFormInfo
  - free_formlist
  - FormAddCheck
  - free_chain
  - FormAdd
  - curl_formadd
  - curl_formget
  - curl_formfree
  - setname
  - fseeko_wrapper
  - Curl_getformdata
  - curl_formadd
  - curl_formget
  - curl_formfree
  source_file: /src/curl/lib/formdata.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPPOST_PTRNAME
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_PTRNAME
    - item_type: preproc_def
      name: HTTPPOST_FILENAME
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_FILENAME
    - item_type: preproc_def
      name: HTTPPOST_PTRCONTENTS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_PTRCONTENTS
    - item_type: preproc_def
      name: HTTPPOST_READFILE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_READFILE
    - item_type: preproc_def
      name: HTTPPOST_PTRBUFFER
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_PTRBUFFER
    - item_type: preproc_def
      name: HTTPPOST_CALLBACK
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_CALLBACK
    - item_type: preproc_def
      name: HTTPPOST_BUFFER
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/formdata.c
      type_or_value: CURL_HTTPPOST_BUFFER
    structs: []
    typedefs: []
    union: []
- function_names:
  - GOOD_MULTI_HANDLE
  - GOOD_MULTI_HANDLE
  - before_perform
  - init_completed
  - mstate
  - multistate
  - multistate
  - ph_freeentry
  - multi_addmsg
  - Curl_multi_handle
  - curl_multi_init
  - multi_warn_debug
  - multi_warn_debug
  - multi_xfers_add
  - curl_multi_add_handle
  - debug_print_sock_hash
  - multi_done
  - close_connect_only
  - curl_multi_remove_handle
  - Curl_multiplex_wanted
  - Curl_detach_connection
  - Curl_attach_connection
  - mstate_connecting_pollset
  - mstate_protocol_pollset
  - mstate_do_pollset
  - mstate_domore_pollset
  - mstate_perform_pollset
  - Curl_multi_pollset
  - curl_multi_fdset
  - curl_multi_waitfds
  - reset_socket_fdwrite
  - curl_multi_wait
  - curl_multi_poll
  - curl_multi_wakeup
  - multi_ischanged
  - Curl_multi_connchanged
  - Curl_multi_add_perform
  - multi_do
  - multi_do_more
  - multi_handle_timeout
  - protocol_connecting
  - protocol_doing
  - protocol_connect
  - set_in_callback
  - multi_posttransfer
  - multi_follow
  - mspeed_check
  - state_performing
  - state_do
  - state_ratelimiting
  - state_resolving
  - state_connect
  - multi_runsingle
  - curl_multi_perform
  - curl_multi_cleanup
  - curl_multi_info_read
  - Curl_multi_will_close
  - add_next_timeout
  - multi_mark_expired_as_dirty
  - multi_run_dirty
  - multi_socket
  - curl_multi_setopt
  - curl_multi_socket
  - curl_multi_socket_action
  - curl_multi_socket_all
  - multi_has_dirties
  - multi_timeout
  - curl_multi_timeout
  - Curl_update_timer
  - multi_deltimeout
  - multi_addtimeout
  - Curl_expire_ex
  - Curl_expire
  - Curl_expire_done
  - Curl_expire_clear
  - curl_multi_assign
  - move_pending_to_connect
  - process_pending_handles
  - Curl_set_in_callback
  - Curl_is_in_callback
  - Curl_multi_max_concurrent_streams
  - curl_multi_get_handles
  - curl_multi_get_offt
  - Curl_multi_xfer_buf_borrow
  - Curl_multi_xfer_buf_release
  - Curl_multi_xfer_ulbuf_borrow
  - Curl_multi_xfer_ulbuf_release
  - Curl_multi_xfer_sockbuf_borrow
  - Curl_multi_xfer_sockbuf_release
  - multi_xfer_bufs_free
  - Curl_multi_get_easy
  - Curl_multi_xfers_running
  - Curl_multi_mark_dirty
  - Curl_multi_clear_dirty
  - curl_multi_notify_enable
  - curl_multi_notify_disable
  - multi_xfer_dump
  - multi_xfer_tbl_dump
  source_file: /src/curl/lib/multi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_XFER_TABLE_SIZE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/multi.c
      type_or_value: '512'
    - item_type: preproc_def
      name: CURL_SOCKET_HASH_TABLE_SIZE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/multi.c
      type_or_value: '911'
    - item_type: preproc_def
      name: CURL_CONNECTION_HASH_SIZE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/multi.c
      type_or_value: '97'
    - item_type: preproc_def
      name: CURL_DNS_HASH_SIZE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/lib/multi.c
      type_or_value: '71'
    - item_type: preproc_def
      name: CURL_TLS_SESSION_SIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/multi.c
      type_or_value: '25'
    - item_type: preproc_def
      name: CURL_MULTI_HANDLE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/multi.c
      type_or_value: '0x000bab1e'
    - item_type: preproc_def
      name: NUM_POLLS_ON_STACK
      pos:
        line_end: 1305
        line_start: 1304
        source_file: /src/curl/lib/multi.c
      type_or_value: '10'
    structs:
    - fields: []
      item_type: struct
      name: multi_done_ctx
      pos:
        line_end: 546
        line_start: 544
        source_file: /src/curl/lib/multi.c
    - fields:
      - name: '*multi'
        type: struct Curl_multi
      - name: now
        type: struct curltime
      - name: run_xfers
        type: size_t
      - name: run_cpool
        type: bool
      item_type: struct
      name: multi_run_ctx
      pos:
        line_end: 3059
        line_start: 3053
        source_file: /src/curl/lib/multi.c
    typedefs:
    - item_type: typedef
      name: (*init_multistate_func)(struct Curl_easy *data)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/curl/lib/multi.c
      type: void
    union: []
- function_names:
  - appendnl
  - Curl_get_line
  source_file: /src/curl/lib/curl_get_line.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/smb.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FREE_ON_WINLDAP
  - LDAP_TRACE
  - LDAP_TRACE
  - ldap_win_bind_auth
  - ldap_win_bind
  - ldap_do
  - ldap_trace_low
  - str2scope
  - num_entries
  - ldap_url_parse2_low
  - ldap_url_parse_low
  - ldap_free_urldesc_low
  source_file: /src/curl/lib/ldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LDAP_DEPRECATED
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/ldap.c
      type_or_value: '1      '
    - item_type: preproc_def
      name: curl_ldap_num_t
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/lib/ldap.c
      type_or_value: ULONG
    - item_type: preproc_def
      name: curl_ldap_num_t
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/lib/ldap.c
      type_or_value: int
    - item_type: preproc_def
      name: LDAPURLDesc
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/curl/lib/ldap.c
      type_or_value: struct ldap_urldesc
    - item_type: preproc_def
      name: ldap_free_urldesc
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/curl/lib/ldap.c
      type_or_value: ldap_free_urldesc_low
    - item_type: preproc_def
      name: ldap_err2string
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/curl/lib/ldap.c
      type_or_value: ldap_err2stringA
    - item_type: preproc_def
      name: LDAP_OPT_ON
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/curl/lib/ldap.c
      type_or_value: ((void *)(size_t)1)
    - item_type: preproc_def
      name: LDAP_OPT_OFF
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/curl/lib/ldap.c
      type_or_value: ((void *)(size_t)0)
    structs:
    - fields:
      - name: '*lud_host'
        type: char
      - name: lud_port
        type: int
      - name: lud_scope
        type: int
      - name: '**lud_exts'
        type: char
      - name: lud_attrs_dups
        type: size_t
      item_type: struct
      name: ldap_urldesc
      pos:
        line_end: 132
        line_start: 112
        source_file: /src/curl/lib/ldap.c
    typedefs: []
    union: []
- function_names:
  - Curl_sync_getaddrinfo
  - Curl_ipv4_resolve_r
  source_file: /src/curl/lib/hostip4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_gethostname
  source_file: /src/curl/lib/curl_gethostname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_get_line.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_easyopts_check
  source_file: /src/curl/lib/easyoptions.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_range
  source_file: /src/curl/lib/curl_range.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_HMAC_init
  - Curl_HMAC_update
  - Curl_HMAC_final
  - Curl_hmacit
  source_file: /src/curl/lib/hmac.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_speedinit
  - Curl_speedcheck
  source_file: /src/curl/lib/speedcheck.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/uint-spbset.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINT_SPBSET_CH_SLOTS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/uint-spbset.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CURL_UINT_SPBSET_CH_MASK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/uint-spbset.h
      type_or_value: ((CURL_UINT_SPBSET_CH_SLOTS * 64) - 1)
    structs:
    - fields:
      - name: '*next'
        type: struct uint_spbset_chunk
      - name: slots[CURL_UINT_SPBSET_CH_SLOTS]
        type: curl_uint64_t
      - name: offset
        type: unsigned int
      item_type: struct
      name: uint_spbset_chunk
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/curl/lib/uint-spbset.h
    - fields:
      - name: head
        type: struct uint_spbset_chunk
      item_type: struct
      name: uint_spbset
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/curl/lib/uint-spbset.h
    typedefs: []
    union: []
- function_names:
  - Curl_async_global_init
  - Curl_async_global_cleanup
  - Curl_async_get_impl
  - addr_ctx_unlink
  - addr_ctx_create
  - CURL_STDCALL::getaddrinfo_thread
  - CURL_STDCALL::gethostbyname_thread
  - async_thrdd_destroy
  - async_thrdd_rr_done
  - async_rr_start
  - async_thrdd_init
  - async_thrdd_shutdown
  - asyn_thrdd_await
  - Curl_async_thrdd_shutdown
  - Curl_async_thrdd_destroy
  - Curl_async_await
  - Curl_async_is_resolved
  - Curl_async_pollset
  - Curl_async_getaddrinfo
  - Curl_async_getaddrinfo
  source_file: /src/curl/lib/asyn-thrdd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RESOLVER_ENOMEM
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/asyn-thrdd.c
      type_or_value: 'EAI_MEMORY  '
    - item_type: preproc_def
      name: RESOLVER_ENOMEM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/asyn-thrdd.c
      type_or_value: SOCKENOMEM
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_macos_init
  source_file: /src/curl/lib/macos.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/cw-pause.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STARTS_WITH_DRIVE_PREFIX
  - STARTS_WITH_URL_DRIVE_PREFIX
  - free_urlhandle
  - find_host_sep
  - cc2cu
  - urlencode_str
  - Curl_is_absolute_url
  - redirect_url
  - Curl_junkscan
  - parse_hostname_login
  - Curl_parse_port
  - ipv6_parse
  - hostname_check
  - ipv4_normalize
  - urldecode_host
  - parse_authority
  - Curl_url_set_authority
  - is_dot
  - ISSLASH
  - dedotdotify
  - parseurl
  - parseurl_and_replace
  - curl_url
  - curl_url_cleanup
  - DUP
  - curl_url_dup
  - host_decode
  - host_encode
  - host_decode
  - host_encode
  - urlget_format
  - urlget_url
  - curl_url_get
  - set_url_scheme
  - set_url_port
  - set_url
  - urlset_clear
  - allowed_in_path
  - curl_url_set
  source_file: /src/curl/lib/urlapi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SCHEME_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/urlapi.c
      type_or_value: '40'
    - item_type: preproc_def
      name: AF_INET6
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/urlapi.c
      type_or_value: (AF_INET + 1)
    - item_type: preproc_def
      name: DEFAULT_SCHEME
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/lib/urlapi.c
      type_or_value: '"https"'
    - item_type: preproc_def
      name: HOST_ERROR
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/curl/lib/urlapi.c
      type_or_value: '-1 '
    - item_type: preproc_def
      name: HOST_NAME
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/curl/lib/urlapi.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HOST_IPV4
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/curl/lib/urlapi.c
      type_or_value: '2'
    - item_type: preproc_def
      name: HOST_IPV6
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/curl/lib/urlapi.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*scheme'
        type: char
      - name: '*user'
        type: char
      - name: '*password'
        type: char
      - name: '*options'
        type: char
      - name: '*host'
        type: char
      - name: '*zoneid'
        type: char
      - name: '*port'
        type: char
      - name: '*path'
        type: char
      - name: '*query'
        type: char
      - name: '*fragment'
        type: char
      - name: portnum
        type: unsigned short
      item_type: struct
      name: Curl_URL
      pos:
        line_end: 87
        line_start: 72
        source_file: /src/curl/lib/urlapi.c
    typedefs: []
    union: []
- function_names:
  - Curl_ws_request
  - Curl_ws_free
  source_file: /src/curl/lib/ws.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_PROTO_WS_CONN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/ws.h
      type_or_value: '"meta:proto:ws:conn"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/ftplistparser.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: '*pattern'
        type: char
      - name: filelist
        type: struct Curl_llist
      - name: '*ftpwc'
        type: struct ftp_wc
      - name: dtor
        type: wildcard_dtor
      - name: state
        type: unsigned char
      item_type: struct
      name: WildcardData
      pos:
        line_end: 65
        line_start: 58
        source_file: /src/curl/lib/ftplistparser.h
    typedefs:
    - item_type: typedef
      name: (*wildcard_dtor)(void *ptr)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/curl/lib/ftplistparser.h
      type: void
    union: []
- function_names: []
  source_file: /src/curl/lib/telnet.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CPOOL_IS_LOCKED
  - CPOOL_LOCK
  - CPOOL_UNLOCK
  - cpool_bundle_create
  - cpool_bundle_destroy
  - cpool_bundle_add
  - cpool_bundle_remove
  - cpool_bundle_free_entry
  - Curl_cpool_init
  - cpool_get_first
  - cpool_find_bundle
  - cpool_remove_bundle
  - cpool_remove_conn
  - Curl_cpool_destroy
  - cpool_get_instance
  - Curl_cpool_xfer_init
  - cpool_add_bundle
  - cpool_bundle_get_oldest_idle
  - cpool_get_oldest_idle
  - Curl_cpool_check_limits
  - Curl_cpool_add
  - cpool_foreach
  - Curl_cpool_conn_now_idle
  - Curl_cpool_find
  - cpool_discard_conn
  - Curl_conn_terminate
  - cpool_reap_dead_cb
  - Curl_cpool_prune_dead
  - conn_upkeep
  - Curl_cpool_upkeep
  - cpool_find_conn
  - Curl_cpool_get_conn
  - cpool_do_conn
  - Curl_cpool_do_by_id
  - Curl_cpool_do_locked
  - cpool_mark_stale
  - cpool_reap_no_reuse
  - Curl_cpool_nw_changed
  - Curl_cpool_print
  source_file: /src/curl/lib/conncache.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: conns
        type: struct Curl_llist
      - name: dest_len
        type: size_t
      - name: dest[1]
        type: char
      item_type: struct
      name: cpool_bundle
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/curl/lib/conncache.c
    - fields:
      - name: now
        type: struct curltime
      item_type: struct
      name: cpool_reaper_ctx
      pos:
        line_end: 704
        line_start: 702
        source_file: /src/curl/lib/conncache.c
    - fields:
      - name: id
        type: curl_off_t
      - name: '*conn'
        type: struct connectdata
      item_type: struct
      name: cpool_find_ctx
      pos:
        line_end: 773
        line_start: 770
        source_file: /src/curl/lib/conncache.c
    - fields:
      - name: id
        type: curl_off_t
      - name: '*cb'
        type: Curl_cpool_conn_do_cb
      - name: '*cbdata'
        type: void
      item_type: struct
      name: cpool_do_conn_ctx
      pos:
        line_end: 807
        line_start: 803
        source_file: /src/curl/lib/conncache.c
    typedefs: []
    union: []
- function_names:
  - cap_expires
  - freecookie
  - cookie_tailmatch
  - pathmatch
  - get_top_domain
  - cookie_hash_domain
  - cookiehash
  - sanitize_cookie_path
  - Curl_cookie_loadfiles
  - strstore
  - remove_expired
  - bad_domain
  - invalid_octets
  - parse_cookie_header
  - parse_netscape
  - is_public_suffix
  - replace_existing
  - Curl_cookie_add
  - Curl_cookie_init
  - cookie_sort
  - cookie_sort_ct
  - Curl_secure_context
  - Curl_cookie_getlist
  - Curl_cookie_clearall
  - Curl_cookie_clearsess
  - Curl_cookie_cleanup
  - get_netscape_format
  - cookie_output
  - cookie_list
  - Curl_cookie_list
  - Curl_flush_cookies
  source_file: /src/curl/lib/cookie.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COOKIES_MAXAGE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/cookie.c
      type_or_value: (400*24*3600)
    - item_type: preproc_def
      name: CERR_OK
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/curl/lib/cookie.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CERR_TOO_LONG
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/curl/lib/cookie.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: CERR_TAB
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/curl/lib/cookie.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: CERR_TOO_BIG
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/curl/lib/cookie.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: CERR_BAD
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/curl/lib/cookie.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: CERR_NO_SEP
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/curl/lib/cookie.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: CERR_NO_NAME_VALUE
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/curl/lib/cookie.c
      type_or_value: '6 '
    - item_type: preproc_def
      name: CERR_INVALID_OCTET
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/curl/lib/cookie.c
      type_or_value: '7 '
    - item_type: preproc_def
      name: CERR_BAD_SECURE
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/curl/lib/cookie.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: CERR_OUT_OF_MEMORY
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/curl/lib/cookie.c
      type_or_value: '9'
    - item_type: preproc_def
      name: CERR_NO_TAILMATCH
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/curl/lib/cookie.c
      type_or_value: '10'
    - item_type: preproc_def
      name: CERR_COMMENT
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/curl/lib/cookie.c
      type_or_value: '11 '
    - item_type: preproc_def
      name: CERR_RANGE
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/curl/lib/cookie.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: CERR_FIELDS
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/curl/lib/cookie.c
      type_or_value: '13 '
    - item_type: preproc_def
      name: CERR_PSL
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/curl/lib/cookie.c
      type_or_value: '14 '
    - item_type: preproc_def
      name: CERR_LIVE_WINS
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/curl/lib/cookie.c
      type_or_value: '15'
    - item_type: preproc_def
      name: MAX_DATE_LENGTH
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/curl/lib/cookie.c
      type_or_value: '80'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/uint-table.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**rows'
        type: void
      - name: '*entry_dtor'
        type: Curl_uint_tbl_entry_dtor
      - name: nrows
        type: unsigned int
      - name: nentries
        type: unsigned int
      - name: last_key_added
        type: unsigned int
      item_type: struct
      name: uint_tbl
      pos:
        line_end: 41
        line_start: 32
        source_file: /src/curl/lib/uint-table.h
    typedefs:
    - item_type: typedef
      name: Curl_uint_tbl_entry_dtor(unsigned int key, void *entry)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/curl/lib/uint-table.h
      type: void
    union: []
- function_names:
  - dump_addrinfo
  - dump_addrinfo
  - Curl_sync_getaddrinfo
  source_file: /src/curl/lib/hostip6.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SHORTPAIR
  - LONGQUARTET
  source_file: /src/curl/lib/curl_ntlm_core.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/http_aws_sigv4.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DllMain
  source_file: /src/curl/lib/dllmain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vms_translate_path
  - vms_translate_path
  - vms_getenv
  - vms_getpwuid
  - CONF_modules_load_file
  source_file: /src/curl/lib/setup-vms.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: getenv
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: decc_getenv
    - item_type: preproc_def
      name: getpwuid
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: decc_getpwuid
    - item_type: preproc_def
      name: getenv
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: vms_getenv
    - item_type: preproc_def
      name: getpwuid
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: vms_getpwuid
    - item_type: preproc_def
      name: sys$assign
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SYS$ASSIGN
    - item_type: preproc_def
      name: sys$dassgn
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SYS$DASSGN
    - item_type: preproc_def
      name: sys$qiow
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SYS$QIOW
    - item_type: preproc_def
      name: decc_getpwuid
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: DECC$__LONG_GID_GETPWUID
    - item_type: preproc_def
      name: decc_getpwuid
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: decc$__32_getpwuid
    - item_type: preproc_def
      name: decc_getpwuid
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: decc$getpwuid
    - item_type: preproc_def
      name: ASN1_INTEGER_get
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ASN1_INTEGER_GET
    - item_type: preproc_def
      name: ASN1_STRING_data
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_DATA
    - item_type: preproc_def
      name: ASN1_STRING_length
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_LENGTH
    - item_type: preproc_def
      name: ASN1_STRING_print
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_PRINT
    - item_type: preproc_def
      name: ASN1_STRING_to_UTF8
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_TO_UTF8
    - item_type: preproc_def
      name: ASN1_STRING_type
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ASN1_STRING_TYPE
    - item_type: preproc_def
      name: BIO_ctrl
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: BIO_CTRL
    - item_type: preproc_def
      name: BIO_free
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: BIO_FREE
    - item_type: preproc_def
      name: BIO_new
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: BIO_NEW
    - item_type: preproc_def
      name: BIO_s_mem
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: BIO_S_MEM
    - item_type: preproc_def
      name: BN_bn2bin
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: BN_BN2BIN
    - item_type: preproc_def
      name: BN_num_bits
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: BN_NUM_BITS
    - item_type: preproc_def
      name: CRYPTO_cleanup_all_ex_data
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: CRYPTO_CLEANUP_ALL_EX_DATA
    - item_type: preproc_def
      name: CRYPTO_free
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: CRYPTO_FREE
    - item_type: preproc_def
      name: CRYPTO_malloc
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: CRYPTO_MALLOC
    - item_type: preproc_def
      name: CONF_modules_load_file
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: CONF_MODULES_LOAD_FILE
    - item_type: preproc_def
      name: CONF_MFLAGS_IGNORE_MISSING_FILE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: DES_ecb_encrypt
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: DES_ECB_ENCRYPT
    - item_type: preproc_def
      name: DES_set_key
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: DES_SET_KEY
    - item_type: preproc_def
      name: DES_set_odd_parity
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: DES_SET_ODD_PARITY
    - item_type: preproc_def
      name: ENGINE_ctrl
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_CTRL
    - item_type: preproc_def
      name: ENGINE_ctrl_cmd
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_CTRL_CMD
    - item_type: preproc_def
      name: ENGINE_finish
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_FINISH
    - item_type: preproc_def
      name: ENGINE_free
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_FREE
    - item_type: preproc_def
      name: ENGINE_get_first
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_GET_FIRST
    - item_type: preproc_def
      name: ENGINE_get_id
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_GET_ID
    - item_type: preproc_def
      name: ENGINE_get_next
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_GET_NEXT
    - item_type: preproc_def
      name: ENGINE_init
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_INIT
    - item_type: preproc_def
      name: ENGINE_load_builtin_engines
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_LOAD_BUILTIN_ENGINES
    - item_type: preproc_def
      name: ENGINE_load_private_key
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_LOAD_PRIVATE_KEY
    - item_type: preproc_def
      name: ENGINE_set_default
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ENGINE_SET_DEFAULT
    - item_type: preproc_def
      name: ERR_clear_error
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ERR_CLEAR_ERROR
    - item_type: preproc_def
      name: ERR_error_string
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ERR_ERROR_STRING
    - item_type: preproc_def
      name: ERR_error_string_n
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ERR_ERROR_STRING_N
    - item_type: preproc_def
      name: ERR_free_strings
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ERR_FREE_STRINGS
    - item_type: preproc_def
      name: ERR_get_error
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ERR_GET_ERROR
    - item_type: preproc_def
      name: ERR_peek_error
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ERR_PEEK_ERROR
    - item_type: preproc_def
      name: ERR_remove_state
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ERR_REMOVE_STATE
    - item_type: preproc_def
      name: EVP_PKEY_copy_parameters
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: EVP_PKEY_COPY_PARAMETERS
    - item_type: preproc_def
      name: EVP_PKEY_free
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: EVP_PKEY_FREE
    - item_type: preproc_def
      name: EVP_cleanup
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: EVP_CLEANUP
    - item_type: preproc_def
      name: GENERAL_NAMES_free
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: GENERAL_NAMES_FREE
    - item_type: preproc_def
      name: i2d_X509_PUBKEY
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: I2D_X509_PUBKEY
    - item_type: preproc_def
      name: MD4_Final
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: MD4_FINAL
    - item_type: preproc_def
      name: MD4_Init
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: MD4_INIT
    - item_type: preproc_def
      name: MD4_Update
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: MD4_UPDATE
    - item_type: preproc_def
      name: MD5_Final
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: MD5_FINAL
    - item_type: preproc_def
      name: MD5_Init
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: MD5_INIT
    - item_type: preproc_def
      name: MD5_Update
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: MD5_UPDATE
    - item_type: preproc_def
      name: OPENSSL_add_all_algo_noconf
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: OPENSSL_ADD_ALL_ALGO_NOCONF
    - item_type: preproc_def
      name: OPENSSL_load_builtin_modules
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: OPENSSL_LOAD_BUILTIN_MODULES
    - item_type: preproc_def
      name: PEM_read_X509
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: PEM_READ_X509
    - item_type: preproc_def
      name: PEM_write_bio_X509
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: PEM_WRITE_BIO_X509
    - item_type: preproc_def
      name: PKCS12_PBE_add
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: PKCS12_PBE_ADD
    - item_type: preproc_def
      name: PKCS12_free
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: PKCS12_FREE
    - item_type: preproc_def
      name: PKCS12_parse
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: PKCS12_PARSE
    - item_type: preproc_def
      name: RAND_add
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: RAND_ADD
    - item_type: preproc_def
      name: RAND_bytes
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: RAND_BYTES
    - item_type: preproc_def
      name: RAND_file_name
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: RAND_FILE_NAME
    - item_type: preproc_def
      name: RAND_load_file
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: RAND_LOAD_FILE
    - item_type: preproc_def
      name: RAND_status
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: RAND_STATUS
    - item_type: preproc_def
      name: SSL_CIPHER_get_name
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CIPHER_GET_NAME
    - item_type: preproc_def
      name: SSL_CTX_add_client_CA
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_ADD_CLIENT_CA
    - item_type: preproc_def
      name: SSL_CTX_callback_ctrl
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_CALLBACK_CTRL
    - item_type: preproc_def
      name: SSL_CTX_check_private_key
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_CHECK_PRIVATE_KEY
    - item_type: preproc_def
      name: SSL_CTX_ctrl
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_CTRL
    - item_type: preproc_def
      name: SSL_CTX_free
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_FREE
    - item_type: preproc_def
      name: SSL_CTX_get_cert_store
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_GET_CERT_STORE
    - item_type: preproc_def
      name: SSL_CTX_load_verify_locations
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_LOAD_VERIFY_LOCATIONS
    - item_type: preproc_def
      name: SSL_CTX_new
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_NEW
    - item_type: preproc_def
      name: SSL_CTX_set_cipher_list
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_CIPHER_LIST
    - item_type: preproc_def
      name: SSL_CTX_set_def_passwd_cb_ud
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_DEF_PASSWD_CB_UD
    - item_type: preproc_def
      name: SSL_CTX_set_default_passwd_cb
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_DEFAULT_PASSWD_CB
    - item_type: preproc_def
      name: SSL_CTX_set_msg_callback
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_MSG_CALLBACK
    - item_type: preproc_def
      name: SSL_CTX_set_verify
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_SET_VERIFY
    - item_type: preproc_def
      name: SSL_CTX_use_PrivateKey
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_PRIVATEKEY
    - item_type: preproc_def
      name: SSL_CTX_use_PrivateKey_file
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_PRIVATEKEY_FILE
    - item_type: preproc_def
      name: SSL_CTX_use_cert_chain_file
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_CERT_CHAIN_FILE
    - item_type: preproc_def
      name: SSL_CTX_use_certificate
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_CERTIFICATE
    - item_type: preproc_def
      name: SSL_CTX_use_certificate_file
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CTX_USE_CERTIFICATE_FILE
    - item_type: preproc_def
      name: SSL_SESSION_free
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_SESSION_FREE
    - item_type: preproc_def
      name: SSL_connect
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_CONNECT
    - item_type: preproc_def
      name: SSL_free
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_FREE
    - item_type: preproc_def
      name: SSL_get1_session
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET1_SESSION
    - item_type: preproc_def
      name: SSL_get_certificate
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET_CERTIFICATE
    - item_type: preproc_def
      name: SSL_get_current_cipher
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET_CURRENT_CIPHER
    - item_type: preproc_def
      name: SSL_get_error
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET_ERROR
    - item_type: preproc_def
      name: SSL_get_peer_cert_chain
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET_PEER_CERT_CHAIN
    - item_type: preproc_def
      name: SSL_get_peer_certificate
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET_PEER_CERTIFICATE
    - item_type: preproc_def
      name: SSL_get_privatekey
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET_PRIVATEKEY
    - item_type: preproc_def
      name: SSL_get_session
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET_SESSION
    - item_type: preproc_def
      name: SSL_get_shutdown
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET_SHUTDOWN
    - item_type: preproc_def
      name: SSL_get_verify_result
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_GET_VERIFY_RESULT
    - item_type: preproc_def
      name: SSL_library_init
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_LIBRARY_INIT
    - item_type: preproc_def
      name: SSL_load_error_strings
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_LOAD_ERROR_STRINGS
    - item_type: preproc_def
      name: SSL_new
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_NEW
    - item_type: preproc_def
      name: SSL_peek
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_PEEK
    - item_type: preproc_def
      name: SSL_pending
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_PENDING
    - item_type: preproc_def
      name: SSL_read
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_READ
    - item_type: preproc_def
      name: SSL_set_connect_state
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_SET_CONNECT_STATE
    - item_type: preproc_def
      name: SSL_set_fd
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_SET_FD
    - item_type: preproc_def
      name: SSL_set_session
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_SET_SESSION
    - item_type: preproc_def
      name: SSL_shutdown
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_SHUTDOWN
    - item_type: preproc_def
      name: SSL_version
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_VERSION
    - item_type: preproc_def
      name: SSL_write
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSL_WRITE
    - item_type: preproc_def
      name: SSLeay
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSLEAY
    - item_type: preproc_def
      name: SSLv23_client_method
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSLV23_CLIENT_METHOD
    - item_type: preproc_def
      name: SSLv3_client_method
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SSLV3_CLIENT_METHOD
    - item_type: preproc_def
      name: TLSv1_client_method
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: TLSV1_CLIENT_METHOD
    - item_type: preproc_def
      name: UI_create_method
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_CREATE_METHOD
    - item_type: preproc_def
      name: UI_destroy_method
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_DESTROY_METHOD
    - item_type: preproc_def
      name: UI_get0_user_data
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_GET0_USER_DATA
    - item_type: preproc_def
      name: UI_get_input_flags
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_GET_INPUT_FLAGS
    - item_type: preproc_def
      name: UI_get_string_type
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_GET_STRING_TYPE
    - item_type: preproc_def
      name: UI_create_method
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_CREATE_METHOD
    - item_type: preproc_def
      name: UI_destroy_method
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_DESTROY_METHOD
    - item_type: preproc_def
      name: UI_method_get_closer
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_GET_CLOSER
    - item_type: preproc_def
      name: UI_method_get_opener
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_GET_OPENER
    - item_type: preproc_def
      name: UI_method_get_reader
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_GET_READER
    - item_type: preproc_def
      name: UI_method_get_writer
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_GET_WRITER
    - item_type: preproc_def
      name: UI_method_set_closer
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_SET_CLOSER
    - item_type: preproc_def
      name: UI_method_set_opener
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_SET_OPENER
    - item_type: preproc_def
      name: UI_method_set_reader
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_SET_READER
    - item_type: preproc_def
      name: UI_method_set_writer
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_METHOD_SET_WRITER
    - item_type: preproc_def
      name: UI_OpenSSL
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_OPENSSL
    - item_type: preproc_def
      name: UI_set_result
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: UI_SET_RESULT
    - item_type: preproc_def
      name: X509V3_EXT_print
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509V3_EXT_PRINT
    - item_type: preproc_def
      name: X509_EXTENSION_get_critical
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_EXTENSION_GET_CRITICAL
    - item_type: preproc_def
      name: X509_EXTENSION_get_data
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_EXTENSION_GET_DATA
    - item_type: preproc_def
      name: X509_EXTENSION_get_object
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_EXTENSION_GET_OBJECT
    - item_type: preproc_def
      name: X509_LOOKUP_file
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_LOOKUP_FILE
    - item_type: preproc_def
      name: X509_NAME_ENTRY_get_data
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_NAME_ENTRY_GET_DATA
    - item_type: preproc_def
      name: X509_NAME_get_entry
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_NAME_GET_ENTRY
    - item_type: preproc_def
      name: X509_NAME_get_index_by_NID
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_NAME_GET_INDEX_BY_NID
    - item_type: preproc_def
      name: X509_NAME_print_ex
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_NAME_PRINT_EX
    - item_type: preproc_def
      name: X509_STORE_CTX_get_current_cert
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_STORE_CTX_GET_CURRENT_CERT
    - item_type: preproc_def
      name: X509_STORE_add_lookup
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_STORE_ADD_LOOKUP
    - item_type: preproc_def
      name: X509_STORE_set_flags
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_STORE_SET_FLAGS
    - item_type: preproc_def
      name: X509_check_issued
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_CHECK_ISSUED
    - item_type: preproc_def
      name: X509_free
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_FREE
    - item_type: preproc_def
      name: X509_get_ext_d2i
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_GET_EXT_D2I
    - item_type: preproc_def
      name: X509_get_issuer_name
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_GET_ISSUER_NAME
    - item_type: preproc_def
      name: X509_get_pubkey
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_GET_PUBKEY
    - item_type: preproc_def
      name: X509_get_serialNumber
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_GET_SERIALNUMBER
    - item_type: preproc_def
      name: X509_get_subject_name
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_GET_SUBJECT_NAME
    - item_type: preproc_def
      name: X509_load_crl_file
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_LOAD_CRL_FILE
    - item_type: preproc_def
      name: X509_verify_cert_error_string
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: X509_VERIFY_CERT_ERROR_STRING
    - item_type: preproc_def
      name: d2i_PKCS12_fp
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: D2I_PKCS12_FP
    - item_type: preproc_def
      name: i2t_ASN1_OBJECT
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: I2T_ASN1_OBJECT
    - item_type: preproc_def
      name: sk_num
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SK_NUM
    - item_type: preproc_def
      name: sk_pop
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SK_POP
    - item_type: preproc_def
      name: sk_pop_free
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SK_POP_FREE
    - item_type: preproc_def
      name: sk_value
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SK_VALUE
    - item_type: preproc_def
      name: SHA256_Final
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SHA256_FINAL
    - item_type: preproc_def
      name: SHA256_Init
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SHA256_INIT
    - item_type: preproc_def
      name: SHA256_Update
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: SHA256_UPDATE
    - item_type: preproc_def
      name: USE_UPPERCASE_GSSAPI
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: '1'
    - item_type: preproc_def
      name: gss_seal
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: GSS_SEAL
    - item_type: preproc_def
      name: gss_unseal
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: GSS_UNSEAL
    - item_type: preproc_def
      name: USE_UPPERCASE_KRBAPI
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: '1'
    - item_type: preproc_def
      name: inflate
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: INFLATE
    - item_type: preproc_def
      name: inflateEnd
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: INFLATEEND
    - item_type: preproc_def
      name: inflateInit2_
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: INFLATEINIT2_
    - item_type: preproc_def
      name: inflateInit_
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: INFLATEINIT_
    - item_type: preproc_def
      name: zlibVersion
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: ZLIBVERSION
    - item_type: preproc_def
      name: OpenSSL_add_all_algorithms
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/curl/lib/setup-vms.h
      type_or_value: OPENSSL_ADD_ALL_ALGORITHMS
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_fnmatch.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_FNMATCH_MATCH
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/curl/lib/curl_fnmatch.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_FNMATCH_NOMATCH
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/lib/curl_fnmatch.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_FNMATCH_FAIL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/lib/curl_fnmatch.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cf_haproxy_ctx_reset
  - cf_haproxy_ctx_free
  - cf_haproxy_connect
  - cf_haproxy_destroy
  - cf_haproxy_close
  - cf_haproxy_adjust_pollset
  - cf_haproxy_create
  - Curl_cf_haproxy_insert_after
  source_file: /src/curl/lib/cf-haproxy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: int
      - name: data_out
        type: struct dynbuf
      item_type: struct
      name: cf_haproxy_ctx
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/curl/lib/cf-haproxy.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_sha256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SHA256_DIGEST_LENGTH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/curl_sha256.h
      type_or_value: '32 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/noproxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/multihandle.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURLPIPE_ANY
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/multihandle.h
      type_or_value: (CURLPIPE_MULTIPLEX)
    - item_type: preproc_def
      name: INITIAL_MAX_CONCURRENT_STREAMS
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/multihandle.h
      type_or_value: ((1U << 31) - 1)
    - item_type: preproc_def
      name: IPV6_UNKNOWN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/curl/lib/multihandle.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IPV6_DEAD
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/curl/lib/multihandle.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IPV6_WORKS
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/curl/lib/multihandle.h
      type_or_value: '2'
    structs:
    - fields:
      - name: list
        type: struct Curl_llist_node
      - name: extmsg
        type: struct CURLMsg
      item_type: struct
      name: Curl_message
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/curl/lib/multihandle.h
    - fields:
      - name: magic
        type: unsigned int
      - name: xfers_alive
        type: unsigned int
      - name: xfers_total_ever
        type: curl_off_t
      - name: xfers
        type: struct uint_tbl
      - name: process
        type: struct uint_bset
      - name: dirty
        type: struct uint_bset
      - name: pending
        type: struct uint_bset
      - name: msgsent
        type: struct uint_bset
      - name: msglist
        type: struct Curl_llist
      - name: '*admin'
        type: struct Curl_easy
      - name: socket_cb
        type: curl_socket_callback
      - name: '*socket_userp'
        type: void
      - name: push_cb
        type: curl_push_callback
      - name: '*push_userp'
        type: void
      - name: dnscache
        type: struct Curl_dnscache
      - name: '*ssl_scache'
        type: struct Curl_ssl_scache
      - name: '*timetree'
        type: struct Curl_tree
      - name: '*xfer_buf'
        type: char
      - name: xfer_buf_len
        type: size_t
      - name: '*xfer_ulbuf'
        type: char
      - name: xfer_ulbuf_len
        type: size_t
      - name: '*xfer_sockbuf'
        type: char
      - name: xfer_sockbuf_len
        type: size_t
      - name: ev
        type: struct curl_multi_ev
      - name: ntfy
        type: struct curl_multi_ntfy
      - name: proto_hash
        type: struct Curl_hash
      - name: cshutdn
        type: struct cshutdn
      - name: cpool
        type: struct cpool
      - name: max_host_connections
        type: long
      - name: max_total_connections
        type: long
      - name: timer_cb
        type: curl_multi_timer_callback
      - name: '*timer_userp'
        type: void
      - name: last_timeout_ms
        type: long
      - name: last_expire_ts
        type: struct curltime
      - name: max_concurrent_streams
        type: unsigned int
      - name: maxconnects
        type: unsigned int
      - name: ipv6_up
        type: unsigned char
      item_type: struct
      name: Curl_multi
      pos:
        line_end: 195
        line_start: 85
        source_file: /src/curl/lib/multihandle.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_gethostname.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOSTNAME_MAX
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/lib/curl_gethostname.h
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_sha512_256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SHA512_256_DIGEST_LENGTH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/curl_sha512_256.h
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_macos_init
  source_file: /src/curl/lib/macos.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_uint_bset_init
  - Curl_uint_bset_resize
  - Curl_uint_bset_destroy
  - Curl_uint_bset_capacity
  - Curl_uint_bset_count
  - Curl_uint_bset_empty
  - Curl_uint_bset_clear
  - Curl_uint_bset_add
  - Curl_uint_bset_remove
  - Curl_uint_bset_contains
  - Curl_uint_bset_first
  - Curl_uint_bset_next
  - Curl_popcount64
  - Curl_ctz64
  source_file: /src/curl/lib/uint-bset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_UINT_BSET_MAGIC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/uint-bset.c
      type_or_value: '0x62757473'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ares_pollset
  - Curl_ares_perform
  - Curl_async_shutdown
  - Curl_async_destroy
  source_file: /src/curl/lib/asyn-base.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GOOD_SHARE_HANDLE
  - CURL_SHARE_KEEP_CONNECT
  - CURL_SHARE_ssl_scache
  source_file: /src/curl/lib/share.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_GOOD_SHARE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/share.h
      type_or_value: '0x7e117a1e'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: specifier
        type: unsigned int
      - name: dirty
        type: unsigned int
      - name: lockfunc
        type: curl_lock_function
      - name: unlockfunc
        type: curl_unlock_function
      - name: '*clientdata'
        type: void
      - name: '*admin'
        type: struct Curl_easy
      - name: cpool
        type: struct cpool
      - name: dnscache
        type: struct Curl_dnscache
      item_type: struct
      name: Curl_share
      pos:
        line_end: 66
        line_start: 43
        source_file: /src/curl/lib/share.h
    typedefs: []
    union: []
- function_names:
  - sasl_mech_equal
  source_file: /src/curl/lib/curl_sasl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SASL_MECH_LOGIN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SASL_MECH_PLAIN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: SASL_MECH_CRAM_MD5
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: SASL_MECH_DIGEST_MD5
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: SASL_MECH_GSSAPI
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: SASL_MECH_EXTERNAL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: SASL_MECH_NTLM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: SASL_MECH_XOAUTH2
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: SASL_MECH_OAUTHBEARER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: SASL_MECH_SCRAM_SHA_1
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: SASL_MECH_SCRAM_SHA_256
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: SASL_AUTH_NONE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SASL_AUTH_ANY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: SASL_AUTH_DEFAULT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: (SASL_AUTH_ANY & ~SASL_MECH_EXTERNAL)
    - item_type: preproc_def
      name: SASL_MECH_STRING_LOGIN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"LOGIN"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_PLAIN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"PLAIN"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_CRAM_MD5
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"CRAM-MD5"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_DIGEST_MD5
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"DIGEST-MD5"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_GSSAPI
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"GSSAPI"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_EXTERNAL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"EXTERNAL"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_NTLM
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"NTLM"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_XOAUTH2
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"XOAUTH2"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_OAUTHBEARER
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"OAUTHBEARER"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_SCRAM_SHA_1
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"SCRAM-SHA-1"'
    - item_type: preproc_def
      name: SASL_MECH_STRING_SCRAM_SHA_256
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '"SCRAM-SHA-256"'
    - item_type: preproc_def
      name: SASL_FLAG_BASE64
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/lib/curl_sasl.h
      type_or_value: '0x0001  '
    structs:
    - fields:
      - name: '*service'
        type: char
      - name: "(*sendauth)(struct Curl_easy *data, const char *mech,\n                       const
          struct bufref *ir)"
        type: CURLcode
      - name: "(*contauth)(struct Curl_easy *data, const char *mech,\n                       const
          struct bufref *contauth)"
        type: CURLcode
      - name: (*cancelauth)(struct Curl_easy *data, const char *mech)
        type: CURLcode
      - name: (*getmessage)(struct Curl_easy *data, struct bufref *out)
        type: CURLcode
      - name: maxirlen
        type: size_t
      - name: contcode
        type: int
      - name: finalcode
        type: int
      - name: defmechs
        type: unsigned short
      - name: flags
        type: unsigned short
      item_type: struct
      name: SASLproto
      pos:
        line_end: 117
        line_start: 97
        source_file: /src/curl/lib/curl_sasl.h
    - fields:
      - name: '*params'
        type: struct SASLproto
      - name: state
        type: saslstate
      - name: '*curmech'
        type: char
      - name: authmechs
        type: unsigned short
      - name: prefmech
        type: unsigned short
      - name: authused
        type: unsigned short
      item_type: struct
      name: SASL
      pos:
        line_end: 130
        line_start: 120
        source_file: /src/curl/lib/curl_sasl.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/multi_ev.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_MEV_POLLSET
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/multi_ev.h
      type_or_value: '"meta:mev:ps"'
    structs:
    - fields:
      - name: sh_entries
        type: struct Curl_hash
      item_type: struct
      name: curl_multi_ev
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/curl/lib/multi_ev.h
    typedefs: []
    union: []
- function_names:
  - Curl_mime_duppart
  - Curl_mime_set_subparts
  - Curl_mime_prepare_headers
  - Curl_creader_set_mime
  source_file: /src/curl/lib/mime.h
  types:
    enum:
    - enumerators:
      - name: MIMEKIND_NONE
        value: '0'
      - name: MIMEKIND_MULTIPART
      - name: MIMEKIND_CALLBACK
      - name: MIMEKIND_FILE
      - name: MIMEKIND_DATA
      - name: MIMEKIND_LAST
      item_type: enum
      name: mimekind
      pos:
        line_end: 50
        line_start: 43
        source_file: /src/curl/lib/mime.h
    - enumerators:
      - name: MIMESTATE_BEGIN
      - name: MIMESTATE_CURLHEADERS
      - name: MIMESTATE_BODY
      - name: MIMESTATE_EOH
      - name: MIMESTATE_USERHEADERS
      - name: MIMESTATE_BOUNDARY1
      - name: MIMESTATE_BOUNDARY2
      - name: MIMESTATE_CONTENT
      - name: MIMESTATE_END
      - name: MIMESTATE_LAST
      item_type: enum
      name: mimestate
      pos:
        line_end: 64
        line_start: 53
        source_file: /src/curl/lib/mime.h
    - enumerators:
      - name: MIMESTRATEGY_MAIL
      - name: MIMESTRATEGY_FORM
      - name: MIMESTRATEGY_LAST
      item_type: enum
      name: mimestrategy
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/curl/lib/mime.h
    preproc_defs:
    - item_type: preproc_def
      name: MIME_BOUNDARY_DASHES
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/lib/mime.h
      type_or_value: '24  '
    - item_type: preproc_def
      name: MIME_RAND_BOUNDARY_CHARS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/lib/mime.h
      type_or_value: '22  '
    - item_type: preproc_def
      name: MAX_ENCODED_LINE_LENGTH
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/mime.h
      type_or_value: '76  '
    - item_type: preproc_def
      name: ENCODING_BUFFER_SIZE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/mime.h
      type_or_value: '256 '
    - item_type: preproc_def
      name: MIME_USERHEADERS_OWNER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/mime.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: MIME_BODY_ONLY
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/mime.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: MIME_FAST_READ
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/mime.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FILE_CONTENTTYPE_DEFAULT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/mime.h
      type_or_value: '"application/octet-stream"'
    - item_type: preproc_def
      name: MULTIPART_CONTENTTYPE_DEFAULT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/mime.h
      type_or_value: '"multipart/mixed"'
    - item_type: preproc_def
      name: DISPOSITION_DEFAULT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/mime.h
      type_or_value: '"attachment"'
    - item_type: preproc_def
      name: MIME_BOUNDARY_LEN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/lib/mime.h
      type_or_value: (MIME_BOUNDARY_DASHES + MIME_RAND_BOUNDARY_CHARS)
    - item_type: preproc_def
      name: Curl_mime_read
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/curl/lib/mime.h
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: '*   name'
        type: char
      - name: "(*encodefunc)(char *buffer, size_t size, bool ateof,\n                               curl_mimepart
          *part)"
        type: size_t
      - name: (*sizefunc)(curl_mimepart *part)
        type: curl_off_t
      item_type: struct
      name: mime_encoder
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/curl/lib/mime.h
    - fields:
      - name: pos
        type: size_t
      - name: bufbeg
        type: size_t
      - name: bufend
        type: size_t
      - name: buf[ENCODING_BUFFER_SIZE]
        type: char
      item_type: struct
      name: mime_encoder_state
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/curl/lib/mime.h
    - fields:
      - name: state
        type: enum mimestate
      - name: '*ptr'
        type: void
      - name: offset
        type: curl_off_t
      item_type: struct
      name: mime_state
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/curl/lib/mime.h
    - fields:
      - name: '*parent'
        type: curl_mimepart
      - name: '*firstpart'
        type: curl_mimepart
      - name: '*lastpart'
        type: curl_mimepart
      - name: boundary[MIME_BOUNDARY_LEN + 1]
        type: char
      - name: state
        type: struct mime_state
      item_type: struct
      name: curl_mime
      pos:
        line_end: 106
        line_start: 100
        source_file: /src/curl/lib/mime.h
    - fields:
      - name: '*parent'
        type: curl_mime
      - name: '*nextpart'
        type: curl_mimepart
      - name: kind
        type: enum mimekind
      - name: flags
        type: unsigned int
      - name: '*data'
        type: char
      - name: readfunc
        type: curl_read_callback
      - name: seekfunc
        type: curl_seek_callback
      - name: freefunc
        type: curl_free_callback
      - name: '*arg'
        type: void
      - name: '*fp'
        type: FILE
      - name: '*curlheaders'
        type: struct curl_slist
      - name: '*userheaders'
        type: struct curl_slist
      - name: '*mimetype'
        type: char
      - name: '*filename'
        type: char
      - name: '*name'
        type: char
      - name: datasize
        type: curl_off_t
      - name: state
        type: struct mime_state
      - name: '*encoder'
        type: struct mime_encoder
      - name: encstate
        type: struct mime_encoder_state
      - name: lastreadstatus
        type: size_t
      item_type: struct
      name: curl_mimepart
      pos:
        line_end: 130
        line_start: 109
        source_file: /src/curl/lib/mime.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/fake_addrinfo.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_FAKE_GETADDRINFO
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/fake_addrinfo.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/config-mac.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_OS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '"mac"'
    - item_type: preproc_def
      name: HAVE_LONGLONG
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_MANUAL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETINET_IN_H
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NETDB_H
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ARPA_INET_H
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UNISTD_H
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NET_IF_H
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_TYPES_H
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_GETTIMEOFDAY
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FCNTL_H
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME_H
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_UTIME_H
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_IOCTL_H
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_ALARM
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FTRUNCATE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_UTIME
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SELECT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SOCKET
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STRUCT_TIMEVAL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SIGACTION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_DISABLE_LDAP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_IOCTL_FIONBIO
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_SIZE_T
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SIZEOF_CURL_OFF_T
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '4'
    - item_type: preproc_def
      name: HAVE_RECV
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECV_TYPE_ARG1
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/lib/config-mac.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_ARG2
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/lib/config-mac.h
      type_or_value: void *
    - item_type: preproc_def
      name: RECV_TYPE_ARG3
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/config-mac.h
      type_or_value: size_t
    - item_type: preproc_def
      name: RECV_TYPE_ARG4
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/lib/config-mac.h
      type_or_value: int
    - item_type: preproc_def
      name: RECV_TYPE_RETV
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/config-mac.h
      type_or_value: ssize_t
    - item_type: preproc_def
      name: HAVE_SEND
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/config-mac.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SEND_TYPE_ARG1
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/config-mac.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_QUAL_ARG2
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/config-mac.h
      type_or_value: const
    - item_type: preproc_def
      name: SEND_TYPE_ARG2
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/lib/config-mac.h
      type_or_value: void *
    - item_type: preproc_def
      name: SEND_TYPE_ARG3
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/lib/config-mac.h
      type_or_value: size_t
    - item_type: preproc_def
      name: SEND_TYPE_ARG4
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/lib/config-mac.h
      type_or_value: int
    - item_type: preproc_def
      name: SEND_TYPE_RETV
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/lib/config-mac.h
      type_or_value: ssize_t
    structs: []
    typedefs: []
    union: []
- function_names:
  - casecompare
  - ncasecompare
  - curl_strequal
  - curl_strnequal
  source_file: /src/curl/lib/strequal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STATUSCODE
  - LASTLINE
  - ftp_pasv_verbose
  - FTP_CSTATE
  - FTP_CSTATE
  - ftp_state_low
  - ftp_state
  - ftp_state
  - close_secondarysocket
  - freedirs
  - ftp_cw_lc_write
  - ftp_check_ctrl_on_data_wait
  - ftp_initiate_transfer
  - ftp_endofresp
  - ftp_readresp
  - getftpresponse
  - ftp_state_user
  - ftp_state_pwd
  - ftp_pollset
  - ftp_domore_pollset
  - pathlen
  - pathpiece
  - ftp_state_cwd
  - ftp_state_use_port
  - ftp_state_use_pasv
  - ftp_state_prepare_transfer
  - ftp_state_rest
  - ftp_state_size
  - ftp_state_list
  - ftp_state_list_prequote
  - ftp_state_retr_prequote
  - ftp_state_stor_prequote
  - ftp_state_type
  - ftp_state_mdtm
  - ftp_state_ul_setup
  - ftp_state_quote
  - ftp_epsv_disable
  - control_address_dup
  - match_pasv_6nums
  - ftp_state_pasv_resp
  - ftp_state_port_resp
  - twodigit
  - ftp_213_date
  - client_write_header
  - ftp_state_mdtm_resp
  - ftp_state_type_resp
  - ftp_state_retr
  - ftp_state_size_resp
  - ftp_state_rest_resp
  - ftp_state_stor_resp
  - ftp_state_get_resp
  - ftp_state_loggedin
  - ftp_state_user_resp
  - ftp_state_acct_resp
  - ftp_pwd_resp
  - ftp_wait_resp
  - ftp_pp_statemachine
  - ftp_statemach
  - ftp_multi_statemach
  - ftp_block_statemach
  - ftp_connect
  - ftp_done
  - ftp_sendquote
  - ftp_need_type
  - ftp_nb_type
  - ftp_pasv_verbose
  - ftp_do_more
  - ftp_perform
  - wc_data_dtor
  - init_wc_data
  - wc_statemach
  - ftp_do
  - ftp_quit
  - ftp_disconnect
  - numof_slashes
  - ftp_parse_url_path
  - ftp_dophase_done
  - ftp_doing
  - ftp_regular_transfer
  - ftp_easy_dtor
  - ftp_conn_dtor
  - type_url_check
  - ftp_setup_connection
  - ftp_conns_match
  source_file: /src/curl/lib/ftp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NI_MAXHOST
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/ftp.c
      type_or_value: '1025'
    - item_type: preproc_def
      name: INET_ADDRSTRLEN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/lib/ftp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: CURL_FTP_HTTPSTYLE_HEAD
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/curl/lib/ftp.c
      type_or_value: '1'
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: newline_pending
        type: bool
      item_type: struct
      name: ftp_cw_lc_ctx
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/curl/lib/ftp.c
    typedefs: []
    union: []
- function_names:
  - Curl_hsts_loadcb
  source_file: /src/curl/lib/hsts.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: node
        type: struct Curl_llist_node
      - name: '*host'
        type: char
      - name: expires
        type: curl_off_t
      item_type: struct
      name: stsentry
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/curl/lib/hsts.h
    - fields:
      - name: list
        type: struct Curl_llist
      - name: '*filename'
        type: char
      - name: flags
        type: unsigned int
      item_type: struct
      name: hsts
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/curl/lib/hsts.h
    typedefs: []
    union: []
- function_names:
  - CF_DATA_SAVE
  - CF_DATA_RESTORE
  - CF_DATA_SAVE
  - CF_DATA_RESTORE
  - CF_DATA_CURRENT
  source_file: /src/curl/lib/cfilters.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CF_CTRL_DATA_SETUP
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: CF_CTRL_DATA_PAUSE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '6  '
    - item_type: preproc_def
      name: CF_CTRL_DATA_DONE
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '7  '
    - item_type: preproc_def
      name: CF_CTRL_DATA_DONE_SEND
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: CF_CTRL_CONN_INFO_UPDATE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '(256+0) '
    - item_type: preproc_def
      name: CF_CTRL_FORGET_SOCKET
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '(256+1) '
    - item_type: preproc_def
      name: CF_CTRL_FLUSH
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '(256+2) '
    - item_type: preproc_def
      name: CF_QUERY_MAX_CONCURRENT
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: CF_QUERY_CONNECT_REPLY_MS
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: CF_QUERY_SOCKET
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '3  '
    - item_type: preproc_def
      name: CF_QUERY_TIMER_CONNECT
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '4  '
    - item_type: preproc_def
      name: CF_QUERY_TIMER_APPCONNECT
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '5  '
    - item_type: preproc_def
      name: CF_QUERY_STREAM_ERROR
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '6  '
    - item_type: preproc_def
      name: CF_QUERY_NEED_FLUSH
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '7  '
    - item_type: preproc_def
      name: CF_QUERY_IP_INFO
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: CF_QUERY_HTTP_VERSION
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '9  '
    - item_type: preproc_def
      name: CF_QUERY_REMOTE_ADDR
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '10  '
    - item_type: preproc_def
      name: CF_QUERY_HOST_PORT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '11  '
    - item_type: preproc_def
      name: CF_QUERY_SSL_INFO
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '12  '
    - item_type: preproc_def
      name: CF_QUERY_SSL_CTX_INFO
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '13  '
    - item_type: preproc_def
      name: CF_QUERY_TRANSPORT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '14  '
    - item_type: preproc_def
      name: CF_QUERY_ALPN_NEGOTIATED
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '15  '
    - item_type: preproc_def
      name: CF_TYPE_IP_CONNECT
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/curl/lib/cfilters.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: CF_TYPE_SSL
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/curl/lib/cfilters.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: CF_TYPE_MULTIPLEX
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/curl/lib/cfilters.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: CF_TYPE_PROXY
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/curl/lib/cfilters.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: CF_TYPE_HTTP
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/curl/lib/cfilters.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: CURL_CF_SSL_DEFAULT
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: CURL_CF_SSL_DISABLE
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_CF_SSL_ENABLE
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/curl/lib/cfilters.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: flags
        type: int
      - name: log_level
        type: int
      - name: '*destroy'
        type: Curl_cft_destroy_this
      - name: '*do_connect'
        type: Curl_cft_connect
      - name: '*do_close'
        type: Curl_cft_close
      - name: '*do_shutdown'
        type: Curl_cft_shutdown
      - name: '*adjust_pollset'
        type: Curl_cft_adjust_pollset
      - name: '*has_data_pending'
        type: Curl_cft_data_pending
      - name: '*do_send'
        type: Curl_cft_send
      - name: '*do_recv'
        type: Curl_cft_recv
      - name: '*cntrl'
        type: Curl_cft_cntrl
      - name: '*is_alive'
        type: Curl_cft_conn_is_alive
      - name: '*keep_alive'
        type: Curl_cft_conn_keep_alive
      - name: '*query'
        type: Curl_cft_query
      item_type: struct
      name: Curl_cftype
      pos:
        line_end: 227
        line_start: 211
        source_file: /src/curl/lib/cfilters.h
    - fields:
      - name: '*cft'
        type: struct Curl_cftype
      - name: '*next'
        type: struct Curl_cfilter
      - name: '*ctx'
        type: void
      - name: '*conn'
        type: struct connectdata
      - name: sockindex
        type: int
      item_type: struct
      name: Curl_cfilter
      pos:
        line_end: 238
        line_start: 230
        source_file: /src/curl/lib/cfilters.h
    - fields:
      - name: '*data'
        type: struct Curl_easy
      item_type: struct
      name: cf_call_data
      pos:
        line_end: 649
        line_start: 644
        source_file: /src/curl/lib/cfilters.h
    typedefs:
    - item_type: typedef
      name: "Curl_cft_destroy_this(struct Curl_cfilter *cf,\n                                       struct
        Curl_easy *data)"
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/cfilters.h
      type: void
    - item_type: typedef
      name: "Curl_cft_close(struct Curl_cfilter *cf,\n                                struct
        Curl_easy *data)"
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/cfilters.h
      type: void
    - item_type: typedef
      name: "Curl_cft_shutdown(struct Curl_cfilter *cf,\n                                   struct
        Curl_easy *data,\n                                   bool *done)"
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_connect(struct Curl_cfilter *cf,\n                                  struct
        Curl_easy *data,\n                                  bool *done)"
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_adjust_pollset(struct Curl_cfilter *cf,\n                                         struct
        Curl_easy *data,\n                                         struct easy_pollset
        *ps)"
      pos:
        line_end: 84
        line_start: 82
        source_file: /src/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_data_pending(struct Curl_cfilter *cf,\n                                       const
        struct Curl_easy *data)"
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/cfilters.h
      type: bool
    - item_type: typedef
      name: "Curl_cft_send(struct Curl_cfilter *cf,\n                               struct
        Curl_easy *data, /* transfer */\n                               const void
        *buf,        /* data to write */\n                               size_t len,
        \            /* amount to write */\n                               bool eos,
        \              /* last chunk */\n                               size_t *pnwritten)"
      pos:
        line_end: 94
        line_start: 89
        source_file: /src/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_recv(struct Curl_cfilter *cf,\n                               struct
        Curl_easy *data, /* transfer */\n                               char *buf,
        \             /* store data here */\n                               size_t
        len,             /* amount to read */\n                               size_t
        *pnread)"
      pos:
        line_end: 100
        line_start: 96
        source_file: /src/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_conn_is_alive(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        bool *input_pending)"
      pos:
        line_end: 104
        line_start: 102
        source_file: /src/curl/lib/cfilters.h
      type: bool
    - item_type: typedef
      name: "Curl_cft_conn_keep_alive(struct Curl_cfilter *cf,\n                                          struct
        Curl_easy *data)"
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_cntrl(struct Curl_cfilter *cf,\n                                struct
        Curl_easy *data,\n                                int event, int arg1, void
        *arg2)"
      pos:
        line_end: 135
        line_start: 133
        source_file: /src/curl/lib/cfilters.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_cft_query(struct Curl_cfilter *cf,\n                                struct
        Curl_easy *data,\n                                int query, int *pres1, void
        *pres2)"
      pos:
        line_end: 190
        line_start: 188
        source_file: /src/curl/lib/cfilters.h
      type: CURLcode
    union: []
- function_names:
  - Curl_rename
  source_file: /src/curl/lib/rename.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_cookie_list
  - Curl_cookie_loadfiles
  - Curl_cookie_init
  - Curl_cookie_cleanup
  - Curl_flush_cookies
  source_file: /src/curl/lib/cookie.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COOKIE_PREFIX__SECURE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/cookie.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: COOKIE_PREFIX__HOST
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/cookie.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: COOKIE_HASH_SIZE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/cookie.h
      type_or_value: '63'
    - item_type: preproc_def
      name: MAX_COOKIE_LINE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/lib/cookie.h
      type_or_value: '5000'
    - item_type: preproc_def
      name: MAX_NAME
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/lib/cookie.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: MAX_SET_COOKIE_AMOUNT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/cookie.h
      type_or_value: '50'
    - item_type: preproc_def
      name: MAX_COOKIE_HEADER_LEN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/curl/lib/cookie.h
      type_or_value: '8190'
    - item_type: preproc_def
      name: MAX_COOKIE_SEND_AMOUNT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/lib/cookie.h
      type_or_value: '150'
    structs:
    - fields:
      - name: node
        type: struct Curl_llist_node
      - name: getnode
        type: struct Curl_llist_node
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: '*path'
        type: char
      - name: '*spath'
        type: char
      - name: '*domain'
        type: char
      - name: expires
        type: curl_off_t
      - name: creationtime
        type: unsigned int
      item_type: struct
      name: Cookie
      pos:
        line_end: 47
        line_start: 31
        source_file: /src/curl/lib/cookie.h
    - fields:
      - name: cookielist[COOKIE_HASH_SIZE]
        type: struct Curl_llist
      - name: next_expiration
        type: curl_off_t
      - name: numcookies
        type: unsigned int
      - name: lastct
        type: unsigned int
      item_type: struct
      name: CookieInfo
      pos:
        line_end: 66
        line_start: 58
        source_file: /src/curl/lib/cookie.h
    typedefs: []
    union: []
- function_names:
  - Curl_des_set_odd_parity
  source_file: /src/curl/lib/curl_des.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curl2netrc
  - file2memory
  - parsenetrc
  - Curl_netrc_strerror
  - Curl_parsenetrc
  - Curl_netrc_init
  - Curl_netrc_cleanup
  source_file: /src/curl/lib/netrc.c
  types:
    enum:
    - enumerators:
      - name: NOTHING
      - name: HOSTFOUND
      - name: MACDEF
      - name: HOSTVALID
      item_type: enum
      name: host_lookup_state
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/curl/lib/netrc.c
    - enumerators:
      - name: NONE
      - name: PASSWORD
      - name: LOGIN
      item_type: enum
      name: found_state
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/curl/lib/netrc.c
    preproc_defs:
    - item_type: preproc_def
      name: FOUND_LOGIN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/netrc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FOUND_PASSWORD
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/netrc.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MAX_NETRC_LINE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/netrc.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: MAX_NETRC_FILE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/lib/netrc.c
      type_or_value: (128*1024)
    - item_type: preproc_def
      name: MAX_NETRC_TOKEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/netrc.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURL_SB_CLEAR
  - CURL_SB_TERM
  - CURL_SB_ACCUM
  - CURL_SB_GET
  - CURL_SB_LEN
  - printoption
  - telnet_easy_dtor
  - init_telnet
  - telnet_negotiate
  - printoption
  - send_negotiation
  - set_remote_option
  - rec_will
  - rec_wont
  - set_local_option
  - rec_do
  - rec_dont
  - printsub
  - str_is_nonascii
  - check_telnet_options
  - bad_option
  - suboption
  - sendsuboption
  - telrcv
  - startskipping
  - writebyte
  - bufferflush
  - send_telnet_data
  - telnet_done
  - telnet_do
  source_file: /src/curl/lib/telnet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUBBUFSIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/telnet.c
      type_or_value: '512'
    - item_type: preproc_def
      name: CURL_NO
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_YES
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/lib/telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_WANTYES
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/lib/telnet.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_WANTNO
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/telnet.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CURL_EMPTY
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/lib/telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CURL_OPPOSITE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_META_TELNET_EASY
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/lib/telnet.c
      type_or_value: '"meta:proto:telnet:easy"'
    structs:
    - fields:
      - name: please_negotiate
        type: int
      - name: already_negotiated
        type: int
      - name: us[256]
        type: int
      - name: usq[256]
        type: int
      - name: us_preferred[256]
        type: int
      - name: him[256]
        type: int
      - name: himq[256]
        type: int
      - name: him_preferred[256]
        type: int
      - name: subnegotiation[256]
        type: int
      - name: '*subopt_ttype'
        type: char
      - name: '*subopt_xdisploc'
        type: char
      - name: subopt_wsx
        type: unsigned short
      - name: subopt_wsy
        type: unsigned short
      - name: telrcv_state
        type: TelnetReceive
      - name: '*telnet_vars'
        type: struct curl_slist
      - name: out
        type: struct dynbuf
      - name: subbuffer[SUBBUFSIZE]
        type: unsigned char
      - name: '*subpointer'
        type: unsigned char
      item_type: struct
      name: TELNET
      pos:
        line_end: 141
        line_start: 120
        source_file: /src/curl/lib/telnet.c
    typedefs: []
    union: []
- function_names:
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - MD5_F
  - MD5_G
  - MD5_H
  - MD5_H2
  - MD5_I
  - MD5_STEP
  - MD5_SET
  - MD5_GET
  - MD5_SET
  - MD5_GET
  - my_md5_body
  - my_md5_init
  - my_md5_update
  - my_md5_final
  - Curl_md5it
  - Curl_MD5_init
  - Curl_MD5_update
  - Curl_MD5_final
  source_file: /src/curl/lib/md5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: my_md5_ctx
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/curl/lib/md5.c
      type_or_value: CC_MD5_CTX
    structs:
    - fields:
      - name: hCryptProv
        type: HCRYPTPROV
      - name: hHash
        type: HCRYPTHASH
      item_type: struct
      name: md5_ctx
      pos:
        line_end: 212
        line_start: 209
        source_file: /src/curl/lib/md5.c
    - fields:
      - name: lo
        type: MD5_u32plus
      - name: a
        type: MD5_u32plus
      - name: buffer[64]
        type: unsigned char
      - name: block[16]
        type: MD5_u32plus
      item_type: struct
      name: md5_ctx
      pos:
        line_end: 293
        line_start: 288
        source_file: /src/curl/lib/md5.c
    typedefs:
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/curl/lib/md5.c
      type: md5_ctx
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/curl/lib/md5.c
      type: MD5_CTX
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/curl/lib/md5.c
      type: WOLFSSL_MD5_CTX
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/curl/lib/md5.c
      type: mbedtls_md5_context
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/curl/lib/md5.c
      type: md5_ctx
    - item_type: typedef
      name: MD5_u32plus
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/curl/lib/md5.c
      type: unsigned int
    - item_type: typedef
      name: my_md5_ctx
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/curl/lib/md5.c
      type: md5_ctx
    union: []
- function_names:
  - Curl_alpn2alpnid
  - Curl_timeleft
  - Curl_shutdown_start
  - Curl_shutdown_timeleft
  - Curl_conn_shutdown_timeleft
  - Curl_shutdown_clear
  - Curl_shutdown_started
  - Curl_addr2string
  - Curl_getconnectinfo
  - reason
  - cf_setup_connect
  - cf_setup_close
  - cf_setup_destroy
  - cf_setup_create
  - cf_setup_add
  - Curl_cf_setup_insert_after
  - Curl_conn_setup
  - Curl_conn_set_multiplex
  source_file: /src/curl/lib/connect.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: cf_setup_state
      - name: ssl_mode
        type: int
      - name: transport
        type: int
      item_type: struct
      name: cf_setup_ctx
      pos:
        line_end: 362
        line_start: 358
        source_file: /src/curl/lib/connect.c
    typedefs: []
    union: []
- function_names:
  - pop3_is_multiline
  - pop3_endofresp
  - pop3_get_message
  - pop3_state
  - pop3_perform_capa
  - pop3_perform_starttls
  - pop3_perform_upgrade_tls
  - pop3_perform_user
  - pop3_perform_apop
  - pop3_perform_auth
  - pop3_continue_auth
  - pop3_cancel_auth
  - pop3_perform_authentication
  - pop3_perform_command
  - pop3_perform_quit
  - pop3_state_servergreet_resp
  - pop3_state_capa_resp
  - pop3_state_starttls_resp
  - pop3_state_auth_resp
  - pop3_state_apop_resp
  - pop3_state_user_resp
  - pop3_state_pass_resp
  - pop3_state_command_resp
  - pop3_statemachine
  - pop3_multi_statemach
  - pop3_block_statemach
  - pop3_pollset
  - pop3_connect
  - pop3_done
  - pop3_perform
  - pop3_do
  - pop3_disconnect
  - pop3_dophase_done
  - pop3_doing
  - pop3_regular_transfer
  - pop3_easy_dtor
  - pop3_conn_dtor
  - pop3_setup_connection
  - pop3_parse_url_options
  - pop3_parse_url_path
  - pop3_parse_custom_request
  - pop3_write
  source_file: /src/curl/lib/pop3.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POP3_TYPE_CLEARTEXT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/pop3.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: POP3_TYPE_APOP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/pop3.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: POP3_TYPE_SASL
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/lib/pop3.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: POP3_TYPE_NONE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/lib/pop3.c
      type_or_value: '0'
    - item_type: preproc_def
      name: POP3_TYPE_ANY
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl/lib/pop3.c
      type_or_value: (POP3_TYPE_CLEARTEXT|POP3_TYPE_APOP|POP3_TYPE_SASL)
    - item_type: preproc_def
      name: POP3_EOB
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/lib/pop3.c
      type_or_value: '"\x0d\x0a\x2e\x0d\x0a"'
    - item_type: preproc_def
      name: POP3_EOB_LEN
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/pop3.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CURL_META_POP3_EASY
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/pop3.c
      type_or_value: '"meta:proto:pop3:easy"'
    - item_type: preproc_def
      name: CURL_META_POP3_CONN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/lib/pop3.c
      type_or_value: '"meta:proto:pop3:conn"'
    structs:
    - fields:
      - name: transfer
        type: curl_pp_transfer
      - name: '*id'
        type: char
      - name: '*custom'
        type: char
      item_type: struct
      name: POP3
      pos:
        line_end: 109
        line_start: 105
        source_file: /src/curl/lib/pop3.c
    - fields:
      - name: pp
        type: struct pingpong
      - name: state
        type: pop3state
      - name: eob
        type: size_t
      - name: strip
        type: size_t
      - name: sasl
        type: struct SASL
      - name: '*apoptimestamp'
        type: char
      - name: authtypes
        type: unsigned char
      - name: preftype
        type: unsigned char
      item_type: struct
      name: pop3_conn
      pos:
        line_end: 144
        line_start: 131
        source_file: /src/curl/lib/pop3.c
    - fields:
      - name: '*name'
        type: char
      - name: nlen
        type: unsigned short
      item_type: struct
      name: pop3_cmd
      pos:
        line_end: 256
        line_start: 251
        source_file: /src/curl/lib/pop3.c
    typedefs: []
    union: []
- function_names:
  - copy_header_external
  - curl_easy_header
  - curl_easy_nextheader
  - namevalue
  - unfold_value
  - Curl_headers_push
  - headers_reset
  - hds_cw_collect_write
  - Curl_headers_init
  - Curl_headers_cleanup
  - curl_easy_header
  - curl_easy_nextheader
  source_file: /src/curl/lib/headers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      item_type: struct
      name: hds_cw_collect_ctx
      pos:
        line_end: 354
        line_start: 352
        source_file: /src/curl/lib/headers.c
    typedefs: []
    union: []
- function_names:
  - hsts_debugtime
  - time
  - Curl_hsts_init
  - hsts_free
  - Curl_hsts_cleanup
  - hsts_create
  - Curl_hsts_parse
  - Curl_hsts
  - hsts_push
  - hsts_out
  - Curl_hsts_save
  - hsts_add
  - hsts_pull
  - hsts_load
  - Curl_hsts_loadfile
  - Curl_hsts_loadcb
  - Curl_hsts_loadfiles
  source_file: /src/curl/lib/hsts.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HSTS_LINE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/hsts.c
      type_or_value: '4095'
    - item_type: preproc_def
      name: MAX_HSTS_HOSTLEN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/hsts.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: MAX_HSTS_DATELEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/hsts.c
      type_or_value: '256'
    - item_type: preproc_def
      name: UNLIMITED
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/hsts.c
      type_or_value: '"unlimited"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - httpsrr_decode_alpn
  - Curl_httpsrr_set
  - Curl_httpsrr_dup_move
  - Curl_httpsrr_cleanup
  - httpsrr_opt
  - Curl_httpsrr_from_ares
  source_file: /src/curl/lib/httpsrr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cw_pause_buf_create
  - cw_pause_buf_free
  - cw_pause_init
  - cw_pause_bufs_free
  - cw_pause_close
  - cw_pause_flush
  - cw_pause_write
  - Curl_cw_pause_flush
  source_file: /src/curl/lib/cw-pause.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CW_PAUSE_BUF_CHUNK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/cw-pause.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: CW_PAUSE_DEC_WRITE_CHUNK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/cw-pause.c
      type_or_value: (4096)
    structs:
    - fields:
      - name: '*next'
        type: struct cw_pause_buf
      - name: b
        type: struct bufq
      - name: type
        type: int
      item_type: struct
      name: cw_pause_buf
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/curl/lib/cw-pause.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: '*buf'
        type: struct cw_pause_buf
      - name: buf_total
        type: size_t
      item_type: struct
      name: cw_pause_ctx
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/curl/lib/cw-pause.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/sockaddr.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: buffer
        type: "union {\n    struct sockaddr sa;\n    struct sockaddr_in sa_in;\n#ifdef
          USE_IPV6\n    struct sockaddr_in6 sa_in6;\n#endif\n#ifdef HAVE_STRUCT_SOCKADDR_STORAGE\n
          \   struct sockaddr_storage sa_stor;\n#else\n    char cbuf[256];   /* this
          should be big enough to fit a lot */\n#endif\n  }"
      item_type: struct
      name: Curl_sockaddr_storage
      pos:
        line_end: 41
        line_start: 28
        source_file: /src/curl/lib/sockaddr.h
    typedefs: []
    union: []
- function_names:
  - RTP_PKT_LENGTH
  - rtsp_do_pollset
  - rtsp_easy_dtor
  - rtsp_conn_dtor
  - rtsp_setup_connection
  - rtsp_conncheck
  - rtsp_connect
  - rtsp_done
  - rtsp_setup_body
  - rtsp_do
  - rtp_write_body_junk
  - rtsp_filter_rtp
  - rtsp_rtp_write_resp
  - rtsp_rtp_write_resp_hd
  - rtp_client_write
  - Curl_rtsp_parseheader
  - rtsp_parse_transport
  source_file: /src/curl/lib/rtsp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_RTSP_EASY
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/rtsp.c
      type_or_value: '"meta:proto:rtsp:easy"'
    - item_type: preproc_def
      name: CURL_META_RTSP_CONN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/rtsp.c
      type_or_value: '"meta:proto:rtsp:conn"'
    - item_type: preproc_def
      name: MAX_RTP_BUFFERSIZE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/curl/lib/rtsp.c
      type_or_value: '1000000 '
    structs:
    - fields:
      - name: buf
        type: struct dynbuf
      - name: rtp_channel
        type: int
      - name: rtp_len
        type: size_t
      - name: state
        type: rtp_parse_st
      item_type: struct
      name: rtsp_conn
      pos:
        line_end: 69
        line_start: 63
        source_file: /src/curl/lib/rtsp.c
    - fields:
      - name: CSeq_sent
        type: long
      - name: CSeq_recv
        type: long
      item_type: struct
      name: RTSP
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/curl/lib/rtsp.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/cf-ip-happy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "cf_ip_connect_create(struct Curl_cfilter **pcf,\n                                      struct
        Curl_easy *data,\n                                      struct connectdata
        *conn,\n                                      const struct Curl_addrinfo *ai,\n
        \                                     int transport)"
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/curl/lib/cf-ip-happy.h
      type: CURLcode
    union: []
- function_names:
  - Curl_async_global_init
  - Curl_async_global_cleanup
  - sock_state_cb
  - async_ares_init
  - async_ares_init_lazy
  - Curl_async_get_impl
  - async_ares_cleanup
  - Curl_async_ares_shutdown
  - Curl_async_ares_destroy
  - Curl_async_pollset
  - Curl_async_is_resolved
  - Curl_async_await
  - async_addr_concat
  - async_ares_hostbyname_cb
  - async_ares_node2addr
  - async_ares_addrinfo_cb
  - async_ares_rr_done
  - Curl_async_getaddrinfo
  - async_ares_set_dns_servers
  - Curl_async_ares_set_dns_servers
  - Curl_async_ares_set_dns_interface
  - Curl_async_ares_set_dns_local_ip4
  - Curl_async_ares_set_dns_local_ip6
  source_file: /src/curl/lib/asyn-ares.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_CARES_IPV6
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_SERVERS_CSV
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_LOCAL_DEV
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_SET_LOCAL
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_PORTS_CSV
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CARES_GETADDRINFO
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/asyn-ares.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAPPY_EYEBALLS_DNS_TIMEOUT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/lib/asyn-ares.c
      type_or_value: '5000'
    - item_type: preproc_def
      name: CARES_TIMEOUT_PER_ATTEMPT
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/lib/asyn-ares.c
      type_or_value: '2000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/http_chunks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHUNK_MAXNUM_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/http_chunks.h
      type_or_value: (SIZEOF_CURL_OFF_T * 2)
    structs:
    - fields:
      - name: datasize
        type: curl_off_t
      - name: state
        type: ChunkyState
      - name: last_code
        type: CHUNKcode
      - name: trailer
        type: struct dynbuf
      - name: hexindex
        type: unsigned char
      - name: hexbuffer[CHUNK_MAXNUM_LEN + 1]
        type: char
      item_type: struct
      name: Curl_chunker
      pos:
        line_end: 100
        line_start: 92
        source_file: /src/curl/lib/http_chunks.h
    typedefs: []
    union: []
- function_names:
  - Curl_sha512_256_init
  - Curl_sha512_256_update
  - Curl_sha512_256_finish
  - Curl_sha512_256_init
  - Curl_sha512_256_update
  - Curl_sha512_256_finish
  - CURL_GET_64BIT_BE
  - CURL_PUT_64BIT_BE
  - curl_uint64_t::Curl_rotr64
  - Curl_sha512_256_init
  - Curl_sha512_256_transform
  - Sha512_Ch
  - Sha512_Maj
  - SIG0
  - SIG1
  - sig0
  - sig1
  - SHA2STEP64
  - SHA2STEP64RV
  - SHA512_GET_W_FROM_DATA
  - Wgen
  - Curl_sha512_256_update
  - Curl_sha512_256_finish
  - Curl_sha512_256it
  - Curl_sha512_256_update_i
  - Curl_sha512_256_finish_v
  source_file: /src/curl/lib/curl_sha512_256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_OPENSSL_SHA512_256
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_SHA512_256_IMPLEMENTATION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NEED_NETBSD_SHA512_256_WORKAROUND
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_GNUTLS_SHA512_256
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_SHA512_256_BLOCK_SIZE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: '128'
    - item_type: preproc_def
      name: CURL_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: CURL_SHA512_256_DIGEST_LENGTH
    - item_type: preproc_def
      name: CURL_SHA512_256_BLOCK_SIZE
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: SHA512_256_BLOCK_SIZE
    - item_type: preproc_def
      name: CURL_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: SHA512_256_DIGEST_SIZE
    - item_type: preproc_def
      name: CURL_FORCEINLINE
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: CURL_INLINE __attribute__((always_inline))
    - item_type: preproc_def
      name: CURL_FORCEINLINE
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: __forceinline
    - item_type: preproc_def
      name: CURL_FORCEINLINE
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: CURL_INLINE
    - item_type: preproc_def
      name: SHA512_256_WORD_SIZE_BITS
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: '64'
    - item_type: preproc_def
      name: SHA512_256_BYTES_IN_WORD
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_WORD_SIZE_BITS / 8)
    - item_type: preproc_def
      name: SHA512_256_HASH_SIZE_WORDS
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SHA512_256_DIGEST_SIZE_WORDS
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_HASH_SIZE_WORDS  / 2)
    - item_type: preproc_def
      name: CURL_SHA512_256_DIGEST_SIZE
      pos:
        line_end: 354
        line_start: 352
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_DIGEST_SIZE_WORDS * SHA512_256_BYTES_IN_WORD)
    - item_type: preproc_def
      name: SHA512_256_BLOCK_SIZE_BITS
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: CURL_SHA512_256_BLOCK_SIZE
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_BLOCK_SIZE_BITS / 8)
    - item_type: preproc_def
      name: SHA512_256_BLOCK_SIZE_WORDS
      pos:
        line_end: 370
        line_start: 368
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_BLOCK_SIZE_BITS / SHA512_256_WORD_SIZE_BITS)
    - item_type: preproc_def
      name: SHA512_256_SIZE_OF_LEN_ADD_BITS
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: '128'
    - item_type: preproc_def
      name: SHA512_256_SIZE_OF_LEN_ADD
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/curl/lib/curl_sha512_256.c
      type_or_value: (SHA512_256_SIZE_OF_LEN_ADD_BITS / 8)
    structs:
    - fields:
      - name: H[SHA512_256_HASH_SIZE_WORDS]
        type: curl_uint64_t
      - name: buffer[SHA512_256_BLOCK_SIZE_WORDS]
        type: curl_uint64_t
      - name: count
        type: curl_uint64_t
      - name: count_bits_hi
        type: curl_uint64_t
      item_type: struct
      name: Curl_sha512_256ctx
      pos:
        line_end: 396
        line_start: 374
        source_file: /src/curl/lib/curl_sha512_256.c
    typedefs:
    - item_type: typedef
      name: '*Curl_sha512_256_ctx'
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/curl/lib/curl_sha512_256.c
      type: EVP_MD_CTX
    - item_type: typedef
      name: Curl_sha512_256_ctx
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/curl/lib/curl_sha512_256.c
      type: sha512_256_ctx
    - item_type: typedef
      name: Curl_sha512_256_ctx
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/curl/lib/curl_sha512_256.c
      type: Curl_sha512_256ctx
    union: []
- function_names:
  - fileinfo_dtor
  - Curl_wildcard_init
  - Curl_wildcard_dtor
  - Curl_ftp_parselist_data_alloc
  - Curl_ftp_parselist_data_free
  - Curl_ftp_parselist_geterror
  - ftp_pl_get_permission
  - ftp_pl_insert_finfo
  - unix_filetype
  - parse_unix_totalsize
  - parse_unix_permission
  - parse_unix_hlinks
  - parse_unix_user
  - parse_unix_group
  - parse_unix_size
  - parse_unix_time
  - parse_unix_filename
  - parse_unix_symlink
  - parse_unix
  - parse_winnt
  - Curl_ftp_parselist
  source_file: /src/curl/lib/ftplistparser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FTP_LP_MALFORMATED_PERM
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/curl/lib/ftplistparser.c
      type_or_value: '0x01000000'
    - item_type: preproc_def
      name: MAX_FTPLIST_BUFFER
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/curl/lib/ftplistparser.c
      type_or_value: '10000 '
    structs:
    - fields:
      - name: os_type
        type: "enum {\n    OS_TYPE_UNKNOWN = 0,\n    OS_TYPE_UNIX,\n    OS_TYPE_WIN_NT\n
          \ }"
      - name: state
        type: "union {\n    struct {\n      pl_unix_mainstate main;\n      pl_unix_substate
          sub;\n    } UNIX;\n\n    struct {\n      pl_winNT_mainstate main;\n      pl_winNT_substate
          sub;\n    } NT;\n  }"
      - name: error
        type: CURLcode
      - name: '*file_data'
        type: struct fileinfo
      - name: item_length
        type: unsigned int
      - name: item_offset
        type: size_t
      - name: offsets
        type: "struct {\n    size_t filename;\n    size_t user;\n    size_t group;\n
          \   size_t time;\n    size_t perm;\n    size_t symlink_target;\n  }"
      item_type: struct
      name: ftp_parselist_data
      pos:
        line_end: 179
        line_start: 148
        source_file: /src/curl/lib/ftplistparser.c
    typedefs: []
    union:
    - fields:
      - name: total_dirsize
        type: "enum {\n    PL_UNIX_TOTALSIZE_INIT = 0,\n    PL_UNIX_TOTALSIZE_READING\n
          \ }"
      - name: hlinks
        type: "enum {\n    PL_UNIX_HLINKS_PRESPACE = 0,\n    PL_UNIX_HLINKS_NUMBER\n
          \ }"
      - name: user
        type: "enum {\n    PL_UNIX_USER_PRESPACE = 0,\n    PL_UNIX_USER_PARSING\n
          \ }"
      - name: group
        type: "enum {\n    PL_UNIX_GROUP_PRESPACE = 0,\n    PL_UNIX_GROUP_NAME\n  }"
      - name: size
        type: "enum {\n    PL_UNIX_SIZE_PRESPACE = 0,\n    PL_UNIX_SIZE_NUMBER\n  }"
      - name: time
        type: "enum {\n    PL_UNIX_TIME_PREPART1 = 0,\n    PL_UNIX_TIME_PART1,\n    PL_UNIX_TIME_PREPART2,\n
          \   PL_UNIX_TIME_PART2,\n    PL_UNIX_TIME_PREPART3,\n    PL_UNIX_TIME_PART3\n
          \ }"
      - name: filename
        type: "enum {\n    PL_UNIX_FILENAME_PRESPACE = 0,\n    PL_UNIX_FILENAME_NAME,\n
          \   PL_UNIX_FILENAME_WINDOWSEOL\n  }"
      - name: symlink
        type: "enum {\n    PL_UNIX_SYMLINK_PRESPACE = 0,\n    PL_UNIX_SYMLINK_NAME,\n
          \   PL_UNIX_SYMLINK_PRETARGET1,\n    PL_UNIX_SYMLINK_PRETARGET2,\n    PL_UNIX_SYMLINK_PRETARGET3,\n
          \   PL_UNIX_SYMLINK_PRETARGET4,\n    PL_UNIX_SYMLINK_TARGET,\n    PL_UNIX_SYMLINK_WINDOWSEOL\n
          \ }"
      item_type: union
      name: pl_unix_substate
      pos:
        line_end: 122
        line_start: 71
        source_file: /src/curl/lib/ftplistparser.c
    - fields:
      - name: time
        type: "enum {\n    PL_WINNT_TIME_PRESPACE = 0,\n    PL_WINNT_TIME_TIME\n  }"
      - name: dirorsize
        type: "enum {\n    PL_WINNT_DIRORSIZE_PRESPACE = 0,\n    PL_WINNT_DIRORSIZE_CONTENT\n
          \ }"
      - name: filename
        type: "enum {\n    PL_WINNT_FILENAME_PRESPACE = 0,\n    PL_WINNT_FILENAME_CONTENT,\n
          \   PL_WINNT_FILENAME_WINEOL\n  }"
      item_type: union
      name: pl_winNT_substate
      pos:
        line_end: 145
        line_start: 131
        source_file: /src/curl/lib/ftplistparser.c
- function_names: []
  source_file: /src/curl/lib/curl_md5.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD5_DIGEST_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/curl_md5.h
      type_or_value: '16'
    structs:
    - fields:
      - name: md5_init_func
        type: Curl_MD5_init_func
      - name: md5_update_func
        type: Curl_MD5_update_func
      - name: md5_final_func
        type: Curl_MD5_final_func
      - name: md5_ctxtsize
        type: unsigned int
      - name: md5_resultlen
        type: unsigned int
      item_type: struct
      name: MD5_params
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/curl/lib/curl_md5.h
    - fields:
      - name: '*md5_hash'
        type: struct MD5_params
      - name: '*md5_hashctx'
        type: void
      item_type: struct
      name: MD5_context
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/curl/lib/curl_md5.h
    typedefs:
    - item_type: typedef
      name: (*Curl_MD5_init_func)(void *context)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/curl/lib/curl_md5.h
      type: CURLcode
    - item_type: typedef
      name: "(*Curl_MD5_update_func)(void *context,\n                                     const
        unsigned char *data,\n                                     unsigned int len)"
      pos:
        line_end: 36
        line_start: 34
        source_file: /src/curl/lib/curl_md5.h
      type: void
    - item_type: typedef
      name: (*Curl_MD5_final_func)(unsigned char *result, void *context)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/curl/lib/curl_md5.h
      type: void
    union: []
- function_names: []
  source_file: /src/curl/lib/cf-https-connect.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ipv6_scope
  source_file: /src/curl/lib/if2ip.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPV6_SCOPE_GLOBAL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/lib/if2ip.h
      type_or_value: '0       '
    - item_type: preproc_def
      name: IPV6_SCOPE_LINKLOCAL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/lib/if2ip.h
      type_or_value: '1       '
    - item_type: preproc_def
      name: IPV6_SCOPE_SITELOCAL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/if2ip.h
      type_or_value: '2       '
    - item_type: preproc_def
      name: IPV6_SCOPE_UNIQUELOCAL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/if2ip.h
      type_or_value: '3       '
    - item_type: preproc_def
      name: IPV6_SCOPE_NODELOCAL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/if2ip.h
      type_or_value: '4       '
    - item_type: preproc_def
      name: IFNAMSIZ
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/if2ip.h
      type_or_value: '16'
    - item_type: preproc_def
      name: IFHWADDRLEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/if2ip.h
      type_or_value: '6'
    - item_type: preproc_def
      name: ifr_name
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/if2ip.h
      type_or_value: 'ifr_ifrn.ifrn_name '
    - item_type: preproc_def
      name: ifr_addr
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_addr '
    - item_type: preproc_def
      name: ifr_broadaddr
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_broadaddr '
    - item_type: preproc_def
      name: ifr_netmask
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_netmask '
    - item_type: preproc_def
      name: ifr_flags
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_flags '
    - item_type: preproc_def
      name: ifr_hwaddr
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_hwaddr '
    - item_type: preproc_def
      name: ifr_metric
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_metric '
    - item_type: preproc_def
      name: ifr_mtu
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/if2ip.h
      type_or_value: 'ifr_ifru.ifru_mtu '
    - item_type: preproc_def
      name: SIOCGIFADDR
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/if2ip.h
      type_or_value: '_IOW(''s'', 102, struct ifreq) '
    structs:
    - fields:
      - name: ifr_ifrn
        type: "union {\n    char ifrn_name[IFNAMSIZ]; /* if name, e.g. \"en0\" */\n
          \ }"
      - name: ifr_ifru
        type: "union {\n   struct sockaddr ifru_addr;\n   struct sockaddr ifru_broadaddr;\n
          \  struct sockaddr ifru_netmask;\n   struct sockaddr ifru_hwaddr;\n   short
          ifru_flags;\n   int ifru_metric;\n   int ifru_mtu;\n }"
      item_type: struct
      name: ifreq
      pos:
        line_end: 73
        line_start: 57
        source_file: /src/curl/lib/if2ip.h
    typedefs: []
    union: []
- function_names:
  - Curl_data_priority_add_child
  source_file: /src/curl/lib/url.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_DEFAULT_PROXY_PORT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/url.h
      type_or_value: '1080 '
    - item_type: preproc_def
      name: CURL_DEFAULT_HTTPS_PROXY_PORT
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/curl/lib/url.h
      type_or_value: '443 '
    structs: []
    typedefs:
    - item_type: typedef
      name: Curl_meta_dtor(void *key, size_t key_len, void *meta_data)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/curl/lib/url.h
      type: void
    union: []
- function_names:
  - CURL_UNCONST
  - CURL_UNCONST
  - CURL_UNCONST
  - sread
  - sread
  - swrite
  - swrite
  - CURL_SCLOSE
  - CURL_SCLOSE
  - CURL_SCLOSE
  - CURL_SCLOSE
  - CURL_SCLOSE
  - BIT
  - BIT
  - DEBUGF
  - DEBUGF
  - DEBUGASSERT
  - DEBUGASSERT
  - SET_SOCKERRNO
  - SET_SOCKERRNO
  source_file: /src/curl/lib/curl_setup_once.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCHANNEL_USE_BLACKLISTS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OLD_APP32_64BIT_OFF_T
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: _APP32_64BIT_OFF_T
    - item_type: preproc_def
      name: _APP32_64BIT_OFF_T
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: OLD_APP32_64BIT_OFF_T
    - item_type: preproc_def
      name: SEND_4TH_ARG
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: MSG_NOSIGNAL
    - item_type: preproc_def
      name: SEND_4TH_ARG
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: '0'
    - item_type: preproc_def
      name: sfcntl
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: lwip_fcntl
    - item_type: preproc_def
      name: sfcntl
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: fcntl
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: '0'
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: bool_false
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: bool_true
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: 'true'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: 'false'
    - item_type: preproc_def
      name: SOCKERRNO
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: ((int)WSAGetLastError())
    - item_type: preproc_def
      name: SOCKERRNO
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: (errno)
    - item_type: preproc_def
      name: SOCKEACCES
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEACCES
    - item_type: preproc_def
      name: SOCKEADDRINUSE
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEADDRINUSE
    - item_type: preproc_def
      name: SOCKEADDRNOTAVAIL
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEADDRNOTAVAIL
    - item_type: preproc_def
      name: SOCKEAFNOSUPPORT
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEAFNOSUPPORT
    - item_type: preproc_def
      name: SOCKEBADF
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEBADF
    - item_type: preproc_def
      name: SOCKECONNREFUSED
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAECONNREFUSED
    - item_type: preproc_def
      name: SOCKECONNRESET
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAECONNRESET
    - item_type: preproc_def
      name: SOCKEINPROGRESS
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEINPROGRESS
    - item_type: preproc_def
      name: SOCKEINTR
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEINTR
    - item_type: preproc_def
      name: SOCKEINVAL
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEINVAL
    - item_type: preproc_def
      name: SOCKEISCONN
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEISCONN
    - item_type: preproc_def
      name: SOCKEMSGSIZE
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEMSGSIZE
    - item_type: preproc_def
      name: SOCKENOMEM
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSA_NOT_ENOUGH_MEMORY
    - item_type: preproc_def
      name: SOCKETIMEDOUT
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAETIMEDOUT
    - item_type: preproc_def
      name: SOCKEWOULDBLOCK
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: WSAEWOULDBLOCK
    - item_type: preproc_def
      name: SOCKEACCES
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EACCES
    - item_type: preproc_def
      name: SOCKEADDRINUSE
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EADDRINUSE
    - item_type: preproc_def
      name: SOCKEADDRNOTAVAIL
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EADDRNOTAVAIL
    - item_type: preproc_def
      name: SOCKEAFNOSUPPORT
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EAFNOSUPPORT
    - item_type: preproc_def
      name: SOCKEBADF
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EBADF
    - item_type: preproc_def
      name: SOCKECONNREFUSED
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: ECONNREFUSED
    - item_type: preproc_def
      name: SOCKECONNRESET
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: ECONNRESET
    - item_type: preproc_def
      name: SOCKEINPROGRESS
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EINPROGRESS
    - item_type: preproc_def
      name: SOCKEINTR
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EINTR
    - item_type: preproc_def
      name: SOCKEINVAL
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EINVAL
    - item_type: preproc_def
      name: SOCKEISCONN
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EISCONN
    - item_type: preproc_def
      name: SOCKEMSGSIZE
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EMSGSIZE
    - item_type: preproc_def
      name: SOCKENOMEM
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: ENOMEM
    - item_type: preproc_def
      name: SOCKETIMEDOUT
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: ETIMEDOUT
    - item_type: preproc_def
      name: SOCKEWOULDBLOCK
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: EWOULDBLOCK
    - item_type: preproc_def
      name: argv_item_t
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: __char_ptr32
    - item_type: preproc_def
      name: argv_item_t
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: wchar_t *
    - item_type: preproc_def
      name: argv_item_t
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: char *
    - item_type: preproc_def
      name: ZERO_NULL
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/curl/lib/curl_setup_once.h
      type_or_value: '0'
    structs:
    - fields:
      - name: tv_sec
        type: long
      - name: tv_usec
        type: long
      item_type: struct
      name: timeval
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/curl/lib/curl_setup_once.h
    typedefs:
    - item_type: typedef
      name: bool
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/curl/lib/curl_setup_once.h
      type: int
    - item_type: typedef
      name: bit
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/curl/lib/curl_setup_once.h
      type: bool
    - item_type: typedef
      name: bit
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/curl/lib/curl_setup_once.h
      type: unsigned int
    union: []
- function_names:
  - Curl_read16_le
  - Curl_read32_le
  - Curl_read16_be
  source_file: /src/curl/lib/curl_endian.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tunnel_is_established
  - tunnel_is_failed
  - tunnel_reinit
  - tunnel_init
  - h1_tunnel_go_state
  - tunnel_free
  - tunnel_want_send
  - start_CONNECT
  - send_CONNECT
  - on_resp_header
  - recv_CONNECT_resp
  - H1_CONNECT
  - cf_h1_proxy_connect
  - cf_h1_proxy_adjust_pollset
  - cf_h1_proxy_destroy
  - cf_h1_proxy_close
  - Curl_cf_h1_proxy_insert_after
  source_file: /src/curl/lib/cf-h1-proxy.c
  types:
    enum:
    - enumerators:
      - name: KEEPON_DONE
      - name: KEEPON_CONNECT
      - name: KEEPON_IGNORE
      item_type: enum
      name: keeponval
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/curl/lib/cf-h1-proxy.c
    preproc_defs:
    - item_type: preproc_def
      name: SELECT_OK
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/curl/lib/cf-h1-proxy.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SELECT_ERROR
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/curl/lib/cf-h1-proxy.c
      type_or_value: '1'
    structs:
    - fields:
      - name: rcvbuf
        type: struct dynbuf
      - name: request_data
        type: struct dynbuf
      - name: nsent
        type: size_t
      - name: headerlines
        type: size_t
      - name: ch
        type: struct Curl_chunker
      - name: keepon
        type: "enum keeponval {\n    KEEPON_DONE,\n    KEEPON_CONNECT,\n    KEEPON_IGNORE\n
          \ }"
      - name: cl
        type: curl_off_t
      - name: tunnel_state
        type: h1_tunnel_state
      item_type: struct
      name: h1_tunnel_state
      pos:
        line_end: 78
        line_start: 63
        source_file: /src/curl/lib/cf-h1-proxy.c
    typedefs: []
    union: []
- function_names:
  - checkprefix
  source_file: /src/curl/lib/strcase.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - brotli_version
  - zstd_version
  - oldap_version
  - psl_version
  - idn_version
  - curl_version
  - idn_present
  - https_proxy_present
  - ech_present
  - FEATURE
  - curl_version_info
  source_file: /src/curl/lib/version.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VERSION_PARTS
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/curl/lib/version.c
      type_or_value: '16 '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*present)(curl_version_info_data *info)
        type: int
      - name: bitmask
        type: int
      item_type: struct
      name: feat
      pos:
        line_end: 453
        line_start: 449
        source_file: /src/curl/lib/version.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_addrinfo.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ai_flags
        type: int
      - name: ai_family
        type: int
      - name: ai_socktype
        type: int
      - name: ai_protocol
        type: int
      - name: ai_addrlen
        type: curl_socklen_t
      - name: '*ai_canonname'
        type: char
      - name: '*ai_addr'
        type: struct sockaddr
      - name: '*ai_next'
        type: struct Curl_addrinfo
      item_type: struct
      name: Curl_addrinfo
      pos:
        line_end: 60
        line_start: 51
        source_file: /src/curl/lib/curl_addrinfo.h
    typedefs: []
    union: []
- function_names:
  - our_select
  - Curl_socket_check
  - Curl_poll
  - Curl_pollfds_init
  - Curl_pollfds_reset
  - Curl_pollfds_cleanup
  - cpfds_increase
  - cpfds_add_sock
  - Curl_pollfds_add_sock
  - Curl_pollfds_add_ps
  - Curl_waitfds_init
  - cwfds_add_sock
  - Curl_waitfds_add_ps
  - Curl_pollset_reset
  - Curl_pollset_init
  - Curl_pollset_create
  - Curl_pollset_cleanup
  - Curl_pollset_move
  - Curl_pollset_change
  - Curl_pollset_set
  - Curl_pollset_poll
  - Curl_pollset_check
  - Curl_pollset_want_read
  source_file: /src/curl/lib/select.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/dynhds.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DYNHDS_OPT_NONE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/dynhds.h
      type_or_value: (0)
    - item_type: preproc_def
      name: DYNHDS_OPT_LOWERCASE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/dynhds.h
      type_or_value: (1 << 0)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: namelen
        type: size_t
      - name: valuelen
        type: size_t
      item_type: struct
      name: dynhds_entry
      pos:
        line_end: 41
        line_start: 36
        source_file: /src/curl/lib/dynhds.h
    - fields:
      - name: '**hds'
        type: struct dynhds_entry
      - name: hds_len
        type: size_t
      - name: hds_allc
        type: size_t
      - name: max_entries
        type: size_t
      - name: strs_len
        type: size_t
      - name: max_strs_size
        type: size_t
      - name: opts
        type: int
      item_type: struct
      name: dynhds
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/curl/lib/dynhds.h
    typedefs: []
    union: []
- function_names:
  - get_cf_create
  - Curl_debug_set_transport_provider
  - cf_ai_iter_init
  - cf_ai_iter_next
  - cf_ai_iter_has_more
  - cf_ip_attempt_free
  - cf_ip_attempt_new
  - cf_ip_attempt_connect
  - cf_ip_attempt_restart
  - cf_ip_ballers_clear
  - cf_ip_ballers_init
  - cf_ip_ballers_run
  - cf_ip_ballers_shutdown
  - cf_ip_ballers_pollset
  - cf_ip_ballers_pending
  - cf_ip_ballers_max_time
  - cf_ip_ballers_min_reply_ms
  - is_connected
  - start_connect
  - cf_ip_happy_ctx_clear
  - cf_ip_happy_shutdown
  - cf_ip_happy_adjust_pollset
  - cf_ip_happy_connect
  - cf_ip_happy_close
  - cf_ip_happy_data_pending
  - cf_ip_happy_query
  - cf_ip_happy_destroy
  - cf_ip_happy_create
  - cf_ip_happy_insert_after
  source_file: /src/curl/lib/cf-ip-happy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: transport
        type: int
      - name: '*cf_create'
        type: cf_ip_connect_create
      item_type: struct
      name: transport_provider
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/curl/lib/cf-ip-happy.c
    - fields:
      - name: '*head'
        type: struct Curl_addrinfo
      - name: '*last'
        type: struct Curl_addrinfo
      - name: ai_family
        type: int
      - name: n
        type: int
      item_type: struct
      name: cf_ai_iter
      pos:
        line_end: 120
        line_start: 115
        source_file: /src/curl/lib/cf-ip-happy.c
    - fields:
      - name: '*next'
        type: struct cf_ip_attempt
      - name: '*addr'
        type: struct Curl_addrinfo
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*cf_create'
        type: cf_ip_connect_create
      - name: started
        type: struct curltime
      - name: result
        type: CURLcode
      - name: ai_family
        type: int
      - name: transport
        type: int
      - name: error
        type: int
      item_type: struct
      name: cf_ip_attempt
      pos:
        line_end: 180
        line_start: 166
        source_file: /src/curl/lib/cf-ip-happy.c
    - fields:
      - name: '*running'
        type: struct cf_ip_attempt
      - name: '*winner'
        type: struct cf_ip_attempt
      - name: addr_iter
        type: struct cf_ai_iter
      - name: '*cf_create'
        type: cf_ip_connect_create
      - name: started
        type: struct curltime
      - name: last_attempt_started
        type: struct curltime
      - name: attempt_delay_ms
        type: timediff_t
      - name: last_attempt_ai_family
        type: int
      - name: transport
        type: int
      item_type: struct
      name: cf_ip_ballers
      pos:
        line_end: 267
        line_start: 254
        source_file: /src/curl/lib/cf-ip-happy.c
    - fields:
      - name: transport
        type: int
      - name: '*cf_create'
        type: cf_ip_connect_create
      - name: state
        type: cf_connect_state
      - name: ballers
        type: struct cf_ip_ballers
      - name: started
        type: struct curltime
      item_type: struct
      name: cf_ip_happy_ctx
      pos:
        line_end: 633
        line_start: 627
        source_file: /src/curl/lib/cf-ip-happy.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/http_negotiate.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - WPA_GET_BE32
  - WPA_PUT_BE32
  - WPA_PUT_BE64
  - WPA_PUT_BE64
  - RORc
  - Sha256_Ch
  - Sha256_Maj
  - Sha256_S
  - Sha256_R
  - Sigma0
  - Sigma1
  - Gamma0
  - Gamma1
  - sha256_compress
  - RND
  - my_sha256_init
  - my_sha256_update
  - my_sha256_final
  - Curl_sha256it
  source_file: /src/curl/lib/sha256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CALG_SHA_256
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/curl/lib/sha256.c
      type_or_value: '0x0000800c'
    - item_type: preproc_def
      name: CURL_SHA256_BLOCK_SIZE
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/curl/lib/sha256.c
      type_or_value: '64'
    structs:
    - fields:
      - name: '*openssl_ctx'
        type: EVP_MD_CTX
      item_type: struct
      name: ossl_sha256_ctx
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/curl/lib/sha256.c
    - fields:
      - name: hCryptProv
        type: HCRYPTPROV
      - name: hHash
        type: HCRYPTHASH
      item_type: struct
      name: sha256_ctx
      pos:
        line_end: 176
        line_start: 173
        source_file: /src/curl/lib/sha256.c
    - fields:
      - name: state[8]
        type: unsigned long
      - name: buf[64]
        type: unsigned char
      item_type: struct
      name: sha256_state
      pos:
        line_end: 281
        line_start: 273
        source_file: /src/curl/lib/sha256.c
    typedefs:
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/curl/lib/sha256.c
      type: ossl_sha256_ctx
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/curl/lib/sha256.c
      type: sha256_ctx
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/curl/lib/sha256.c
      type: mbedtls_sha256_context
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/curl/lib/sha256.c
      type: CC_SHA256_CTX
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/curl/lib/sha256.c
      type: sha256_ctx
    - item_type: typedef
      name: my_sha256_ctx
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/curl/lib/sha256.c
      type: sha256_state
    union: []
- function_names:
  - zalloc_cb
  - zfree_cb
  - process_zlib_error
  - exit_zlib
  - process_trailer
  - inflate_stream
  - deflate_do_init
  - deflate_do_write
  - deflate_do_close
  - gzip_do_init
  - gzip_do_write
  - gzip_do_close
  - brotli_map_error
  - brotli_do_init
  - brotli_do_write
  - brotli_do_close
  - Curl_zstd_alloc
  - Curl_zstd_free
  - zstd_do_init
  - zstd_do_write
  - zstd_do_close
  - Curl_all_content_encodings
  - error_do_init
  - error_do_write
  - error_do_close
  - find_unencode_writer
  - Curl_build_unencoding_stack
  - Curl_build_unencoding_stack
  - Curl_all_content_encodings
  source_file: /src/curl/lib/content_encoding.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONTENT_ENCODING_DEFAULT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/content_encoding.c
      type_or_value: '"identity"'
    - item_type: preproc_def
      name: MAX_ENCODE_STACK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/content_encoding.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DECOMPRESS_BUFFER_SIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/lib/content_encoding.c
      type_or_value: '16384 '
    structs:
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: zlib_init
        type: zlibInitState
      - name: buffer[DECOMPRESS_BUFFER_SIZE]
        type: char
      - name: trailerlen
        type: uInt
      - name: z
        type: z_stream
      item_type: struct
      name: zlib_writer
      pos:
        line_end: 91
        line_start: 85
        source_file: /src/curl/lib/content_encoding.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: buffer[DECOMPRESS_BUFFER_SIZE]
        type: char
      - name: '*br'
        type: BrotliDecoderState
      item_type: struct
      name: brotli_writer
      pos:
        line_end: 368
        line_start: 364
        source_file: /src/curl/lib/content_encoding.c
    - fields:
      - name: super
        type: struct Curl_cwriter
      - name: '*zds'
        type: ZSTD_DStream
      - name: buffer[DECOMPRESS_BUFFER_SIZE]
        type: char
      item_type: struct
      name: zstd_writer
      pos:
        line_end: 491
        line_start: 487
        source_file: /src/curl/lib/content_encoding.c
    typedefs: []
    union: []
- function_names:
  - compare
  - Curl_splay
  - Curl_splayinsert
  - Curl_splaygetbest
  - Curl_splayremove
  - Curl_splayset
  - Curl_splayget
  source_file: /src/curl/lib/splay.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_md4.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MD4_DIGEST_LENGTH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/curl_md4.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curl_rtmp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curl_simple_lock_lock
  - curl_simple_lock_unlock
  - curl_simple_lock_lock
  - curl_simple_lock_unlock
  - curl_simple_lock_lock
  - curl_simple_lock_unlock
  source_file: /src/curl/lib/easy_lock.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: curl_simple_lock
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/easy_lock.h
      type_or_value: SRWLOCK
    - item_type: preproc_def
      name: CURL_SIMPLE_LOCK_INIT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/easy_lock.h
      type_or_value: SRWLOCK_INIT
    - item_type: preproc_def
      name: curl_simple_lock
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/easy_lock.h
      type_or_value: atomic_int
    - item_type: preproc_def
      name: CURL_SIMPLE_LOCK_INIT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/easy_lock.h
      type_or_value: '0'
    - item_type: preproc_def
      name: curl_simple_lock
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/lib/easy_lock.h
      type_or_value: pthread_mutex_t
    - item_type: preproc_def
      name: CURL_SIMPLE_LOCK_INIT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/lib/easy_lock.h
      type_or_value: PTHREAD_MUTEX_INITIALIZER
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_eventfd
  - Curl_pipe
  - Curl_socketpair
  - Curl_socketpair
  source_file: /src/curl/lib/socketpair.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INADDR_LOOPBACK
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl/lib/socketpair.c
      type_or_value: '0x7f000001'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: inaddr
        type: struct sockaddr_in
      - name: addr
        type: struct sockaddr
      item_type: union
      name: a
      pos:
        line_end: 146
        line_start: 143
        source_file: /src/curl/lib/socketpair.c
- function_names:
  - Curl_strdup
  - Curl_wcsdup
  - Curl_memdup
  - Curl_memdup0
  - Curl_saferealloc
  source_file: /src/curl/lib/strdup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_setopt_SSLVERSION
  source_file: /src/curl/lib/setopt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/getinfo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curl_dbg_cleanup
  - curl_dbg_memdebug
  - curl_dbg_memlimit
  - countcheck
  - curl_dbg_malloc
  - curl_dbg_calloc
  - curl_dbg_strdup
  - curl_dbg_wcsdup
  - curl_dbg_realloc
  - curl_dbg_free
  - curl_dbg_socket
  - curl_dbg_send
  - curl_dbg_recv
  - curl_dbg_socketpair
  - curl_dbg_accept
  - curl_dbg_accept4
  - curl_dbg_mark_sclose
  - curl_dbg_sclose
  - curl_dbg_fopen
  - curl_dbg_fdopen
  - curl_dbg_fclose
  - curl_dbg_log
  source_file: /src/curl/lib/memdebug.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: size_t
      - name: mem[1]
        type: "union {\n    curl_off_t o;\n    double d;\n    void *p;\n  }"
      item_type: struct
      name: memdebug
      pos:
        line_end: 46
        line_start: 37
        source_file: /src/curl/lib/memdebug.c
    typedefs: []
    union: []
- function_names:
  - Curl_idn_decode
  source_file: /src/curl/lib/idn.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_req_init
  - Curl_req_soft_reset
  - Curl_req_start
  - Curl_req_done
  - Curl_req_hard_reset
  - Curl_req_free
  - xfer_send
  - req_send_buffer_flush
  - req_set_upload_done
  - req_flush
  - add_from_client
  - req_send_buffer_add
  - Curl_req_send
  - Curl_req_sendbuf_empty
  - Curl_req_want_send
  - Curl_req_done_sending
  - Curl_req_send_more
  - Curl_req_abort_sending
  - Curl_req_stop_send_recv
  source_file: /src/curl/lib/request.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_mutex_init
  - Curl_mutex_acquire
  - Curl_mutex_release
  - Curl_mutex_destroy
  - Curl_mutex_init
  - Curl_mutex_init
  - Curl_mutex_acquire
  - Curl_mutex_release
  - Curl_mutex_destroy
  source_file: /src/curl/lib/curl_threads.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_THREAD_RETURN_T
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/lib/curl_threads.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: curl_mutex_t
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/curl_threads.h
      type_or_value: pthread_mutex_t
    - item_type: preproc_def
      name: curl_thread_t
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/curl_threads.h
      type_or_value: pthread_t *
    - item_type: preproc_def
      name: curl_thread_t_null
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/curl_threads.h
      type_or_value: (pthread_t *)0
    - item_type: preproc_def
      name: CURL_THREAD_RETURN_T
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/curl_threads.h
      type_or_value: DWORD
    - item_type: preproc_def
      name: CURL_STDCALL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/curl_threads.h
      type_or_value: WINAPI
    - item_type: preproc_def
      name: curl_mutex_t
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/curl_threads.h
      type_or_value: CRITICAL_SECTION
    - item_type: preproc_def
      name: curl_thread_t
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/curl_threads.h
      type_or_value: HANDLE
    - item_type: preproc_def
      name: curl_thread_t_null
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/curl_threads.h
      type_or_value: (HANDLE)0
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/openssl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSL_get1_peer_certificate
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/curl/lib/vtls/openssl.h
      type_or_value: SSL_get_peer_certificate
    structs:
    - fields:
      - name: '* ssl_ctx'
        type: SSL_CTX
      - name: '*     ssl'
        type: SSL
      - name: '*bio_method'
        type: BIO_METHOD
      - name: io_result
        type: CURLcode
      - name: blocked_ssl_write_len
        type: int
      item_type: struct
      name: ossl_ctx
      pos:
        line_end: 85
        line_start: 69
        source_file: /src/curl/lib/vtls/openssl.h
    typedefs:
    - item_type: typedef
      name: "Curl_ossl_ctx_setup_cb(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        void *user_data)"
      pos:
        line_end: 91
        line_start: 89
        source_file: /src/curl/lib/vtls/openssl.h
      type: CURLcode
    - item_type: typedef
      name: Curl_ossl_new_session_cb(SSL *ssl, SSL_SESSION *ssl_sessionid)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/curl/lib/vtls/openssl.h
      type: int
    - item_type: typedef
      name: "Curl_ossl_init_session_reuse_cb(struct Curl_cfilter *cf,\n                                                 struct
        Curl_easy *data,\n                                                 struct
        alpn_spec *alpns,\n                                                 struct
        Curl_ssl_session *scs,\n                                                 bool
        *do_early_data)"
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/curl/lib/vtls/openssl.h
      type: CURLcode
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/mbedtls.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pmatch
  - hostmatch
  - Curl_cert_hostcheck
  source_file: /src/curl/lib/vtls/hostcheck.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/wolfssl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ssl_ctx'
        type: struct WOLFSSL_CTX
      - name: '*ssl'
        type: struct WOLFSSL
      - name: io_result
        type: CURLcode
      - name: hs_result
        type: CURLcode
      - name: io_send_blocked_len
        type: int
      item_type: struct
      name: wssl_ctx
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/curl/lib/vtls/wolfssl.h
    typedefs:
    - item_type: typedef
      name: "Curl_wssl_ctx_setup_cb(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        void *user_data)"
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/curl/lib/vtls/wolfssl.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_wssl_init_session_reuse_cb(struct Curl_cfilter *cf,\n                                                 struct
        Curl_easy *data,\n                                                 struct
        alpn_spec *alpns,\n                                                 struct
        Curl_ssl_session *scs,\n                                                 bool
        *do_early_data)"
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/curl/lib/vtls/wolfssl.h
      type: CURLcode
    union: []
- function_names:
  - spack_enc8
  - spack_dec8
  - spack_enc16
  - spack_dec16
  - spack_enc32
  - spack_dec32
  - spack_enc64
  - spack_dec64
  - spack_encstr16
  - spack_decstr16
  - spack_encdata16
  - spack_decdata16
  - Curl_ssl_session_pack
  - Curl_ssl_session_unpack
  source_file: /src/curl/lib/vtls/vtls_spack.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UINT16_MAX
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: UINT32_MAX
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: CURL_SPACK_VERSION
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: CURL_SPACK_IETF_ID
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: CURL_SPACK_VALID_UNTIL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: CURL_SPACK_TICKET
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: CURL_SPACK_ALPN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: CURL_SPACK_EARLYDATA
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: CURL_SPACK_QUICTP
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type_or_value: '0x07'
    structs: []
    typedefs:
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type: unsigned char
    - item_type: typedef
      name: uint16_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type: unsigned __int16
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type: unsigned __int32
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/curl/lib/vtls/vtls_spack.c
      type: unsigned __int64
    union: []
- function_names:
  - wssl_tls13_secret_callback
  - wssl_log_tls12_secret
  - wssl_do_file_type
  - wssl_bio_cf_create
  - wssl_bio_cf_destroy
  - wssl_bio_cf_ctrl
  - wssl_bio_cf_out_write
  - wssl_bio_cf_in_read
  - wssl_bio_cf_init_methods
  - wssl_bio_cf_free_methods
  - wssl_bio_cf_init_methods
  - wssl_bio_cf_free_methods
  - Curl_wssl_cache_session
  - wssl_vtls_new_session_cb
  - wssl_on_session_reuse
  - wssl_setup_session
  - wssl_populate_x509_store
  - wssl_x509_share_free
  - wssl_cached_x509_store_expired
  - wssl_cached_x509_store_different
  - wssl_get_cached_x509_store
  - wssl_set_cached_x509_store
  - Curl_wssl_setup_x509_store
  - wssl_add_default_ciphers
  - wssl_legacy_CTX_set_min_proto_version
  - wssl_legacy_CTX_set_max_proto_version
  - client_certificate
  - ssl_version
  - Curl_wssl_ctx_init
  - wssl_connect_step1
  - wssl_strerror
  - Curl_wssl_verify_pinned
  - wssl_send_earlydata
  - wssl_handshake
  - wssl_send
  - wssl_shutdown
  - wssl_close
  - wssl_recv
  - Curl_wssl_version
  - wssl_init
  - wssl_cleanup
  - wssl_data_pending
  - Curl_wssl_report_handshake
  - wssl_connect
  - wssl_random
  - wssl_sha256sum
  - wssl_get_internals
  source_file: /src/curl/lib/vtls/wolfssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WOLFSSL_BIO_CTRL_GET_CLOSE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_CTRL_GET_CLOSE
    - item_type: preproc_def
      name: WOLFSSL_BIO_CTRL_SET_CLOSE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_CTRL_SET_CLOSE
    - item_type: preproc_def
      name: WOLFSSL_BIO_CTRL_FLUSH
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_CTRL_FLUSH
    - item_type: preproc_def
      name: WOLFSSL_BIO_CTRL_DUP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_CTRL_DUP
    - item_type: preproc_def
      name: wolfSSL_BIO_set_retry_write
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_set_retry_write
    - item_type: preproc_def
      name: wolfSSL_BIO_set_retry_read
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: BIO_set_retry_read
    - item_type: preproc_def
      name: MPROTO_WSSL_X509_KEY
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: '"tls:wssl:x509:share"'
    - item_type: preproc_def
      name: wolfSSL_CTX_set_min_proto_version
      pos:
        line_end: 939
        line_start: 938
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: wssl_legacy_CTX_set_min_proto_version
    - item_type: preproc_def
      name: wolfSSL_CTX_set_max_proto_version
      pos:
        line_end: 940
        line_start: 939
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: wssl_legacy_CTX_set_max_proto_version
    - item_type: preproc_def
      name: QUIC_GROUPS
      pos:
        line_end: 1100
        line_start: 1099
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: '"P-256:P-384:P-521"'
    - item_type: preproc_def
      name: MAX_CIPHER_LEN
      pos:
        line_end: 1173
        line_start: 1172
        source_file: /src/curl/lib/vtls/wolfssl.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: group
        type: word16
      - name: '*name'
        type: char
      item_type: struct
      name: group_name_map
      pos:
        line_end: 238
        line_start: 235
        source_file: /src/curl/lib/vtls/wolfssl.c
    - fields:
      - name: '*CAfile'
        type: char
      - name: '*store'
        type: WOLFSSL_X509_STORE
      - name: time
        type: struct curltime
      item_type: struct
      name: wssl_x509_share
      pos:
        line_end: 709
        line_start: 705
        source_file: /src/curl/lib/vtls/wolfssl.c
    typedefs: []
    union: []
- function_names:
  - is_cr_or_lf
  - c_memmem
  - add_certs_data_to_store
  - add_certs_file_to_store
  - cert_get_name_string
  - get_num_host_info
  - get_alt_name_info
  - Curl_verify_host
  - Curl_verify_certificate
  source_file: /src/curl/lib/vtls/schannel_verify.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BACKEND
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: ((struct schannel_ssl_backend_data *)connssl->backend)
    - item_type: preproc_def
      name: CERT_QUERY_OBJECT_BLOB
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: CERT_QUERY_CONTENT_CERT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CERT_QUERY_CONTENT_FLAG_CERT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: (1 << CERT_QUERY_CONTENT_CERT)
    - item_type: preproc_def
      name: CERT_QUERY_FORMAT_BINARY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CERT_QUERY_FORMAT_BASE64_ENCODED
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CERT_QUERY_FORMAT_FLAG_ALL
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: "(1 << CERT_QUERY_FORMAT_BINARY) |              \\\n  (1 << CERT_QUERY_FORMAT_BASE64_ENCODED)
        |      \\\n  (1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED)"
    - item_type: preproc_def
      name: CERT_CHAIN_REVOCATION_CHECK_CHAIN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x20000000'
    - item_type: preproc_def
      name: CERT_NAME_DISABLE_IE4_UTF8_FLAG
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x00010000'
    - item_type: preproc_def
      name: CERT_TRUST_IS_OFFLINE_REVOCATION
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x01000000'
    - item_type: preproc_def
      name: MAX_CAFILE_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '1048576 '
    - item_type: preproc_def
      name: BEGIN_CERT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '"-----BEGIN CERTIFICATE-----"'
    - item_type: preproc_def
      name: END_CERT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '"\n-----END CERTIFICATE-----"'
    - item_type: preproc_def
      name: CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/vtls/schannel_verify.c
      type_or_value: '0x00000001'
    structs:
    - fields:
      - name: cbSize
        type: DWORD
      - name: hRestrictedRoot
        type: HCERTSTORE
      - name: hRestrictedTrust
        type: HCERTSTORE
      - name: hRestrictedOther
        type: HCERTSTORE
      - name: cAdditionalStore
        type: DWORD
      - name: '*rghAdditionalStore'
        type: HCERTSTORE
      - name: dwFlags
        type: DWORD
      - name: dwUrlRetrievalTimeout
        type: DWORD
      - name: MaximumCachedCertificates
        type: DWORD
      - name: CycleDetectionModulus
        type: DWORD
      - name: hExclusiveRoot
        type: HCERTSTORE
      - name: hExclusiveTrustedPeople
        type: HCERTSTORE
      - name: dwExclusiveFlags
        type: DWORD
      item_type: struct
      name: cert_chain_engine_config_win8
      pos:
        line_end: 91
        line_start: 77
        source_file: /src/curl/lib/vtls/schannel_verify.c
    - fields:
      - name: cbSize
        type: DWORD
      - name: hRestrictedRoot
        type: HCERTSTORE
      - name: hRestrictedTrust
        type: HCERTSTORE
      - name: hRestrictedOther
        type: HCERTSTORE
      - name: cAdditionalStore
        type: DWORD
      - name: '*rghAdditionalStore'
        type: HCERTSTORE
      - name: dwFlags
        type: DWORD
      - name: dwUrlRetrievalTimeout
        type: DWORD
      - name: MaximumCachedCertificates
        type: DWORD
      - name: CycleDetectionModulus
        type: DWORD
      - name: hExclusiveRoot
        type: HCERTSTORE
      - name: hExclusiveTrustedPeople
        type: HCERTSTORE
      item_type: struct
      name: cert_chain_engine_config_win7
      pos:
        line_end: 112
        line_start: 99
        source_file: /src/curl/lib/vtls/schannel_verify.c
    typedefs: []
    union: []
- function_names:
  - Curl_mbedtlsthreadlock_thread_setup
  - Curl_mbedtlsthreadlock_thread_cleanup
  - Curl_mbedtlsthreadlock_lock_function
  - Curl_mbedtlsthreadlock_unlock_function
  source_file: /src/curl/lib/vtls/mbedtls_threadlock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBEDTLS_MUTEX_T
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/vtls/mbedtls_threadlock.c
      type_or_value: pthread_mutex_t
    - item_type: preproc_def
      name: MBEDTLS_MUTEX_T
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/vtls/mbedtls_threadlock.c
      type_or_value: HANDLE
    - item_type: preproc_def
      name: NUMT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/vtls/mbedtls_threadlock.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/rustls.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getASN1Element_
  - getASN1Element
  - searchOID
  - Curl_x509_getASN1Element
  - bool2str
  - octet2str
  - bit2str
  - int2str
  - utf8asn1str
  - encodeOID
  - OID2str
  - GTime2str
  - Curl_x509_GTime2str
  - UTime2str
  - ASN1tostr
  - encodeDN
  - Curl_parseX509
  - dumpAlgo
  - ssl_push_certinfo
  - ssl_push_certinfo_dyn
  - do_pubkey_field
  - do_pubkey
  - DNtostr
  - Curl_extract_certinfo
  source_file: /src/curl/lib/vtls/x509asn1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_ASN1_MAX
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '((size_t) 0x40000)      '
    - item_type: preproc_def
      name: CURL_ASN1_BOOLEAN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CURL_ASN1_INTEGER
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CURL_ASN1_BIT_STRING
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CURL_ASN1_OCTET_STRING
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CURL_ASN1_NULL
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CURL_ASN1_OBJECT_IDENTIFIER
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '6'
    - item_type: preproc_def
      name: CURL_ASN1_ENUMERATED
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '10'
    - item_type: preproc_def
      name: CURL_ASN1_UTF8_STRING
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '12'
    - item_type: preproc_def
      name: CURL_ASN1_NUMERIC_STRING
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '18'
    - item_type: preproc_def
      name: CURL_ASN1_PRINTABLE_STRING
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '19'
    - item_type: preproc_def
      name: CURL_ASN1_TELETEX_STRING
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '20'
    - item_type: preproc_def
      name: CURL_ASN1_IA5_STRING
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '22'
    - item_type: preproc_def
      name: CURL_ASN1_UTC_TIME
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '23'
    - item_type: preproc_def
      name: CURL_ASN1_GENERALIZED_TIME
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '24'
    - item_type: preproc_def
      name: CURL_ASN1_VISIBLE_STRING
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '26'
    - item_type: preproc_def
      name: CURL_ASN1_UNIVERSAL_STRING
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '28'
    - item_type: preproc_def
      name: CURL_ASN1_BMP_STRING
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '30'
    - item_type: preproc_def
      name: CURL_ASN1_MAX_RECURSIONS
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/curl/lib/vtls/x509asn1.c
      type_or_value: '16'
    structs:
    - fields:
      - name: '*numoid'
        type: char
      - name: '*textoid'
        type: char
      item_type: struct
      name: Curl_OID
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/curl/lib/vtls/x509asn1.c
    typedefs: []
    union: []
- function_names:
  - tls_log_func
  - gtls_push
  - gtls_pull
  - gtls_init
  - gtls_cleanup
  - showtime
  - load_file
  - unload_file
  - handshake
  - gnutls_do_file_type
  - gnutls_set_ssl_version_min_max
  - Curl_gtls_shared_creds_create
  - Curl_gtls_shared_creds_up_ref
  - Curl_gtls_shared_creds_free
  - gtls_populate_creds
  - gtls_shared_creds_expired
  - gtls_shared_creds_different
  - gtls_get_cached_creds
  - gtls_shared_creds_hash_free
  - gtls_set_cached_creds
  - Curl_gtls_client_trust_setup
  - Curl_gtls_cache_session
  - Curl_glts_get_ietf_proto
  - cf_gtls_update_session_id
  - gtls_handshake_cb
  - gtls_set_priority
  - gtls_client_init
  - keylog_callback
  - gtls_on_session_reuse
  - Curl_gtls_ctx_init
  - gtls_connect_step1
  - pkp_pin_peer_pubkey
  - Curl_gtls_report_handshake
  - gtls_msg_verify_result
  - gtls_infof_cert
  - gtls_verify_ocsp_status
  - gtls_chain_get_der
  - glts_apple_verify
  - Curl_gtls_verifyserver
  - gtls_verifyserver
  - gtls_send_earlydata
  - gtls_connect_common
  - gtls_connect
  - gtls_data_pending
  - gtls_send
  - gtls_shutdown
  - gtls_close
  - gtls_recv
  - Curl_gtls_version
  - gtls_random
  - gtls_sha256sum
  - gtls_cert_status_request
  - gtls_get_internals
  source_file: /src/curl/lib/vtls/gtls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GNUTLS_CIPHERS
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/curl/lib/vtls/gtls.c
      type_or_value: '"NORMAL:-ARCFOUR-128:-CTYPE-ALL:+CTYPE-X509"'
    - item_type: preproc_def
      name: GNUTLS_SRP
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/curl/lib/vtls/gtls.c
      type_or_value: '"+SRP"'
    - item_type: preproc_def
      name: QUIC_PRIORITY
      pos:
        line_end: 328
        line_start: 323
        source_file: /src/curl/lib/vtls/gtls.c
      type_or_value: "\"NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+AES-256-GCM:\"
        \\\n  \"+CHACHA20-POLY1305:+AES-128-CCM:-GROUP-ALL:+GROUP-SECP256R1:\" \\\n
        \ \"+GROUP-X25519:+GROUP-SECP384R1:+GROUP-SECP521R1:\" \\\n  \"%DISABLE_TLS13_COMPAT_MODE\""
    - item_type: preproc_def
      name: MPROTO_GTLS_X509_KEY
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/curl/lib/vtls/gtls.c
      type_or_value: '"tls:gtls:x509:share"'
    - item_type: preproc_def
      name: use_addr
      pos:
        line_end: 1825
        line_start: 1824
        source_file: /src/curl/lib/vtls/gtls.c
      type_or_value: in6_addr
    - item_type: preproc_def
      name: use_addr
      pos:
        line_end: 1827
        line_start: 1826
        source_file: /src/curl/lib/vtls/gtls.c
      type_or_value: in_addr
    structs:
    - fields:
      - name: gtls
        type: struct gtls_ctx
      item_type: struct
      name: gtls_ssl_backend_data
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/curl/lib/vtls/gtls.c
    - fields:
      - name: '*certs'
        type: gnutls_datum_t
      - name: num_certs
        type: unsigned int
      item_type: struct
      name: gtls_cert_chain
      pos:
        line_end: 1538
        line_start: 1535
        source_file: /src/curl/lib/vtls/gtls.c
    typedefs: []
    union: []
- function_names:
  - Curl_mbedtlsthreadlock_thread_setup
  - Curl_mbedtlsthreadlock_thread_cleanup
  - Curl_mbedtlsthreadlock_lock_function
  - Curl_mbedtlsthreadlock_unlock_function
  source_file: /src/curl/lib/vtls/mbedtls_threadlock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ECH_ENABLED
  - Curl_ssl_init
  - Curl_ssl_cleanup
  - Curl_ssl_close_all
  - Curl_ssl_set_engine
  - Curl_ssl_set_engine_default
  - Curl_ssl_engines_list
  - Curl_ssl_free_certinfo
  - Curl_ssl_random
  - Curl_ssl_cert_status_request
  - Curl_ssl_supports
  - Curl_ssl_cfilter_add
  - Curl_ssl_cfilter_remove
  - Curl_ssl_cf_get_config
  - Curl_ssl_cf_get_primary_config
  source_file: /src/curl/lib/vtls/vtls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSLSUPP_CA_PATH
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '(1<<0) '
    - item_type: preproc_def
      name: SSLSUPP_CERTINFO
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '(1<<1) '
    - item_type: preproc_def
      name: SSLSUPP_PINNEDPUBKEY
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '(1<<2) '
    - item_type: preproc_def
      name: SSLSUPP_SSL_CTX
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '(1<<3) '
    - item_type: preproc_def
      name: SSLSUPP_HTTPS_PROXY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '(1<<4) '
    - item_type: preproc_def
      name: SSLSUPP_TLS13_CIPHERSUITES
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '(1<<5) '
    - item_type: preproc_def
      name: SSLSUPP_CAINFO_BLOB
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: SSLSUPP_ECH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: SSLSUPP_CA_CACHE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: SSLSUPP_CIPHER_LIST
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '(1<<9) '
    - item_type: preproc_def
      name: SSLSUPP_SIGNATURE_ALGORITHMS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '(1<<10) '
    - item_type: preproc_def
      name: ALPN_ACCEPTED
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: server accepted "'
    - item_type: preproc_def
      name: VTLS_INFOF_NO_ALPN
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: server did not agree on a protocol. Uses default."'
    - item_type: preproc_def
      name: VTLS_INFOF_ALPN_OFFER_1STR
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: curl offers %s"'
    - item_type: preproc_def
      name: VTLS_INFOF_ALPN_ACCEPTED
      pos:
        line_end: 62
        line_start: 60
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: ALPN_ACCEPTED "%.*s"
    - item_type: preproc_def
      name: VTLS_INFOF_NO_ALPN_DEFERRED
      pos:
        line_end: 65
        line_start: 63
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: deferred handshake for early data without specific protocol."'
    - item_type: preproc_def
      name: VTLS_INFOF_ALPN_DEFERRED
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '"ALPN: deferred handshake for early data using ''%.*s''."'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_UNKNOWN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_SSL3
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '0x0300'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_TLS1
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '0x0301'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_TLS1_1
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '0x0302'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_TLS1_2
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '0x0303'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_TLS1_3
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '0x0304'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_DTLS1
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '0xFEFF'
    - item_type: preproc_def
      name: CURL_IETF_PROTO_DTLS1_2
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '0xFEFD'
    - item_type: preproc_def
      name: MAX_PINNED_PUBKEY_SIZE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '1048576 '
    - item_type: preproc_def
      name: CURL_SHA256_DIGEST_LENGTH
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '32 '
    - item_type: preproc_def
      name: CURL_X509_STR_MAX
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '100000'
    - item_type: preproc_def
      name: SSL_CB_MAX_SIZE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '85'
    - item_type: preproc_def
      name: SSL_SHUTDOWN_TIMEOUT
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/curl/lib/vtls/vtls.h
      type_or_value: '10000 '
    structs:
    - fields:
      - name: '*hostname'
        type: char
      - name: '*dispname'
        type: char
      - name: '*sni'
        type: char
      - name: '*scache_key'
        type: char
      - name: type
        type: ssl_peer_type
      - name: port
        type: int
      - name: transport
        type: int
      item_type: struct
      name: ssl_peer
      pos:
        line_end: 92
        line_start: 84
        source_file: /src/curl/lib/vtls/vtls.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/apple.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUPPORTS_SecTrustEvaluateWithError
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/vtls/apple.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REQUIRES_SecTrustEvaluateWithError
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/vtls/apple.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SUPPORTS_SecOCSP
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/vtls/apple.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - map_error
  - rustls_failf
  - cr_data_pending
  - read_cb
  - write_cb
  - tls_recv_more
  - cr_recv
  - cr_flush_out
  - cr_send
  - cr_verify_none
  - read_file_into
  - cr_get_selected_ciphers
  - cr_keylog_log_cb
  - init_config_builder
  - init_config_builder_alpn
  - init_config_builder_verifier_crl
  - init_config_builder_verifier
  - init_config_builder_platform_verifier
  - init_config_builder_keylog
  - init_config_builder_client_auth
  - init_config_builder_ech
  - cr_init_backend
  - cr_set_negotiated_alpn
  - cr_connect
  - cr_get_internals
  - cr_shutdown
  - cr_close
  - cr_version
  - cr_random
  - cr_cleanup
  source_file: /src/curl/lib/vtls/rustls.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*config'
        type: struct rustls_client_config
      - name: '*conn'
        type: struct rustls_connection
      - name: plain_out_buffered
        type: size_t
      item_type: struct
      name: rustls_ssl_backend_data
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/curl/lib/vtls/rustls.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      item_type: struct
      name: io_ctx
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/curl/lib/vtls/rustls.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/gtls.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: creds
        type: gnutls_certificate_credentials_t
      - name: '*CAfile'
        type: char
      - name: time
        type: struct curltime
      - name: refcount
        type: size_t
      item_type: struct
      name: gtls_shared_creds
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/curl/lib/vtls/gtls.h
    - fields:
      - name: session
        type: gnutls_session_t
      - name: '*shared_creds'
        type: struct gtls_shared_creds
      - name: io_result
        type: CURLcode
      item_type: struct
      name: gtls_ctx
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/curl/lib/vtls/gtls.h
    typedefs:
    - item_type: typedef
      name: "Curl_gtls_ctx_setup_cb(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        void *user_data)"
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/curl/lib/vtls/gtls.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_gtls_init_session_reuse_cb(struct Curl_cfilter *cf,\n                                                 struct
        Curl_easy *data,\n                                                 struct
        alpn_spec *alpns,\n                                                 struct
        Curl_ssl_session *scs,\n                                                 bool
        *do_early_data)"
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/curl/lib/vtls/gtls.h
      type: CURLcode
    union: []
- function_names:
  - Curl_tls_keylog_open
  - Curl_tls_keylog_close
  - Curl_tls_keylog_enabled
  - Curl_tls_keylog_write_line
  - Curl_tls_keylog_write
  source_file: /src/curl/lib/vtls/keylog.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SCH_DEV
  - SCH_DEV_SHOWBOOL
  - SCH_DEV
  - SCH_DEV_SHOWBOOL
  - InitSecBuffer
  - InitSecBufferDesc
  - schannel_set_ssl_version_min_max
  - CIPHEROPTION
  - get_alg_id_by_name
  - set_ssl_ciphers
  - get_cert_location
  - schannel_acquire_credential_handle
  - schannel_connect_step1
  - schannel_connect_step2
  - valid_cert_encoding
  - traverse_cert_store
  - cert_counter_callback
  - add_cert_to_certinfo
  - schannel_session_free
  - schannel_connect_step3
  - schannel_connect
  - schannel_recv_renegotiate
  - schannel_send
  - schannel_recv
  - schannel_data_pending
  - schannel_shutdown
  - schannel_close
  - schannel_init
  - schannel_cleanup
  - schannel_version
  - schannel_random
  - schannel_pkp_pin_peer_pubkey
  - schannel_checksum
  - schannel_sha256sum
  - schannel_get_internals
  - Curl_schannel_get_cached_cert_store
  - schannel_cert_share_free
  - Curl_schannel_set_cached_cert_store
  source_file: /src/curl/lib/vtls/schannel.c
  types:
    enum:
    - enumerators:
      - name: SCH_RENEG_CALLER_IS_RECV
      - name: SCH_RENEG_CALLER_IS_SEND
      item_type: enum
      name: schannel_renegotiate_caller_t
      pos:
        line_end: 1689
        line_start: 1686
        source_file: /src/curl/lib/vtls/schannel.c
    preproc_defs:
    - item_type: preproc_def
      name: SP_PROT_TLS1_0_CLIENT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: SP_PROT_TLS1_CLIENT
    - item_type: preproc_def
      name: SP_PROT_TLS1_1_CLIENT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '0x00000200'
    - item_type: preproc_def
      name: SP_PROT_TLS1_2_CLIENT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: SP_PROT_TLS1_3_CLIENT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: SCH_USE_STRONG_CRYPTO
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '0x00400000'
    - item_type: preproc_def
      name: SECBUFFER_ALERT
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '17'
    - item_type: preproc_def
      name: CURL_SCHANNEL_BUFFER_INIT_SIZE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: CURL_SCHANNEL_BUFFER_FREE_SIZE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: CERT_THUMBPRINT_STR_LEN
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '40'
    - item_type: preproc_def
      name: CERT_THUMBPRINT_DATA_LEN
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '20'
    - item_type: preproc_def
      name: CALG_SHA_256
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '0x0000800c'
    - item_type: preproc_def
      name: ALG_CLASS_DHASH
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: ALG_CLASS_HASH
    - item_type: preproc_def
      name: PKCS12_NO_PERSIST_KEY
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '0x00008000'
    - item_type: preproc_def
      name: CERT_FIND_HAS_PRIVATE_KEY
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: (21 << CERT_COMPARE_SHIFT)
    - item_type: preproc_def
      name: MPROTO_SCHANNEL_CERT_SHARE_KEY
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '"tls:schannel:cert:share"'
    - item_type: preproc_def
      name: NUM_CIPHERS
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/curl/lib/vtls/schannel.c
      type_or_value: '47 '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: int
      item_type: struct
      name: algo
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/curl/lib/vtls/schannel.c
    - fields:
      - name: '*data'
        type: struct Curl_easy
      - name: result
        type: CURLcode
      - name: idx
        type: int
      - name: certs_count
        type: int
      item_type: struct
      name: Adder_args
      pos:
        line_end: 1472
        line_start: 1466
        source_file: /src/curl/lib/vtls/schannel.c
    typedefs:
    - item_type: typedef
      name: "(*Read_crt_func)(const CERT_CONTEXT *ccert_context,\n                             bool
        reverse_order, void *arg)"
      pos:
        line_end: 1427
        line_start: 1426
        source_file: /src/curl/lib/vtls/schannel.c
      type: bool
    - item_type: typedef
      name: '*(APIENTRY *WINE_GET_VERSION_FN)(void)'
      pos:
        line_end: 2553
        line_start: 2553
        source_file: /src/curl/lib/vtls/schannel.c
      type: char
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/cipher_suite.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GOOD_SCACHE
  - cf_ssl_scache_get
  - cf_ssl_scache_session_ldestroy
  - Curl_ssl_session_create
  - Curl_ssl_session_create2
  - Curl_ssl_session_destroy
  - cf_ssl_scache_clear_peer
  - cf_ssl_scache_peer_set_obj
  - cf_ssl_cache_peer_update
  - cf_ssl_scache_peer_init
  - cf_scache_session_remove
  - cf_scache_session_expired
  - cf_scache_peer_remove_expired
  - cf_scache_peer_remove_non13
  - Curl_ssl_scache_create
  - Curl_ssl_scache_destroy
  - Curl_ssl_scache_lock
  - Curl_ssl_scache_unlock
  - cf_ssl_peer_key_add_path
  - cf_ssl_peer_key_add_hash
  - cf_ssl_peer_key_is_global
  - Curl_ssl_peer_key_make
  - cf_ssl_scache_match_auth
  - cf_ssl_find_peer_by_key
  - cf_ssl_get_free_peer
  - cf_ssl_add_peer
  - cf_scache_peer_add_session
  - cf_scache_add_session
  - Curl_ssl_scache_put
  - Curl_ssl_scache_return
  - Curl_ssl_scache_take
  - Curl_ssl_scache_add_obj
  - Curl_ssl_scache_get_obj
  - Curl_ssl_scache_remove_all
  - cf_ssl_scache_peer_set_hmac
  - cf_ssl_find_peer_by_hmac
  - Curl_ssl_session_import
  - Curl_ssl_session_export
  source_file: /src/curl/lib/vtls/vtls_scache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SCACHE_MAGIC
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/vtls/vtls_scache.c
      type_or_value: '0x000e1551'
    - item_type: preproc_def
      name: CURL_SSLS_LOCAL_SUFFIX
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/curl/lib/vtls/vtls_scache.c
      type_or_value: '":L"'
    - item_type: preproc_def
      name: CURL_SSLS_GLOBAL_SUFFIX
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/curl/lib/vtls/vtls_scache.c
      type_or_value: '":G"'
    - item_type: preproc_def
      name: CURL_SSL_TICKET_MAX
      pos:
        line_end: 1001
        line_start: 1000
        source_file: /src/curl/lib/vtls/vtls_scache.c
      type_or_value: (16*1024)
    structs:
    - fields:
      - name: '*ssl_peer_key'
        type: char
      - name: '*clientcert'
        type: char
      - name: '*srp_username'
        type: char
      - name: '*srp_password'
        type: char
      - name: sessions
        type: struct Curl_llist
      - name: '*sobj'
        type: void
      - name: '*sobj_free'
        type: Curl_ssl_scache_obj_dtor
      - name: key_salt[CURL_SHA256_DIGEST_LENGTH]
        type: unsigned char
      - name: key_hmac[CURL_SHA256_DIGEST_LENGTH]
        type: unsigned char
      - name: max_sessions
        type: size_t
      - name: age
        type: long
      item_type: struct
      name: Curl_ssl_scache_peer
      pos:
        line_end: 72
        line_start: 58
        source_file: /src/curl/lib/vtls/vtls_scache.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*peers'
        type: struct Curl_ssl_scache_peer
      - name: peer_count
        type: size_t
      - name: default_lifetime_secs
        type: int
      - name: age
        type: long
      item_type: struct
      name: Curl_ssl_scache
      pos:
        line_end: 84
        line_start: 78
        source_file: /src/curl/lib/vtls/vtls_scache.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/schannel.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CF_CTX_CALL_DATA
  source_file: /src/curl/lib/vtls/vtls_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALPN_HTTP_1_1_LENGTH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: '8'
    - item_type: preproc_def
      name: ALPN_HTTP_1_1
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: '"http/1.1"'
    - item_type: preproc_def
      name: ALPN_H2_LENGTH
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ALPN_H2
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: '"h2"'
    - item_type: preproc_def
      name: ALPN_H3_LENGTH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ALPN_H3
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: '"h3"'
    - item_type: preproc_def
      name: ALPN_NAME_MAX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: '10'
    - item_type: preproc_def
      name: ALPN_ENTRIES_MAX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ALPN_PROTO_BUF_MAX
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: (ALPN_ENTRIES_MAX * (ALPN_NAME_MAX + 1))
    - item_type: preproc_def
      name: CURL_SSL_IO_NEED_NONE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: (0)
    - item_type: preproc_def
      name: CURL_SSL_IO_NEED_RECV
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: CURL_SSL_IO_NEED_SEND
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: CURL_SSL_EARLY_MAX
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/curl/lib/vtls/vtls_int.h
      type_or_value: (64*1024)
    structs:
    - fields:
      - name: entries[ALPN_ENTRIES_MAX][ALPN_NAME_MAX]
        type: char
      - name: count
        type: size_t
      item_type: struct
      name: alpn_spec
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/curl/lib/vtls/vtls_int.h
    - fields:
      - name: data[ALPN_PROTO_BUF_MAX]
        type: unsigned char
      - name: len
        type: int
      item_type: struct
      name: alpn_proto_buf
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/curl/lib/vtls/vtls_int.h
    - fields:
      - name: '*ssl_impl'
        type: struct Curl_ssl
      - name: peer
        type: struct ssl_peer
      - name: '*alpn'
        type: struct alpn_spec
      - name: '*backend'
        type: void
      - name: call_data
        type: struct cf_call_data
      - name: handshake_done
        type: struct curltime
      - name: negotiated
        type: "struct {\n    char *alpn;                     /* ALPN value or NULL
          */\n  }"
      - name: earlydata
        type: struct bufq
      - name: earlydata_max
        type: size_t
      - name: earlydata_skip
        type: size_t
      - name: state
        type: ssl_connection_state
      - name: connecting_state
        type: ssl_connect_state
      - name: earlydata_state
        type: ssl_earlydata_state
      - name: io_need
        type: int
      item_type: struct
      name: ssl_connect_data
      pos:
        line_end: 130
        line_start: 108
        source_file: /src/curl/lib/vtls/vtls_int.h
    - fields:
      - name: info
        type: curl_ssl_backend
      - name: supports
        type: unsigned int
      - name: sizeof_ssl_backend_data
        type: size_t
      - name: (*init)(void)
        type: int
      - name: (*cleanup)(void)
        type: void
      - name: (*version)(char *buffer, size_t size)
        type: size_t
      - name: "(*shut_down)(struct Curl_cfilter *cf, struct Curl_easy *data,\n                        bool
          send_shutdown, bool *done)"
        type: CURLcode
      - name: "(*data_pending)(struct Curl_cfilter *cf,\n                       const
          struct Curl_easy *data)"
        type: bool
      - name: "(*random)(struct Curl_easy *data, unsigned char *entropy,\n                     size_t
          length)"
        type: CURLcode
      - name: (*cert_status_request)(void)
        type: bool
      - name: "(*do_connect)(struct Curl_cfilter *cf, struct Curl_easy *data,\n                         bool
          *done)"
        type: CURLcode
      - name: "(*adjust_pollset)(struct Curl_cfilter *cf, struct Curl_easy *data,\n
          \                            struct easy_pollset *ps)"
        type: CURLcode
      - name: '*(*get_internals)(struct ssl_connect_data *connssl, CURLINFO info)'
        type: void
      - name: (*close)(struct Curl_cfilter *cf, struct Curl_easy *data)
        type: void
      - name: (*close_all)(struct Curl_easy *data)
        type: void
      - name: (*set_engine)(struct Curl_easy *data, const char *engine)
        type: CURLcode
      - name: (*set_engine_default)(struct Curl_easy *data)
        type: CURLcode
      - name: '*(*engines_list)(struct Curl_easy *data)'
        type: struct curl_slist
      - name: "(*sha256sum)(const unsigned char *input, size_t inputlen,\n                    unsigned
          char *sha256sum, size_t sha256sumlen)"
        type: CURLcode
      - name: "(*recv_plain)(struct Curl_cfilter *cf, struct Curl_easy *data,\n                         char
          *buf, size_t len, size_t *pnread)"
        type: CURLcode
      - name: "(*send_plain)(struct Curl_cfilter *cf, struct Curl_easy *data,\n                         const
          void *mem, size_t len, size_t *pnwritten)"
        type: CURLcode
      - name: "(*get_channel_binding)(struct Curl_easy *data, int sockindex,\n                                  struct
          dynbuf *binding)"
        type: CURLcode
      item_type: struct
      name: Curl_ssl
      pos:
        line_end: 192
        line_start: 140
        source_file: /src/curl/lib/vtls/vtls_int.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/apple.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "Curl_vtls_get_cert_der(struct Curl_cfilter *cf,\n                                        struct
        Curl_easy *data,\n                                        void *user_data,\n
        \                                       size_t i,\n                                        unsigned
        char **pder,\n                                        size_t *pder_len)"
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/curl/lib/vtls/apple.h
      type: CURLcode
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/vtls_spack.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/vtls_scache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_SCACHE_MAX_13_LIFETIME_SEC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/vtls/vtls_scache.h
      type_or_value: (60*60*24*7)
    - item_type: preproc_def
      name: CURL_SCACHE_MAX_12_LIFETIME_SEC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/vtls/vtls_scache.h
      type_or_value: (60*60*24)
    structs:
    - fields:
      - name: '*sdata'
        type: void
      - name: sdata_len
        type: size_t
      - name: valid_until
        type: curl_off_t
      - name: ietf_tls_id
        type: int
      - name: '*alpn'
        type: char
      - name: earlydata_max
        type: size_t
      - name: '*quic_tp'
        type: unsigned char
      - name: quic_tp_len
        type: size_t
      - name: list
        type: struct Curl_llist_node
      item_type: struct
      name: Curl_ssl_session
      pos:
        line_end: 126
        line_start: 116
        source_file: /src/curl/lib/vtls/vtls_scache.h
    typedefs:
    - item_type: typedef
      name: Curl_ssl_scache_obj_dtor(void *sobj)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/curl/lib/vtls/vtls_scache.h
      type: void
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/schannel_int.h
  types:
    enum:
    - enumerators:
      - name: TlsParametersCngAlgUsageKeyExchange
      - name: TlsParametersCngAlgUsageDigest
      - name: TlsParametersCngAlgUsageCertSig
      - name: TlsParametersCngAlgUsageCipher
      - name: TlsParametersCngAlgUsageSignature
      item_type: enum
      name: _eTlsAlgorithmUsage
      pos:
        line_end: 53
        line_start: 47
        source_file: /src/curl/lib/vtls/schannel_int.h
    preproc_defs:
    - item_type: preproc_def
      name: CERT_STORE_PROV_MEMORY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/vtls/schannel_int.h
      type_or_value: ((LPCSTR)(size_t)2)
    - item_type: preproc_def
      name: CERT_STORE_PROV_SYSTEM_A
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/vtls/schannel_int.h
      type_or_value: ((LPCSTR)(size_t)9)
    - item_type: preproc_def
      name: CERT_STORE_PROV_SYSTEM_W
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/vtls/schannel_int.h
      type_or_value: ((LPCSTR)(size_t)10)
    - item_type: preproc_def
      name: SCH_CREDENTIALS_VERSION
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/vtls/schannel_int.h
      type_or_value: '0x00000005'
    - item_type: preproc_def
      name: SCH_CRED_MAX_SUPPORTED_PARAMETERS
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/curl/lib/vtls/schannel_int.h
      type_or_value: '16'
    - item_type: preproc_def
      name: SCH_CRED_MAX_SUPPORTED_ALPN_IDS
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/curl/lib/vtls/schannel_int.h
      type_or_value: '16'
    - item_type: preproc_def
      name: SCH_CRED_MAX_SUPPORTED_CRYPTO_SETTINGS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/lib/vtls/schannel_int.h
      type_or_value: '16'
    - item_type: preproc_def
      name: SCH_CRED_MAX_SUPPORTED_CHAINING_MODES
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/vtls/schannel_int.h
      type_or_value: '16'
    structs:
    - fields:
      - name: eAlgorithmUsage
        type: eTlsAlgorithmUsage
      - name: strCngAlgId
        type: UNICODE_STRING
      - name: cChainingModes
        type: DWORD
      - name: rgstrChainingModes
        type: PUNICODE_STRING
      - name: dwMinBitLength
        type: DWORD
      - name: dwMaxBitLength
        type: DWORD
      item_type: struct
      name: _CRYPTO_SETTINGS
      pos:
        line_end: 63
        line_start: 56
        source_file: /src/curl/lib/vtls/schannel_int.h
    - fields:
      - name: cAlpnIds
        type: DWORD
      - name: rgstrAlpnIds
        type: PUNICODE_STRING
      - name: grbitDisabledProtocols
        type: DWORD
      - name: cDisabledCrypto
        type: DWORD
      - name: pDisabledCrypto
        type: PCRYPTO_SETTINGS
      - name: dwFlags
        type: DWORD
      item_type: struct
      name: _TLS_PARAMETERS
      pos:
        line_end: 73
        line_start: 66
        source_file: /src/curl/lib/vtls/schannel_int.h
    - fields:
      - name: dwVersion
        type: DWORD
      - name: dwCredFormat
        type: DWORD
      - name: cCreds
        type: DWORD
      - name: '* paCred'
        type: PCCERT_CONTEXT
      - name: hRootStore
        type: HCERTSTORE
      - name: cMappers
        type: DWORD
      - name: '**aphMappers'
        type: struct _HMAPPER
      - name: dwSessionLifespan
        type: DWORD
      - name: dwFlags
        type: DWORD
      - name: cTlsParameters
        type: DWORD
      - name: pTlsParameters
        type: PTLS_PARAMETERS
      item_type: struct
      name: _SCH_CREDENTIALS
      pos:
        line_end: 90
        line_start: 76
        source_file: /src/curl/lib/vtls/schannel_int.h
    - fields:
      - name: cred_handle
        type: CredHandle
      - name: '*sni_hostname'
        type: TCHAR
      - name: client_cert_store
        type: HCERTSTORE
      - name: refcount
        type: int
      item_type: struct
      name: Curl_schannel_cred
      pos:
        line_end: 104
        line_start: 99
        source_file: /src/curl/lib/vtls/schannel_int.h
    - fields:
      - name: ctxt_handle
        type: CtxtHandle
      item_type: struct
      name: Curl_schannel_ctxt
      pos:
        line_end: 108
        line_start: 106
        source_file: /src/curl/lib/vtls/schannel_int.h
    - fields:
      - name: '*cred'
        type: struct Curl_schannel_cred
      - name: '*ctxt'
        type: struct Curl_schannel_ctxt
      - name: stream_sizes
        type: SecPkgContext_StreamSizes
      - name: encdata_length
        type: size_t
      - name: encdata_offset
        type: size_t
      - name: '*encdata_buffer'
        type: unsigned char
      - name: req_flags
        type: unsigned long
      - name: recv_unrecoverable_err
        type: CURLcode
      - name: renegotiate_state
        type: "struct schannel_renegotiate_state {\n    bool started;\n    struct
          curltime start_time;\n    int io_need;\n  }"
      item_type: struct
      name: schannel_ssl_backend_data
      pos:
        line_end: 135
        line_start: 110
        source_file: /src/curl/lib/vtls/schannel_int.h
    - fields:
      - name: started
        type: bool
      - name: start_time
        type: struct curltime
      - name: io_need
        type: int
      item_type: struct
      name: schannel_renegotiate_state
      pos:
        line_end: 127
        line_start: 123
        source_file: /src/curl/lib/vtls/schannel_int.h
    - fields:
      - name: CAinfo_blob_digest[CURL_SHA256_DIGEST_LENGTH]
        type: unsigned char
      - name: CAinfo_blob_size
        type: size_t
      - name: '*CAfile'
        type: char
      - name: cert_store
        type: HCERTSTORE
      - name: time
        type: struct curltime
      item_type: struct
      name: schannel_cert_share
      pos:
        line_end: 145
        line_start: 137
        source_file: /src/curl/lib/vtls/schannel_int.h
    - fields:
      - name: size
        type: DWORD
      - name: bData
        type: "union {\n    struct in_addr  ia;  /* 04 bytes */\n    struct in6_addr
          ia6; /* 16 bytes */\n  }"
      item_type: struct
      name: num_ip_data
      pos:
        line_end: 156
        line_start: 150
        source_file: /src/curl/lib/vtls/schannel_int.h
    typedefs: []
    union: []
- function_names:
  - CS_ZIP_IDX
  - CS_ENTRY
  - cs_str_to_zip
  - cs_zip_to_str
  - Curl_cipher_suite_lookup_id
  - cs_is_separator
  - Curl_cipher_suite_walk_str
  - Curl_cipher_suite_get_str
  source_file: /src/curl/lib/vtls/cipher_suite.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CS_LIST_LEN
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/curl/lib/vtls/cipher_suite.c
      type_or_value: CURL_ARRAYSIZE(cs_list)
    structs:
    - fields:
      - name: id
        type: uint16_t
      - name: zip[6]
        type: uint8_t
      item_type: struct
      name: cs_entry
      pos:
        line_end: 156
        line_start: 153
        source_file: /src/curl/lib/vtls/cipher_suite.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/hostcheck.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/x509asn1.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*header'
        type: char
      - name: '*beg'
        type: char
      - name: '*end'
        type: char
      - name: eclass
        type: unsigned char
      - name: tag
        type: unsigned char
      item_type: struct
      name: Curl_asn1Element
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/curl/lib/vtls/x509asn1.h
    - fields:
      - name: certificate
        type: struct Curl_asn1Element
      - name: version
        type: struct Curl_asn1Element
      - name: serialNumber
        type: struct Curl_asn1Element
      - name: signatureAlgorithm
        type: struct Curl_asn1Element
      - name: signature
        type: struct Curl_asn1Element
      - name: issuer
        type: struct Curl_asn1Element
      - name: notBefore
        type: struct Curl_asn1Element
      - name: notAfter
        type: struct Curl_asn1Element
      - name: subject
        type: struct Curl_asn1Element
      - name: subjectPublicKeyInfo
        type: struct Curl_asn1Element
      - name: subjectPublicKeyAlgorithm
        type: struct Curl_asn1Element
      - name: subjectPublicKey
        type: struct Curl_asn1Element
      - name: issuerUniqueID
        type: struct Curl_asn1Element
      - name: subjectUniqueID
        type: struct Curl_asn1Element
      - name: extensions
        type: struct Curl_asn1Element
      item_type: struct
      name: Curl_X509certificate
      pos:
        line_end: 66
        line_start: 50
        source_file: /src/curl/lib/vtls/x509asn1.h
    typedefs: []
    union: []
- function_names:
  - OSSL_UI_METHOD_CAST
  - OSSL_UI_METHOD_CAST
  - ASN1_STRING_get0_data
  - X509_get0_notBefore
  - X509_get0_notAfter
  - OpenSSL_version_num
  - DECLARE_PKEY_PARAM_BIGNUM
  - FREE_PKEY_PARAM_BIGNUM
  - DECLARE_PKEY_PARAM_BIGNUM
  - push_certinfo
  - pubkey_show
  - print_pubkey_BN
  - print_pubkey_BN
  - asn1_object_dump
  - X509V3_ext
  - ossl_certchain
  - BIO_set_init
  - BIO_get_data
  - BIO_set_data
  - BIO_get_shutdown
  - BIO_set_shutdown
  - ossl_bio_cf_create
  - ossl_bio_cf_destroy
  - ossl_bio_cf_ctrl
  - ossl_bio_cf_out_write
  - ossl_bio_cf_in_read
  - ossl_bio_cf_method_create
  - ossl_bio_cf_method_free
  - ossl_bio_cf_method_create
  - ossl_bio_cf_method_free
  - ossl_keylog_callback
  - ossl_log_tls12_secret
  - SSL_ERROR_to_str
  - ossl_strerror
  - passwd_callback
  - rand_enough
  - ossl_seed
  - ossl_do_file_type
  - ssl_ui_reader
  - ssl_ui_writer
  - is_pkcs11_uri
  - use_certificate_blob
  - use_privatekey_blob
  - use_certificate_chain_blob
  - pkcs12load
  - client_cert
  - x509_name_oneline
  - ossl_init
  - ossl_cleanup
  - ossl_set_engine
  - ossl_set_engine_default
  - ossl_engines_list
  - ossl_provider_cleanup
  - ossl_set_provider
  - ossl_shutdown
  - ossl_close
  - ossl_close_all
  - ossl_verifyhost
  - verifystatus
  - ssl_msg_type
  - tls_rt_type
  - ossl_trace
  - ossl_set_ssl_version_min_max
  - ossl_set_ssl_version_min_max_legacy
  - Curl_ossl_add_session
  - ossl_new_session_cb
  - load_cacert_from_memory
  - ossl_win_load_store
  - ossl_windows_load_anchors
  - ossl_load_trust_anchors
  - ossl_populate_x509_store
  - oss_x509_share_free
  - ossl_cached_x509_store_expired
  - ossl_cached_x509_store_different
  - ossl_get_cached_x509_store
  - ossl_set_cached_x509_store
  - Curl_ssl_setup_x509_store
  - Curl_ssl_setup_x509_store
  - ossl_init_session_and_alpns
  - ossl_init_ech
  - ossl_init_ssl
  - ossl_init_method
  - OSSL_CURVE_CAST
  - OSSL_CURVE_CAST
  - OSSL_SIGALG_CAST
  - ossl_on_session_reuse
  - Curl_ossl_report_handshake
  - ossl_connect_step1
  - ossl_trace_ech_retry_configs
  - ossl_connect_step2
  - ossl_pkp_pin_peer_pubkey
  - infof_certstack
  - ossl_check_issuer
  - ossl_check_pinned_key
  - ossl_infof_cert
  - ossl_chain_get_der
  - ossl_apple_verify
  - Curl_ossl_check_peer_cert
  - ossl_connect_step3
  - ossl_send_earlydata
  - ossl_connect
  - ossl_data_pending
  - ossl_send
  - ossl_recv
  - ossl_get_channel_binding
  - Curl_ossl_version
  - ossl_random
  - ossl_sha256sum
  - ossl_cert_status_request
  - ossl_get_internals
  source_file: /src/curl/lib/vtls/openssl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_SSL_CTX_SET_DEFAULT_READ_BUFFER_LEN
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_X509_GET0_EXTENSIONS
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: HAVE_OPAQUE_EVP_PKEY
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: HAVE_OPAQUE_RSA_DSA_DH
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: HAVE_ERR_REMOVE_THREAD_STATE_DEPRECATED
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SSL_COMP_FREE_COMPRESSION_METHODS
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_EVP_PKEY_GET_PARAMS
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '"LibreSSL"'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '"BoringSSL"'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '"AWS-LC"'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '"quictls"'
    - item_type: preproc_def
      name: OSSL_PACKAGE
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '"OpenSSL"'
    - item_type: preproc_def
      name: ossl_valsize_t
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: numcert_t
    - item_type: preproc_def
      name: DEFAULT_CIPHER_SELECTION
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: DEFAULT_CIPHER_SELECTION
      pos:
        line_end: 235
        line_start: 233
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '"ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH"'
    - item_type: preproc_def
      name: HAVE_RANDOM_INIT_BY_DEFAULT
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RAND_LOAD_LENGTH
      pos:
        line_end: 999
        line_start: 998
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: SSL_FILETYPE_ENGINE
      pos:
        line_end: 1021
        line_start: 1020
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '42'
    - item_type: preproc_def
      name: SSL_FILETYPE_PKCS12
      pos:
        line_end: 1024
        line_start: 1023
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '43'
    - item_type: preproc_def
      name: SSL_FILETYPE_PROVIDER
      pos:
        line_end: 1027
        line_start: 1026
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '44'
    - item_type: preproc_def
      name: MAX_PROVIDER_LEN
      pos:
        line_end: 2031
        line_start: 2030
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: MPROTO_OSSL_X509_KEY
      pos:
        line_end: 3546
        line_start: 3545
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '"tls:ossl:x509:share"'
    - item_type: preproc_def
      name: EVP_PKEY_get_security_bits
      pos:
        line_end: 4871
        line_start: 4870
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: EVP_PKEY_security_bits
    - item_type: preproc_def
      name: MAX_CERT_NAME_LENGTH
      pos:
        line_end: 4994
        line_start: 4993
        source_file: /src/curl/lib/vtls/openssl.c
      type_or_value: '2048'
    structs:
    - fields:
      - name: '*cert_id'
        type: char
      - name: '*cert'
        type: X509
      item_type: struct
      name: params
      pos:
        line_end: 1394
        line_start: 1391
        source_file: /src/curl/lib/vtls/openssl.c
    - fields:
      - name: '*CAfile'
        type: char
      - name: '*store'
        type: X509_STORE
      - name: time
        type: struct curltime
      item_type: struct
      name: ossl_x509_share
      pos:
        line_end: 3552
        line_start: 3547
        source_file: /src/curl/lib/vtls/openssl.c
    - fields:
      - name: '*sk'
        type: STACK_OF
      - name: num_certs
        type: size_t
      item_type: struct
      name: ossl_certs_ctx
      pos:
        line_end: 5056
        line_start: 5053
        source_file: /src/curl/lib/vtls/openssl.c
    typedefs:
    - item_type: typedef
      name: numcert_t
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/curl/lib/vtls/openssl.c
      type: size_t
    - item_type: typedef
      name: sslerr_t
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/curl/lib/vtls/openssl.c
      type: uint32_t
    - item_type: typedef
      name: numcert_t
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/curl/lib/vtls/openssl.c
      type: int
    - item_type: typedef
      name: sslerr_t
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/curl/lib/vtls/openssl.c
      type: unsigned long
    - item_type: typedef
      name: ctx_option_t
      pos:
        line_end: 2966
        line_start: 2966
        source_file: /src/curl/lib/vtls/openssl.c
      type: uint32_t
    - item_type: typedef
      name: ctx_option_t
      pos:
        line_end: 2968
        line_start: 2968
        source_file: /src/curl/lib/vtls/openssl.c
      type: uint64_t
    - item_type: typedef
      name: ctx_option_t
      pos:
        line_end: 2971
        line_start: 2971
        source_file: /src/curl/lib/vtls/openssl.c
      type: unsigned long
    - item_type: typedef
      name: ctx_option_t
      pos:
        line_end: 2973
        line_start: 2973
        source_file: /src/curl/lib/vtls/openssl.c
      type: long
    union: []
- function_names:
  - CLONE_STRING
  - CLONE_BLOB
  - blobdup
  - blobcmp
  - alpn_get_spec
  - Curl_ssl_easy_config_init
  - match_ssl_primary_config
  - Curl_ssl_conn_config_match
  - clone_ssl_primary_config
  - free_primary_ssl_config
  - Curl_ssl_easy_config_complete
  - Curl_ssl_conn_config_init
  - Curl_ssl_conn_config_cleanup
  - Curl_ssl_conn_config_update
  - Curl_ssl_backend
  - Curl_ssl_init
  - ssl_prefs_check
  - cf_ctx_new
  - cf_ctx_free
  - Curl_ssl_get_channel_binding
  - Curl_ssl_close_all
  - Curl_ssl_adjust_pollset
  - Curl_ssl_set_engine
  - Curl_ssl_set_engine_default
  - Curl_ssl_engines_list
  - Curl_ssl_version
  - Curl_ssl_free_certinfo
  - Curl_ssl_init_certinfo
  - Curl_ssl_push_certinfo_len
  - Curl_ssl_random
  - pubkey_pem_to_der
  - Curl_pin_peer_pubkey
  - Curl_ssl_cert_status_request
  - multissl_init
  - multissl_random
  - multissl_connect
  - multissl_adjust_pollset
  - multissl_get_internals
  - multissl_close
  - multissl_recv_plain
  - multissl_send_plain
  - Curl_ssl_cleanup
  - multissl_version
  - multissl_setup
  - Curl_init_sslset_nolock
  - Curl_init_sslset_nolock
  - Curl_ssl_peer_cleanup
  - cf_close
  - get_peer_type
  - Curl_ssl_peer_init
  - ssl_cf_destroy
  - ssl_cf_close
  - ssl_cf_connect
  - ssl_cf_set_earlydata
  - ssl_cf_connect_deferred
  - ssl_cf_data_pending
  - ssl_cf_send
  - ssl_cf_recv
  - ssl_cf_shutdown
  - ssl_cf_adjust_pollset
  - ssl_cf_query
  - ssl_cf_cntrl
  - cf_ssl_is_alive
  - cf_ssl_create
  - Curl_ssl_cfilter_add
  - Curl_cf_ssl_insert_after
  - cf_ssl_proxy_create
  - Curl_cf_ssl_proxy_insert_after
  - Curl_ssl_supports
  - vtls_shutdown_blocking
  - Curl_ssl_cfilter_remove
  - Curl_ssl_cf_is_proxy
  - Curl_ssl_cf_get_config
  - Curl_ssl_cf_get_primary_config
  - Curl_alpn_to_proto_buf
  - Curl_alpn_to_proto_str
  - Curl_alpn_contains_proto
  - Curl_alpn_restrict_to
  - Curl_alpn_copy
  - Curl_alpn_set_negotiated
  source_file: /src/curl/lib/vtls/vtls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vtls/keylog.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYLOG_LABEL_MAXLEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/lib/vtls/keylog.h
      type_or_value: (sizeof("CLIENT_HANDSHAKE_TRAFFIC_SECRET") - 1)
    - item_type: preproc_def
      name: CLIENT_RANDOM_SIZE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/lib/vtls/keylog.h
      type_or_value: '32'
    - item_type: preproc_def
      name: SECRET_MAXLEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/curl/lib/vtls/keylog.h
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mbedtls_strerror
  - entropy_init_mutex
  - entropy_cleanup_mutex
  - entropy_func_mutex
  - mbed_debug
  - mbedtls_bio_cf_write
  - mbedtls_bio_cf_read
  - mbed_set_ssl_version_min_max
  - mbed_cipher_suite_get_str
  - mbed_cipher_suite_walk_str
  - mbed_dump_cert_info
  - mbed_extract_certinfo
  - mbed_verify_cb
  - mbed_connect_step2
  - mbed_new_session
  - mbed_send
  - mbedtls_shutdown
  - mbedtls_close
  - mbed_recv
  - mbedtls_version
  - mbedtls_random
  - mbedtls_connect
  - mbedtls_init
  - mbedtls_cleanup
  - mbedtls_data_pending
  - mbedtls_sha256sum
  - mbedtls_get_internals
  source_file: /src/curl/lib/vtls/mbedtls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RSA_PUB_DER_MAX_BYTES
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/curl/lib/vtls/mbedtls.c
      type_or_value: (38 + 2 * MBEDTLS_MPI_MAX_SIZE)
    - item_type: preproc_def
      name: ECP_PUB_DER_MAX_BYTES
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/curl/lib/vtls/mbedtls.c
      type_or_value: (30 + 2 * MBEDTLS_ECP_MAX_BYTES)
    - item_type: preproc_def
      name: PUB_DER_MAX_BYTES
      pos:
        line_end: 235
        line_start: 233
        source_file: /src/curl/lib/vtls/mbedtls.c
      type_or_value: "(RSA_PUB_DER_MAX_BYTES > ECP_PUB_DER_MAX_BYTES ? \\\n                             RSA_PUB_DER_MAX_BYTES
        : ECP_PUB_DER_MAX_BYTES)"
    - item_type: preproc_def
      name: mbed_cipher_suite_get_str
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/curl/lib/vtls/mbedtls.c
      type_or_value: Curl_cipher_suite_get_str
    - item_type: preproc_def
      name: mbed_cipher_suite_walk_str
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/curl/lib/vtls/mbedtls.c
      type_or_value: Curl_cipher_suite_walk_str
    structs:
    - fields:
      - name: ctr_drbg
        type: mbedtls_ctr_drbg_context
      - name: entropy
        type: mbedtls_entropy_context
      - name: ssl
        type: mbedtls_ssl_context
      - name: cacert
        type: mbedtls_x509_crt
      - name: clicert
        type: mbedtls_x509_crt
      - name: pk
        type: mbedtls_pk_context
      - name: config
        type: mbedtls_ssl_config
      - name: '*ciphersuites'
        type: int
      - name: send_blocked_len
        type: size_t
      item_type: struct
      name: mbed_ssl_backend_data
      pos:
        line_end: 97
        line_start: 78
        source_file: /src/curl/lib/vtls/mbedtls.c
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_gssapi_supported
  - Curl_auth_create_gssapi_user_message
  - Curl_auth_create_gssapi_security_message
  - Curl_auth_cleanup_gssapi
  source_file: /src/curl/lib/vauth/krb5_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GSS_ERROR
  - Curl_auth_is_digest_supported
  - Curl_auth_is_ntlm_supported
  - Curl_auth_is_gssapi_supported
  source_file: /src/curl/lib/vauth/vauth.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_GSASL_CONN
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:gsasl:conn"'
    - item_type: preproc_def
      name: CURL_META_NTLM_CONN
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:ntml:conn"'
    - item_type: preproc_def
      name: CURL_META_NTLM_PROXY_CONN
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:ntml-proxy:conn"'
    - item_type: preproc_def
      name: CURL_META_KRB5_CONN
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:krb5:conn"'
    - item_type: preproc_def
      name: CURL_META_NEGO_CONN
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:nego:conn"'
    - item_type: preproc_def
      name: CURL_META_NEGO_PROXY_CONN
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/curl/lib/vauth/vauth.h
      type_or_value: '"meta:auth:nego-proxy:conn"'
    structs:
    - fields:
      - name: '*ctx'
        type: Gsasl
      - name: '*client'
        type: Gsasl_session
      item_type: struct
      name: gsasldata
      pos:
        line_end: 131
        line_start: 128
        source_file: /src/curl/lib/vauth/vauth.h
    - fields: []
      item_type: struct
      name: ntlmdata
      pos:
        line_end: 185
        line_start: 162
        source_file: /src/curl/lib/vauth/vauth.h
    - fields: []
      item_type: struct
      name: kerberos5data
      pos:
        line_end: 259
        line_start: 246
        source_file: /src/curl/lib/vauth/vauth.h
    - fields: []
      item_type: struct
      name: negotiatedata
      pos:
        line_end: 329
        line_start: 302
        source_file: /src/curl/lib/vauth/vauth.h
    typedefs: []
    union: []
- function_names:
  - Curl_auth_create_cram_md5_message
  source_file: /src/curl/lib/vauth/cram.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vauth/digest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIGEST_MAX_VALUE_LENGTH
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/vauth/digest.h
      type_or_value: '256'
    - item_type: preproc_def
      name: DIGEST_MAX_CONTENT_LENGTH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/vauth/digest.h
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_spnego_supported
  - Curl_auth_decode_spnego_message
  - Curl_auth_create_spnego_message
  - Curl_auth_cleanup_spnego
  source_file: /src/curl/lib/vauth/spnego_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_gsasl_is_supported
  - Curl_auth_gsasl_token
  - Curl_auth_gsasl_cleanup
  source_file: /src/curl/lib/vauth/gsasl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_create_plain_message
  - Curl_auth_create_login_message
  - Curl_auth_create_external_message
  source_file: /src/curl/lib/vauth/cleartext.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_digest_supported
  - Curl_auth_create_digest_md5_message
  - Curl_override_sspi_http_realm
  - Curl_auth_decode_digest_http_message
  - Curl_auth_create_digest_http_message
  - Curl_auth_digest_cleanup
  source_file: /src/curl/lib/vauth/digest_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_create_oauth_bearer_message
  - Curl_auth_create_xoauth_bearer_message
  source_file: /src/curl/lib/vauth/oauth2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_spnego_supported
  - Curl_auth_decode_spnego_message
  - Curl_auth_create_spnego_message
  - Curl_auth_cleanup_spnego
  source_file: /src/curl/lib/vauth/spnego_gssapi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_gssapi_supported
  - Curl_auth_create_gssapi_user_message
  - Curl_auth_create_gssapi_security_message
  - Curl_auth_cleanup_gssapi
  source_file: /src/curl/lib/vauth/krb5_gssapi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_build_spn
  - Curl_auth_build_spn
  - Curl_auth_user_contains_domain
  - Curl_auth_allowed_to_host
  - ntlm_conn_dtor
  - Curl_auth_ntlm_get
  - Curl_auth_ntlm_remove
  - krb5_conn_dtor
  - Curl_auth_krb5_get
  - gsasl_conn_dtor
  - Curl_auth_gsasl_get
  - nego_conn_dtor
  - Curl_auth_nego_get
  source_file: /src/curl/lib/vauth/vauth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_is_ntlm_supported
  - Curl_auth_create_ntlm_type1_message
  - Curl_auth_decode_ntlm_type2_message
  - Curl_auth_create_ntlm_type3_message
  - Curl_auth_cleanup_ntlm
  source_file: /src/curl/lib/vauth/ntlm_sspi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_auth_digest_get_pair
  - auth_digest_md5_to_ascii
  - auth_digest_sha256_to_ascii
  - auth_digest_string_quoted
  - auth_digest_get_key_value
  - auth_digest_get_qop_values
  - auth_decode_digest_md5_message
  - Curl_auth_is_digest_supported
  - Curl_auth_create_digest_md5_message
  - Curl_auth_decode_digest_http_message
  - auth_create_digest_http_message
  - Curl_auth_create_digest_http_message
  - Curl_auth_digest_cleanup
  source_file: /src/curl/lib/vauth/digest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SESSION_ALGO
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: ALGO_MD5
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ALGO_MD5SESS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: (ALGO_MD5 | SESSION_ALGO)
    - item_type: preproc_def
      name: ALGO_SHA256
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ALGO_SHA256SESS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: (ALGO_SHA256 | SESSION_ALGO)
    - item_type: preproc_def
      name: ALGO_SHA512_256
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ALGO_SHA512_256SESS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: (ALGO_SHA512_256 | SESSION_ALGO)
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_AUTH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_AUTH_INT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_AUTH_CONF
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_STRING_AUTH
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: '"auth"'
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_STRING_AUTH_INT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: '"auth-int"'
    - item_type: preproc_def
      name: DIGEST_QOP_VALUE_STRING_AUTH_CONF
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/vauth/digest.c
      type_or_value: '"auth-conf"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DEBUG_OUT
  - ntlm_print_flags
  - ntlm_print_hex
  - DEBUG_OUT
  - ntlm_decode_type2_target
  - Curl_auth_is_ntlm_supported
  - Curl_auth_decode_ntlm_type2_message
  - unicodecpy
  - Curl_auth_create_ntlm_type1_message
  - Curl_auth_create_ntlm_type3_message
  - Curl_auth_cleanup_ntlm
  source_file: /src/curl/lib/vauth/ntlm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_ME
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NTLM_BUFSIZE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_UNICODE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_OEM
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: NTLMFLAG_REQUEST_TARGET
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_SIGN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_SEAL
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_DATAGRAM_STYLE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_LM_KEY
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_NTLM_KEY
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_ANONYMOUS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_DOMAIN_SUPPLIED
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_WORKSTATION_SUPPLIED
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<13)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_LOCAL_CALL
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<14)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_ALWAYS_SIGN
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<15)
    - item_type: preproc_def
      name: NTLMFLAG_TARGET_TYPE_DOMAIN
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<16)
    - item_type: preproc_def
      name: NTLMFLAG_TARGET_TYPE_SERVER
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<17)
    - item_type: preproc_def
      name: NTLMFLAG_TARGET_TYPE_SHARE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<18)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_NTLM2_KEY
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<19)
    - item_type: preproc_def
      name: NTLMFLAG_REQUEST_INIT_RESPONSE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<20)
    - item_type: preproc_def
      name: NTLMFLAG_REQUEST_ACCEPT_RESPONSE
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<21)
    - item_type: preproc_def
      name: NTLMFLAG_REQUEST_NONNT_SESSION_KEY
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<22)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_TARGET_INFO
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<23)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_128
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<29)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_KEY_EXCHANGE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<30)
    - item_type: preproc_def
      name: NTLMFLAG_NEGOTIATE_56
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: (1<<31)
    - item_type: preproc_def
      name: NTLMSSP_SIGNATURE
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/curl/lib/vauth/ntlm.c
      type_or_value: '"\x4e\x54\x4c\x4d\x53\x53\x50"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_ssh_init
  source_file: /src/curl/lib/vssh/ssh.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_META_SSH_EASY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/vssh/ssh.h
      type_or_value: '"meta:proto:ssh:easy"'
    - item_type: preproc_def
      name: CURL_META_SSH_CONN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/vssh/ssh.h
      type_or_value: '"meta:proto:ssh:conn"'
    - item_type: preproc_def
      name: CURL_PATH_MAX
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/curl/lib/vssh/ssh.h
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*path'
        type: char
      item_type: struct
      name: SSHPROTO
      pos:
        line_end: 134
        line_start: 121
        source_file: /src/curl/lib/vssh/ssh.h
    - fields:
      - name: '*authlist'
        type: char
      - name: '*passphrase'
        type: char
      - name: '*rsa_pub'
        type: char
      - name: '*rsa'
        type: char
      - name: state
        type: sshstate
      - name: nextstate
        type: sshstate
      - name: '*quote_item'
        type: struct curl_slist
      - name: '*quote_path1'
        type: char
      - name: '*quote_path2'
        type: char
      - name: '*homedir'
        type: char
      - name: secondCreateDirs
        type: int
      - name: orig_waitfor
        type: int
      - name: '*slash_pos'
        type: char
      item_type: struct
      name: ssh_conn
      pos:
        line_end: 214
        line_start: 138
        source_file: /src/curl/lib/vssh/ssh.h
    typedefs: []
    union: []
- function_names:
  - Curl_getworkingpath
  - Curl_get_pathname
  source_file: /src/curl/lib/vssh/curl_path.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SSHPATH_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/vssh/curl_path.c
      type_or_value: '100000 '
    - item_type: preproc_def
      name: MAX_PATHLENGTH
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/curl/lib/vssh/curl_path.c
      type_or_value: '65535 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - SSH_STRING_FREE_CHAR
  - sftp_error_to_CURLE
  - myssh_to
  - myssh_to
  - myssh_is_known
  - myssh_to_ERROR
  - myssh_to_SFTP_CLOSE
  - myssh_to_PASSWD_AUTH
  - myssh_to_KEY_AUTH
  - myssh_to_GSSAPI_AUTH
  - myssh_in_SFTP_READDIR_INIT
  - myssh_in_SFTP_READDIR
  - myssh_in_SFTP_READDIR_LINK
  - myssh_in_SFTP_READDIR_BOTTOM
  - myssh_in_SFTP_READDIR_DONE
  - myssh_in_SFTP_QUOTE_STATVFS
  - myssh_auth_interactive
  - myssh_state_init
  - myssh_in_S_STARTUP
  - myssh_in_AUTHLIST
  - myssh_in_AUTH_PKEY_INIT
  - myssh_in_AUTH_PKEY
  - myssh_in_AUTH_GSSAPI
  - myssh_in_AUTH_KEY_INIT
  - myssh_in_AUTH_KEY
  - myssh_in_AUTH_PASS_INIT
  - myssh_in_AUTH_PASS
  - myssh_in_AUTH_DONE
  - myssh_in_UPLOAD_INIT
  - myssh_in_SFTP_DOWNLOAD_INIT
  - myssh_in_SFTP_DOWNLOAD_STAT
  - myssh_in_SFTP_CLOSE
  - myssh_in_SFTP_SHUTDOWN
  - myssh_in_SFTP_INIT
  - myssh_in_SFTP_REALPATH
  - myssh_in_SFTP_QUOTE_INIT
  - myssh_in_SFTP_POSTQUOTE_INIT
  - return_quote_error
  - myssh_in_SFTP_QUOTE
  - myssh_in_SFTP_NEXT_QUOTE
  - myssh_in_SFTP_QUOTE_STAT
  - myssh_statemach_act
  - myssh_pollset
  - myssh_block2waitfor
  - myssh_multi_statemach
  - myssh_block_statemach
  - myssh_easy_dtor
  - myssh_conn_dtor
  - myssh_setup_connection
  - myssh_connect
  - scp_doing
  - scp_perform
  - myssh_do_it
  - sshc_cleanup
  - scp_disconnect
  - myssh_done
  - scp_done
  - scp_send
  - scp_recv
  - sftp_perform
  - sftp_doing
  - sftp_disconnect
  - sftp_done
  - sftp_send
  - sftp_recv
  - Curl_ssh_init
  - Curl_ssh_cleanup
  - Curl_ssh_version
  source_file: /src/curl/lib/vssh/libssh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSH_S_IFMT
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/curl/lib/vssh/libssh.c
      type_or_value: '00170000'
    - item_type: preproc_def
      name: SSH_S_IFLNK
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/curl/lib/vssh/libssh.c
      type_or_value: '0120000'
    - item_type: preproc_def
      name: CURL_LIBSSH_VFS_SIZE_MASK
      pos:
        line_end: 763
        line_start: 762
        source_file: /src/curl/lib/vssh/libssh.c
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_LIBSSH_VFS_SIZE_MASK
      pos:
        line_end: 765
        line_start: 764
        source_file: /src/curl/lib/vssh/libssh.c
      type_or_value: PRIu64
    structs: []
    typedefs: []
    union: []
- function_names:
  - kbd_callback
  - sftp_libssh2_error_to_CURLE
  - libssh2_session_error_to_CURLE
  - LIBSSH2_ALLOC_FUNC
  - LIBSSH2_REALLOC_FUNC
  - LIBSSH2_FREE_FUNC
  - myssh_state
  - sshkeycallback
  - convert_ssh2_keytype
  - ssh_knownhost
  - ssh_check_fingerprint
  - ssh_force_knownhost_key_type
  - return_quote_error
  - sftp_quote
  - sftp_upload_init
  - ssh_state_pkey_init
  - sftp_quote_stat
  - sftp_download_stat
  - sftp_readdir
  - ssh_state_init
  - ssh_state_startup
  - ssh_state_hostkey
  - ssh_state_authlist
  - ssh_state_auth_pkey
  - ssh_state_auth_pass_init
  - ssh_state_auth_pass
  - ssh_state_auth_host_init
  - ssh_state_auth_agent_init
  - ssh_state_auth_agent_list
  - ssh_state_auth_agent
  - ssh_state_auth_key_init
  - ssh_state_auth_key
  - ssh_state_auth_done
  - ssh_state_sftp_init
  - ssh_state_sftp_realpath
  - ssh_state_sftp_quote_init
  - ssh_state_sftp_postquote_init
  - ssh_state_sftp_quote
  - ssh_state_sftp_next_quote
  - ssh_state_sftp_quote_stat
  - ssh_state_sftp_quote_setstat
  - ssh_state_sftp_quote_symlink
  - ssh_state_sftp_quote_mkdir
  - ssh_state_sftp_quote_rename
  - ssh_state_sftp_quote_rmdir
  - ssh_state_sftp_quote_unlink
  - ssh_state_sftp_quote_statvfs
  - ssh_state_sftp_create_dirs_mkdir
  - ssh_state_sftp_readdir_init
  - ssh_state_sftp_readdir_link
  - ssh_state_scp_download_init
  - ssh_state_sftp_close
  - ssh_state_sftp_shutdown
  - ssh_state_sftp_download_init
  - ssh_state_scp_upload_init
  - ssh_state_session_disconnect
  - ssh_statemachine
  - ssh_pollset
  - ssh_block2waitfor
  - ssh_multi_statemach
  - ssh_block_statemach
  - myssh_easy_dtor
  - myssh_conn_dtor
  - ssh_setup_connection
  - ssh_tls_recv
  - ssh_tls_send
  - ssh_connect
  - scp_perform
  - scp_doing
  - ssh_do
  - sshc_cleanup
  - scp_disconnect
  - ssh_done
  - scp_done
  - scp_send
  - scp_recv
  - sftp_perform
  - sftp_doing
  - sftp_disconnect
  - sftp_done
  - sftp_send
  - sftp_recv
  - sftp_libssh2_strerror
  - Curl_ssh_init
  - Curl_ssh_cleanup
  - Curl_ssh_version
  - ssh_attach
  source_file: /src/curl/lib/vssh/libssh2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_LIBSSH2_VFS_SIZE_MASK
      pos:
        line_end: 2262
        line_start: 2261
        source_file: /src/curl/lib/vssh/libssh2.c
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: CURL_LIBSSH2_VFS_SIZE_MASK
      pos:
        line_end: 2264
        line_start: 2263
        source_file: /src/curl/lib/vssh/libssh2.c
      type_or_value: '"llu"'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*recvp'
        type: void
      - name: (*recvptr)(libssh2_socket_t, void *, size_t, int, void **)
        type: ssize_t
      item_type: union
      name: receive
      pos:
        line_end: 3400
        line_start: 3397
        source_file: /src/curl/lib/vssh/libssh2.c
    - fields:
      - name: '*sendp'
        type: void
      - name: (*sendptr)(libssh2_socket_t, const void *, size_t, int, void **)
        type: ssize_t
      item_type: union
      name: transfer
      pos:
        line_end: 3404
        line_start: 3401
        source_file: /src/curl/lib/vssh/libssh2.c
- function_names: []
  source_file: /src/curl/lib/vssh/curl_path.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/strerr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/wait.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/timediff.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FMT_TIMEDIFF_T
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/curlx/timediff.h
      type_or_value: FMT_OFF_T
    - item_type: preproc_def
      name: TIMEDIFF_T_MAX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/curlx/timediff.h
      type_or_value: CURL_OFF_T_MAX
    - item_type: preproc_def
      name: TIMEDIFF_T_MIN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/curlx/timediff.h
      type_or_value: CURL_OFF_T_MIN
    structs: []
    typedefs:
    - item_type: typedef
      name: timediff_t
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/curl/lib/curlx/timediff.h
      type: curl_off_t
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/winapi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WINAPI_ERROR_LEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/lib/curlx/winapi.h
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/nonblock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_convert_UTF8_to_tchar
  - curlx_convert_tchar_to_UTF8
  - curlx_convert_UTF8_to_tchar
  - curlx_convert_tchar_to_UTF8
  - curlx_unicodefree
  source_file: /src/curl/lib/curlx/multibyte.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*tchar_ptr'
        type: unsigned short
      - name: '*const_tchar_ptr'
        type: unsigned short
      - name: '*tbyte_ptr'
        type: unsigned short
      - name: '*const_tbyte_ptr'
        type: unsigned short
      item_type: union
      name: xcharp_u
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/curl/lib/curlx/multibyte.h
    - fields:
      - name: '*tchar_ptr'
        type: char
      - name: '*const_tchar_ptr'
        type: char
      - name: '*tbyte_ptr'
        type: unsigned char
      - name: '*const_tbyte_ptr'
        type: unsigned char
      item_type: union
      name: xcharp_u
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/curl/lib/curlx/multibyte.h
- function_names:
  - curlx_nonblock
  source_file: /src/curl/lib/curlx/nonblock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_wait_ms
  source_file: /src/curl/lib/curlx/wait.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_inet_pton
  - inet_pton4
  - inet_pton6
  source_file: /src/curl/lib/curlx/inet_pton.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IN6ADDRSZ
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/curlx/inet_pton.c
      type_or_value: '16'
    - item_type: preproc_def
      name: INADDRSZ
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/curlx/inet_pton.c
      type_or_value: '4'
    - item_type: preproc_def
      name: INT16SZ
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/curlx/inet_pton.c
      type_or_value: '2'
    - item_type: preproc_def
      name: AF_INET6
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/curlx/inet_pton.c
      type_or_value: (AF_INET + 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURLX_FOPEN_LOW
  - curlx_stat
  - curlx_stat
  - curlx_fopen
  - curlx_fdopen
  - curlx_fclose
  source_file: /src/curl/lib/curlx/fopen.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: curlx_open
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/curlx/fopen.h
      type_or_value: curlx_win32_open
    - item_type: preproc_def
      name: CURLX_FOPEN_LOW
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/curlx/fopen.h
      type_or_value: fopen
    - item_type: preproc_def
      name: curlx_open
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/curlx/fopen.h
      type_or_value: open
    - item_type: preproc_def
      name: curlx_fopen
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/curl/lib/curlx/fopen.h
      type_or_value: CURLX_FOPEN_LOW
    - item_type: preproc_def
      name: curlx_fdopen
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/curl/lib/curlx/fopen.h
      type_or_value: fdopen
    - item_type: preproc_def
      name: curlx_fclose
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/curl/lib/curlx/fopen.h
      type_or_value: fclose
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/version_win32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/timeval.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tv_sec
        type: time_t
      - name: tv_usec
        type: int
      item_type: struct
      name: curltime
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/curl/lib/curlx/timeval.h
    typedefs: []
    union: []
- function_names:
  - curlx_str_init
  - curlx_str_assign
  - curlx_str_until
  - curlx_str_word
  - curlx_str_untilnl
  - curlx_str_quotedword
  - curlx_str_single
  - curlx_str_singlespace
  - valid_digit
  - str_num_base
  - curlx_str_number
  - curlx_str_hex
  - curlx_str_octal
  - curlx_str_numblanks
  - curlx_str_newline
  - curlx_str_casecompare
  - curlx_str_cmp
  - curlx_str_nudge
  - curlx_str_cspn
  - curlx_str_trimblanks
  - curlx_str_passblanks
  source_file: /src/curl/lib/curlx/strparse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_ultouc
  - curlx_uztosi
  - curlx_uztoul
  - curlx_uztoui
  - curlx_sltosi
  - curlx_sltoui
  - curlx_sltous
  - curlx_uztosz
  - curlx_sotouz
  - curlx_sztosi
  - curlx_uitous
  - curlx_sitouz
  source_file: /src/curl/lib/curlx/warnless.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_MASK_UCHAR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/curl/lib/curlx/warnless.c
      type_or_value: ((unsigned char)~0)
    - item_type: preproc_def
      name: CURL_MASK_USHORT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/curl/lib/curlx/warnless.c
      type_or_value: ((unsigned short)~0)
    - item_type: preproc_def
      name: CURL_MASK_UINT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/curl/lib/curlx/warnless.c
      type_or_value: ((unsigned int)~0)
    - item_type: preproc_def
      name: CURL_MASK_SINT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/curlx/warnless.c
      type_or_value: (CURL_MASK_UINT >> 1)
    - item_type: preproc_def
      name: CURL_MASK_ULONG
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/curlx/warnless.c
      type_or_value: ((unsigned long)~0)
    - item_type: preproc_def
      name: CURL_MASK_USIZE_T
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/curl/lib/curlx/warnless.c
      type_or_value: ((size_t)~0)
    - item_type: preproc_def
      name: CURL_MASK_SSIZE_T
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/curl/lib/curlx/warnless.c
      type_or_value: (CURL_MASK_USIZE_T >> 1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_base64_decode
  - base64_encode
  - curlx_base64_encode
  - curlx_base64url_encode
  source_file: /src/curl/lib/curlx/base64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_get_winapi_error
  - curlx_winapi_strerror
  source_file: /src/curl/lib/curlx/winapi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/curlx/winapi.c
      type_or_value: curl_msnprintf
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/curl/lib/curlx/winapi.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/curl/lib/curlx/winapi.c
      type_or_value: snprintf
    structs: []
    typedefs: []
    union: []
- function_names:
  - fix_excessive_path
  - curlx_win32_open
  - curlx_win32_fopen
  - curlx_win32_stat
  source_file: /src/curl/lib/curlx/fopen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURLX_FUNCTION_CAST
  - read
  - write
  source_file: /src/curl/lib/curlx/warnless.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/dynbuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DYNBUF_SIZE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: (SIZE_MAX/2)
    - item_type: preproc_def
      name: DYN_DOH_RESPONSE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '3000'
    - item_type: preproc_def
      name: DYN_DOH_CNAME
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '256'
    - item_type: preproc_def
      name: DYN_PAUSE_BUFFER
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: (64 * 1024 * 1024)
    - item_type: preproc_def
      name: DYN_HAXPROXY
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '2048'
    - item_type: preproc_def
      name: DYN_HTTP_REQUEST
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: (1024*1024)
    - item_type: preproc_def
      name: DYN_APRINTF
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '8000000'
    - item_type: preproc_def
      name: DYN_RTSP_REQ_HEADER
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_TRAILERS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_PROXY_CONNECT_HEADERS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: DYN_QLOG_NAME
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: DYN_H1_TRAILER
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: DYN_PINGPPONG_CMD
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_IMAP_CMD
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_MQTT_RECV
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: DYN_MQTT_SEND
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '0xFFFFFFF'
    - item_type: preproc_def
      name: DYN_CRLFILE_SIZE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '(400*1024*1024) '
    - item_type: preproc_def
      name: DYN_CERTFILE_SIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '(100*1024) '
    - item_type: preproc_def
      name: DYN_KEYFILE_SIZE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/curl/lib/curlx/dynbuf.h
      type_or_value: '(100*1024) '
    structs:
    - fields:
      - name: '*bufr'
        type: char
      - name: leng
        type: size_t
      - name: allc
        type: size_t
      - name: toobig
        type: size_t
      item_type: struct
      name: dynbuf
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/curl/lib/curlx/dynbuf.h
    typedefs: []
    union: []
- function_names:
  - curlx_mstotv
  - curlx_tvtoms
  source_file: /src/curl/lib/curlx/timediff.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CURLX_SET_BINMODE
  - CURLX_SET_BINMODE
  - CURLX_SET_BINMODE
  source_file: /src/curl/lib/curlx/binmode.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_str
  - curlx_strlen
  - Curl_hexval
  source_file: /src/curl/lib/curlx/strparse.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRE_OK
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/curl/lib/curlx/strparse.h
      type_or_value: '0'
    - item_type: preproc_def
      name: STRE_BIG
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/curl/lib/curlx/strparse.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRE_SHORT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/curl/lib/curlx/strparse.h
      type_or_value: '2'
    - item_type: preproc_def
      name: STRE_BEGQUOTE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/curl/lib/curlx/strparse.h
      type_or_value: '3'
    - item_type: preproc_def
      name: STRE_ENDQUOTE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/curlx/strparse.h
      type_or_value: '4'
    - item_type: preproc_def
      name: STRE_BYTE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/curlx/strparse.h
      type_or_value: '5'
    - item_type: preproc_def
      name: STRE_NEWLINE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/curl/lib/curlx/strparse.h
      type_or_value: '6'
    - item_type: preproc_def
      name: STRE_OVERFLOW
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/curl/lib/curlx/strparse.h
      type_or_value: '7'
    - item_type: preproc_def
      name: STRE_NO_NUM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/curlx/strparse.h
      type_or_value: '8'
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: Curl_str
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/curl/lib/curlx/strparse.h
    typedefs: []
    union: []
- function_names:
  - curlx_convert_UTF8_to_wchar
  - curlx_convert_wchar_to_UTF8
  source_file: /src/curl/lib/curlx/multibyte.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/curlx.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_verify_windows_version
  source_file: /src/curl/lib/curlx/version_win32.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dwOSVersionInfoSize
        type: ULONG
      - name: dwMajorVersion
        type: ULONG
      - name: dwMinorVersion
        type: ULONG
      - name: dwBuildNumber
        type: ULONG
      - name: dwPlatformId
        type: ULONG
      - name: szCSDVersion[128]
        type: WCHAR
      - name: wServicePackMajor
        type: USHORT
      - name: wServicePackMinor
        type: USHORT
      - name: wSuiteMask
        type: USHORT
      - name: wProductType
        type: UCHAR
      - name: wReserved
        type: UCHAR
      item_type: struct
      name: OUR_OSVERSIONINFOEXW
      pos:
        line_end: 50
        line_start: 38
        source_file: /src/curl/lib/curlx/version_win32.c
    typedefs:
    - item_type: typedef
      name: "(APIENTRY *RTLVERIFYVERSIONINFO_FN)\n    (struct OUR_OSVERSIONINFOEXW
        *, ULONG, ULONGLONG)"
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/curl/lib/curlx/version_win32.c
      type: LONG
    union: []
- function_names:
  - curlx_dyn_init
  - curlx_dyn_free
  - dyn_nappend
  - curlx_dyn_reset
  - curlx_dyn_tail
  - curlx_dyn_addn
  - curlx_dyn_add
  - curlx_dyn_vaddf
  - curlx_dyn_addf
  - curlx_dyn_ptr
  - curlx_dyn_take
  - curlx_dyn_uptr
  - curlx_dyn_len
  - curlx_dyn_setlen
  source_file: /src/curl/lib/curlx/dynbuf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIN_FIRST_ALLOC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/curlx/dynbuf.c
      type_or_value: '32'
    - item_type: preproc_def
      name: DYNINIT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/curlx/dynbuf.c
      type_or_value: '0xbee51da '
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_now_init
  - curlx_now
  - curlx_now
  - curlx_now
  - curlx_now
  - curlx_timediff
  - curlx_timediff_ceil
  - curlx_timediff_us
  source_file: /src/curl/lib/curlx/timeval.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/curlx/base64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_inet_pton
  - curlx_inet_pton
  source_file: /src/curl/lib/curlx/inet_pton.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - curlx_inet_ntop
  - curlx_inet_ntop
  source_file: /src/curl/lib/curlx/inet_ntop.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - inet_ntop4
  - inet_ntop6
  - curlx_inet_ntop
  source_file: /src/curl/lib/curlx/inet_ntop.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IN6ADDRSZ
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/curl/lib/curlx/inet_ntop.c
      type_or_value: '16'
    - item_type: preproc_def
      name: INT16SZ
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/curl/lib/curlx/inet_ntop.c
      type_or_value: '2'
    - item_type: preproc_def
      name: AF_INET6
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/curl/lib/curlx/inet_ntop.c
      type_or_value: (AF_INET + 1)
    structs:
    - fields:
      - name: base
        type: int
      - name: len
        type: int
      item_type: struct
      name: best
      pos:
        line_end: 101
        line_start: 98
        source_file: /src/curl/lib/curlx/inet_ntop.c
    typedefs: []
    union: []
- function_names:
  - get_winsock_error
  source_file: /src/curl/lib/curlx/strerr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/curl/lib/curlx/strerr.c
      type_or_value: curl_msnprintf
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/curl/lib/curlx/strerr.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: SNPRINTF
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/curl/lib/curlx/strerr.c
      type_or_value: snprintf
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vquic/curl_osslq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vquic/curl_quiche.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_vquic_init
  source_file: /src/curl/lib/vquic/vquic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CF_CTX_CALL_DATA
  - osslq_SSL_ERROR_to_str
  - osslq_strerror
  - make_bio_addr
  - cf_osslq_stream_open
  - cf_osslq_stream_cleanup
  - cf_osslq_stream_close
  - cf_osslq_h3conn_cleanup
  - cf_osslq_ctx_init
  - cf_osslq_ctx_free
  - cf_osslq_ctx_close
  - cf_osslq_shutdown
  - cf_osslq_close
  - cf_osslq_destroy
  - cf_osslq_h3conn_add_stream
  - cf_osslq_ssl_err
  - cf_osslq_verify_peer
  - h3_stream_ctx_free
  - h3_stream_hash_free
  - h3_data_setup
  - h3_data_done
  - cf_osslq_find_stream
  - cf_osslq_get_qstream
  - h3_data_pause
  - cb_h3_stream_close
  - write_resp_raw
  - cb_h3_recv_data
  - cb_h3_deferred_consume
  - cb_h3_recv_header
  - cb_h3_end_headers
  - cb_h3_stop_sending
  - cb_h3_reset_stream
  - cb_h3_read_req_body
  - cb_h3_acked_stream_data
  - cf_osslq_h3conn_init
  - cf_osslq_ctx_start
  - h3_quic_recv
  - cf_osslq_stream_recv
  - cf_osslq_iter_recv
  - cf_progress_ingress
  - cf_osslq_collect_block_send
  - cf_osslq_check_and_unblock
  - h3_send_streams
  - cf_progress_egress
  - check_and_set_expiry
  - cf_osslq_connect
  - h3_stream_open
  - cf_osslq_send
  - recv_closed_stream
  - cf_osslq_recv
  - cf_osslq_data_pending
  - cf_osslq_cntrl
  - cf_osslq_conn_is_alive
  - cf_osslq_adjust_pollset
  - cf_osslq_query
  - Curl_cf_osslq_create
  - Curl_conn_is_osslq
  - Curl_osslq_ver
  source_file: /src/curl/lib/vquic/curl_osslq.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H3_STREAM_WINDOW_SIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/curl/lib/vquic/curl_osslq.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_CHUNK_SIZE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/curl/lib/vquic/curl_osslq.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_POOL_SPARES
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/curl/lib/vquic/curl_osslq.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE ) / 2
    - item_type: preproc_def
      name: H3_STREAM_RECV_CHUNKS
      pos:
        line_end: 81
        line_start: 79
        source_file: /src/curl/lib/vquic/curl_osslq.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE)
    - item_type: preproc_def
      name: H3_STREAM_SEND_CHUNKS
      pos:
        line_end: 83
        line_start: 81
        source_file: /src/curl/lib/vquic/curl_osslq.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE)
    - item_type: preproc_def
      name: H3_ALPN
      pos:
        line_end: 1168
        line_start: 1167
        source_file: /src/curl/lib/vquic/curl_osslq.c
      type_or_value: '"\x2h3"'
    structs:
    - fields:
      - name: id
        type: curl_int64_t
      - name: '*ssl'
        type: SSL
      - name: recvbuf
        type: struct bufq
      item_type: struct
      name: cf_osslq_stream
      pos:
        line_end: 217
        line_start: 209
        source_file: /src/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: '*conn'
        type: nghttp3_conn
      - name: settings
        type: nghttp3_settings
      - name: s_ctrl
        type: struct cf_osslq_stream
      - name: s_qpack_enc
        type: struct cf_osslq_stream
      - name: s_qpack_dec
        type: struct cf_osslq_stream
      - name: remote_ctrl[3]
        type: struct cf_osslq_stream
      - name: remote_ctrl_n
        type: size_t
      item_type: struct
      name: cf_osslq_h3conn
      pos:
        line_end: 262
        line_start: 254
        source_file: /src/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: q
        type: struct cf_quic_ctx
      - name: peer
        type: struct ssl_peer
      - name: tls
        type: struct curl_tls_ctx
      - name: call_data
        type: struct cf_call_data
      - name: h3
        type: struct cf_osslq_h3conn
      - name: started_at
        type: struct curltime
      - name: handshake_at
        type: struct curltime
      - name: first_byte_at
        type: struct curltime
      - name: stream_bufcp
        type: struct bufc_pool
      - name: streams
        type: struct uint_hash
      - name: max_stream_window
        type: size_t
      - name: '*poll_items'
        type: SSL_POLL_ITEM
      - name: '**curl_items'
        type: struct Curl_easy
      - name: items_max
        type: size_t
      item_type: struct
      name: cf_osslq_ctx
      pos:
        line_end: 299
        line_start: 278
        source_file: /src/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: s
        type: struct cf_osslq_stream
      - name: sendbuf
        type: struct bufq
      - name: recvbuf
        type: struct bufq
      - name: h1
        type: struct h1_req_parser
      - name: sendbuf_len_in_flight
        type: size_t
      - name: recv_buf_nonflow
        type: size_t
      - name: error3
        type: curl_uint64_t
      - name: upload_left
        type: curl_off_t
      - name: download_recvd
        type: curl_off_t
      - name: status_code
        type: int
      item_type: struct
      name: h3_stream_ctx
      pos:
        line_end: 591
        line_start: 575
        source_file: /src/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: stream_id
        type: curl_int64_t
      - name: '*stream'
        type: struct h3_stream_ctx
      item_type: struct
      name: cf_ossq_find_ctx
      pos:
        line_end: 669
        line_start: 666
        source_file: /src/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      - name: '*s'
        type: struct cf_osslq_stream
      item_type: struct
      name: h3_quic_recv_ctx
      pos:
        line_end: 1248
        line_start: 1244
        source_file: /src/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*multi'
        type: struct Curl_multi
      - name: result
        type: CURLcode
      item_type: struct
      name: cf_ossq_recv_ctx
      pos:
        line_end: 1396
        line_start: 1392
        source_file: /src/curl/lib/vquic/curl_osslq.c
    - fields:
      - name: '*ctx'
        type: struct cf_osslq_ctx
      - name: '*multi'
        type: struct Curl_multi
      - name: n
        type: size_t
      item_type: struct
      name: cf_ossq_fill_ctx
      pos:
        line_end: 1474
        line_start: 1470
        source_file: /src/curl/lib/vquic/curl_osslq.c
    typedefs:
    - item_type: typedef
      name: sslerr_t
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/curl/lib/vquic/curl_osslq.c
      type: uint32_t
    - item_type: typedef
      name: sslerr_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/curl/lib/vquic/curl_osslq.c
      type: unsigned long
    union: []
- function_names:
  - Curl_vquic_tls_init
  - Curl_vquic_tls_cleanup
  - Curl_vquic_tls_before_recv
  - Curl_vquic_tls_verify_peer
  - Curl_vquic_tls_get_ssl_info
  - Curl_vquic_report_handshake
  source_file: /src/curl/lib/vquic/vquic-tls.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vquic/curl_ngtcp2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Curl_quiche_ver
  - quiche_debug_log
  - cf_quiche_ctx_init
  - cf_quiche_ctx_free
  - cf_quiche_ctx_close
  - h3_stream_ctx_free
  - h3_stream_hash_free
  - cf_quiche_stream_do
  - cf_quiche_for_all_streams
  - cf_quiche_do_resume
  - cf_quiche_do_expire
  - h3_data_setup
  - h3_data_done
  - cf_quiche_expire_conn_closed
  - write_resp_raw
  - cb_each_header
  - stream_resp_read
  - cf_recv_body
  - cf_ev_name
  - cf_ev_name
  - h3_process_event
  - cf_quiche_ev_process
  - cf_quiche_disp_event
  - cf_poll_events
  - recv_pkt
  - cf_process_ingress
  - read_pkt_to_send
  - cf_flush_egress
  - recv_closed_stream
  - cf_quiche_recv
  - cf_quiche_send_body
  - h3_open_stream
  - cf_quiche_send
  - stream_is_writeable
  - cf_quiche_adjust_pollset
  - cf_quiche_data_pending
  - h3_data_pause
  - cf_quiche_cntrl
  - cf_quiche_ctx_open
  - cf_quiche_verify_peer
  - cf_quiche_connect
  - cf_quiche_shutdown
  - cf_quiche_close
  - cf_quiche_destroy
  - cf_quiche_query
  - cf_quiche_conn_is_alive
  - Curl_cf_quiche_create
  source_file: /src/curl/lib/vquic/curl_quiche.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CURL_H3_NO_ERROR
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/curl/lib/vquic/curl_quiche.c
      type_or_value: (0x0100)
    - item_type: preproc_def
      name: QUIC_MAX_STREAMS
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/curl/lib/vquic/curl_quiche.c
      type_or_value: (100)
    - item_type: preproc_def
      name: H3_STREAM_WINDOW_SIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/curl/lib/vquic/curl_quiche.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_CHUNK_SIZE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/curl/lib/vquic/curl_quiche.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_POOL_SPARES
      pos:
        line_end: 71
        line_start: 69
        source_file: /src/curl/lib/vquic/curl_quiche.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE ) / 2
    - item_type: preproc_def
      name: H3_STREAM_RECV_CHUNKS
      pos:
        line_end: 75
        line_start: 73
        source_file: /src/curl/lib/vquic/curl_quiche.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE)
    structs:
    - fields:
      - name: q
        type: struct cf_quic_ctx
      - name: peer
        type: struct ssl_peer
      - name: tls
        type: struct curl_tls_ctx
      - name: '*qconn'
        type: quiche_conn
      - name: '*cfg'
        type: quiche_config
      - name: '*h3c'
        type: quiche_h3_conn
      - name: '*h3config'
        type: quiche_h3_config
      - name: scid[QUICHE_MAX_CONN_ID_LEN]
        type: uint8_t
      - name: started_at
        type: struct curltime
      - name: handshake_at
        type: struct curltime
      - name: stream_bufcp
        type: struct bufc_pool
      - name: streams
        type: struct uint_hash
      - name: data_recvd
        type: curl_off_t
      item_type: struct
      name: cf_quiche_ctx
      pos:
        line_end: 102
        line_start: 84
        source_file: /src/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: id
        type: curl_uint64_t
      - name: recvbuf
        type: struct bufq
      - name: h1
        type: struct h1_req_parser
      - name: error3
        type: curl_uint64_t
      item_type: struct
      name: h3_stream_ctx
      pos:
        line_end: 184
        line_start: 172
        source_file: /src/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*multi'
        type: struct Curl_multi
      - name: '*cb'
        type: cf_quiche_svisit
      - name: '*user_data'
        type: void
      item_type: struct
      name: cf_quiche_visit_ctx
      pos:
        line_end: 210
        line_start: 205
        source_file: /src/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      item_type: struct
      name: cb_ctx
      pos:
        line_end: 355
        line_start: 352
        source_file: /src/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: stream_id
        type: curl_uint64_t
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*multi'
        type: struct Curl_multi
      - name: '*ev'
        type: quiche_h3_event
      - name: result
        type: CURLcode
      item_type: struct
      name: cf_quich_disp_ctx
      pos:
        line_end: 562
        line_start: 556
        source_file: /src/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      - name: pkts
        type: int
      item_type: struct
      name: recv_ctx
      pos:
        line_end: 625
        line_start: 621
        source_file: /src/curl/lib/vquic/curl_quiche.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      - name: send_info
        type: quiche_send_info
      item_type: struct
      name: read_ctx
      pos:
        line_end: 717
        line_start: 713
        source_file: /src/curl/lib/vquic/curl_quiche.c
    typedefs:
    - item_type: typedef
      name: "cf_quiche_svisit(struct Curl_cfilter *cf,\n                              struct
        Curl_easy *sdata,\n                              struct h3_stream_ctx *stream,\n
        \                             void *user_data)"
      pos:
        line_end: 203
        line_start: 200
        source_file: /src/curl/lib/vquic/curl_quiche.c
      type: bool
    union: []
- function_names:
  - H3_STREAM_CTX
  source_file: /src/curl/lib/vquic/vquic_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PKT_BURST
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/curl/lib/vquic/vquic_int.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_UDP_PAYLOAD_SIZE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/curl/lib/vquic/vquic_int.h
      type_or_value: '1452'
    structs:
    - fields:
      - name: sockfd
        type: curl_socket_t
      - name: local_addr
        type: struct sockaddr_storage
      - name: local_addrlen
        type: socklen_t
      - name: sendbuf
        type: struct bufq
      - name: first_byte_at
        type: struct curltime
      - name: last_op
        type: struct curltime
      - name: last_io
        type: struct curltime
      - name: gsolen
        type: size_t
      - name: split_len
        type: size_t
      - name: split_gsolen
        type: size_t
      item_type: struct
      name: cf_quic_ctx
      pos:
        line_end: 51
        line_start: 34
        source_file: /src/curl/lib/vquic/vquic_int.h
    typedefs:
    - item_type: typedef
      name: "vquic_recv_pkt_cb(const unsigned char *pkt, size_t pktlen,\n                                   struct
        sockaddr_storage *remote_addr,\n                                   socklen_t
        remote_addrlen, int ecn,\n                                   void *userp)"
      pos:
        line_end: 83
        line_start: 80
        source_file: /src/curl/lib/vquic/vquic_int.h
      type: CURLcode
    union: []
- function_names:
  - Curl_vquic_init
  - Curl_quic_ver
  - vquic_ctx_init
  - vquic_ctx_free
  - vquic_ctx_update_time
  - do_sendmsg
  - send_packet_no_gso
  - vquic_send_packets
  - vquic_flush
  - vquic_send
  - vquic_send_tail_split
  - vquic_msghdr_get_udp_gro
  - recvmmsg_packets
  - recvmsg_packets
  - recvfrom_packets
  - vquic_recv_packets
  - Curl_qlogdir
  - Curl_cf_quic_create
  - Curl_conn_may_http3
  - vquic_ngtcp2_malloc
  - vquic_ngtcp2_free
  - vquic_ngtcp2_calloc
  - vquic_ngtcp2_realloc
  - Curl_ngtcp2_mem
  - Curl_nghttp3_mem
  - Curl_conn_may_http3
  source_file: /src/curl/lib/vquic/vquic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NW_CHUNK_SIZE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/curl/lib/vquic/vquic.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: NW_SEND_CHUNKS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/curl/lib/vquic/vquic.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VQUIC_SEND_METHOD
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/curl/lib/vquic/vquic.c
      type_or_value: '"sendmsg"'
    - item_type: preproc_def
      name: VQUIC_SEND_METHOD
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/curl/lib/vquic/vquic.c
      type_or_value: '"send"'
    - item_type: preproc_def
      name: MMSG_NUM
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/curl/lib/vquic/vquic.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/curl/lib/vquic/vquic-tls.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: curl_tls_ctx
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/curl/lib/vquic/vquic-tls.h
    typedefs:
    - item_type: typedef
      name: "Curl_vquic_tls_ctx_setup(struct Curl_cfilter *cf,\n                                          struct
        Curl_easy *data,\n                                          void *cb_user_data)"
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/curl/lib/vquic/vquic-tls.h
      type: CURLcode
    - item_type: typedef
      name: "Curl_vquic_session_reuse_cb(struct Curl_cfilter *cf,\n                                             struct
        Curl_easy *data,\n                                             struct alpn_spec
        *alpns,\n                                             struct Curl_ssl_session
        *scs,\n                                             bool *do_early_data)"
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/curl/lib/vquic/vquic-tls.h
      type: CURLcode
    union: []
- function_names:
  - Curl_ngtcp2_ver
  - CF_CTX_CALL_DATA
  - cf_ngtcp2_ctx_init
  - cf_ngtcp2_ctx_free
  - cf_ngtcp2_setup_keep_alive
  - h3_stream_ctx_free
  - h3_stream_hash_free
  - h3_data_setup
  - cf_ngtcp2_sfind
  - cf_ngtcp2_get_stream
  - cf_ngtcp2_stream_close
  - h3_data_done
  - pktx_update_time
  - pktx_init
  - get_conn
  - quic_printf
  - qlog_callback
  - quic_settings
  - cf_ngtcp2_handshake_completed
  - cf_ngtcp2_err_is_fatal
  - cf_ngtcp2_err_set
  - cf_ngtcp2_h3_err_is_fatal
  - cf_ngtcp2_h3_err_set
  - cb_recv_stream_data
  - cb_acked_stream_data_offset
  - cb_stream_close
  - cb_stream_reset
  - cb_stream_stop_sending
  - cb_extend_max_local_streams_bidi
  - cb_extend_max_stream_data
  - cb_rand
  - cb_get_new_connection_id
  - cb_recv_rx_key
  - check_and_set_expiry
  - cf_ngtcp2_adjust_pollset
  - cb_h3_stream_close
  - h3_xfer_write_resp_hd
  - h3_xfer_write_resp
  - cb_h3_recv_data
  - cb_h3_deferred_consume
  - cb_h3_end_headers
  - cb_h3_recv_header
  - cb_h3_stop_sending
  - cb_h3_reset_stream
  - init_ngh3_conn
  - recv_closed_stream
  - cf_ngtcp2_recv
  - cb_h3_acked_req_body
  - cb_h3_read_req_body
  - h3_stream_open
  - cf_ngtcp2_send
  - recv_pkt
  - cf_progress_ingress
  - read_pkt_to_send
  - cf_progress_egress
  - h3_data_pause
  - cf_ngtcp2_cntrl
  - cf_ngtcp2_ctx_close
  - cf_ngtcp2_shutdown
  - cf_ngtcp2_conn_close
  - cf_ngtcp2_close
  - cf_ngtcp2_destroy
  - quic_ossl_new_session_cb
  - gtls_hs_msg_name
  - quic_gtls_handshake_cb
  - wssl_quic_new_session_cb
  - cf_ngtcp2_tls_ctx_setup
  - cf_ngtcp2_on_session_reuse
  - cf_connect_start
  - cf_ngtcp2_connect
  - cf_ngtcp2_query
  - cf_ngtcp2_conn_is_alive
  - Curl_cf_ngtcp2_create
  - Curl_conn_is_ngtcp2
  source_file: /src/curl/lib/vquic/curl_ngtcp2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QUIC_MAX_STREAMS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (256*1024)
    - item_type: preproc_def
      name: QUIC_HANDSHAKE_TIMEOUT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (10*NGTCP2_SECONDS)
    - item_type: preproc_def
      name: H3_STREAM_WINDOW_SIZE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_CHUNK_SIZE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (16 * 1024)
    - item_type: preproc_def
      name: H3_STREAM_POOL_SPARES
      pos:
        line_end: 99
        line_start: 97
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE ) / 2
    - item_type: preproc_def
      name: H3_STREAM_SEND_CHUNKS
      pos:
        line_end: 103
        line_start: 101
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: (H3_STREAM_WINDOW_SIZE / H3_STREAM_CHUNK_SIZE)
    - item_type: preproc_def
      name: MAX_PKT_BURST
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
      type_or_value: '10'
    structs:
    - fields:
      - name: q
        type: struct cf_quic_ctx
      - name: peer
        type: struct ssl_peer
      - name: tls
        type: struct curl_tls_ctx
      - name: connected_path
        type: ngtcp2_path
      - name: '*qconn'
        type: ngtcp2_conn
      - name: dcid
        type: ngtcp2_cid
      - name: scid
        type: ngtcp2_cid
      - name: version
        type: uint32_t
      - name: settings
        type: ngtcp2_settings
      - name: transport_params
        type: ngtcp2_transport_params
      - name: last_error
        type: ngtcp2_ccerr
      - name: conn_ref
        type: ngtcp2_crypto_conn_ref
      - name: call_data
        type: struct cf_call_data
      - name: '*h3conn'
        type: nghttp3_conn
      - name: h3settings
        type: nghttp3_settings
      - name: started_at
        type: struct curltime
      - name: handshake_at
        type: struct curltime
      - name: stream_bufcp
        type: struct bufc_pool
      - name: scratch
        type: struct dynbuf
      - name: streams
        type: struct uint_hash
      - name: max_stream_window
        type: size_t
      - name: used_bidi_streams
        type: uint64_t
      - name: max_bidi_streams
        type: uint64_t
      - name: earlydata_max
        type: size_t
      - name: earlydata_skip
        type: size_t
      - name: tls_vrfy_result
        type: CURLcode
      - name: qlogfd
        type: int
      item_type: struct
      name: cf_ngtcp2_ctx
      pos:
        line_end: 154
        line_start: 116
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
    - fields:
      - name: id
        type: curl_int64_t
      - name: sendbuf
        type: struct bufq
      - name: h1
        type: struct h1_req_parser
      - name: sendbuf_len_in_flight
        type: size_t
      - name: error3
        type: curl_uint64_t
      - name: upload_left
        type: curl_off_t
      - name: status_code
        type: int
      - name: xfer_result
        type: CURLcode
      item_type: struct
      name: h3_stream_ctx
      pos:
        line_end: 252
        line_start: 238
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
    - fields:
      - name: stream_id
        type: curl_int64_t
      - name: '*stream'
        type: struct h3_stream_ctx
      - name: mid
        type: unsigned int
      item_type: struct
      name: cf_ngtcp2_sfind_ctx
      pos:
        line_end: 306
        line_start: 302
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
    - fields:
      - name: '*cf'
        type: struct Curl_cfilter
      - name: '*data'
        type: struct Curl_easy
      - name: ts
        type: ngtcp2_tstamp
      - name: ps
        type: ngtcp2_path_storage
      item_type: struct
      name: pkt_io_ctx
      pos:
        line_end: 377
        line_start: 372
        source_file: /src/curl/lib/vquic/curl_ngtcp2.c
    typedefs: []
    union: []
